AWS SDK

AWS SDK

rev. 628eeeeeed390f5efdbfe607c18848c033debd3e

Files changed:

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

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

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

@@ -1,0 +9307,11586 @@
    1         -
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
    2      0   
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
    3      1   
deleted file mode 100644
    4      2   
index 8096609..0000000
    5         -
-- 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
           3  +
++ /dev/null
    6      4   
@@ -1,4 +0,0 @@
    7         -
GET /./example HTTP/1.1
    8         -
Host:example.amazonaws.com
    9         -
X-Amz-Date:20150830T123600Z
   10         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 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/get-slash.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.authz
   12      6   
deleted file mode 100644
   13      7   
index 551c027..0000000
   14         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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/get-slash.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq
   18     11   
deleted file mode 100644
   19     12   
index cde31b4..0000000
   20         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq
          13  +
++ /dev/null
   21     14   
@@ -1,4 +0,0 @@
   22         -
GET // 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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
   27     16   
deleted file mode 100644
   28     17   
index 307c105..0000000
   29         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.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=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 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-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
   33     21   
deleted file mode 100644
   34     22   
index c84a80d..0000000
   35         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq
          23  +
++ /dev/null
   36     24   
@@ -1,4 +0,0 @@
   37         -
GET //example// 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=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 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-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
   42     26   
deleted file mode 100644
   43     27   
index 832d8a5..0000000
   44         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.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=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 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-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
   48     31   
deleted file mode 100644
   49     32   
index eefa20c..0000000
   50         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq
          33  +
++ /dev/null
   51     34   
@@ -1,4 +0,0 @@
   52         -
GET /example space/ 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=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 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/normalize-path.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt
   57     36   
deleted file mode 100644
   58     37   
index c2fcb27..0000000
   59         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt
          38  +
++ /dev/null
   60     39   
@@ -1,3 +0,0 @@
   61         -
A note about signing requests to Amazon S3:
   62         -

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

  130         -
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).
  131         -

  132         -
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.
  133         -

  134         -
The test suite has 2 examples:
  135         -

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

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

  140         -
The test suite uses this example value for X-Amz-Security-Token:
  141         -

  142         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 No newline at end of file
  143     85   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-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
  144     86   
deleted file mode 100644
  145     87   
index 44280cd..0000000
  146         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz
          88  +
++ /dev/null
  147     89   
@@ -1 +0,0 @@
  148         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
  149     90   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-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
  150     91   
deleted file mode 100644
  151     92   
index 82af150..0000000
  152         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq
          93  +
++ /dev/null
  153     94   
@@ -1,4 +0,0 @@
  154         -
POST /?Param1=value1 HTTP/1.1
  155         -
Host:example.amazonaws.com
  156         -
X-Amz-Date:20150830T123600Z
  157         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
  158     95   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-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
  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-query/post-vanilla-query.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-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
  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-query/post-vanilla-query.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/post-vanilla.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
  174    106   
deleted file mode 100644
  175    107   
index 89e572e..0000000
  176         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.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=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 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/post-vanilla.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
  180    111   
deleted file mode 100644
  181    112   
index a5ada0d..0000000
  182         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
         113  +
++ /dev/null
  183    114   
@@ -1,4 +0,0 @@
  184         -
POST / 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=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 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-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
  189    116   
deleted file mode 100644
  190    117   
index df90ca3..0000000
  191         -
-- 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
         118  +
++ /dev/null
  192    119   
@@ -1 +0,0 @@
  193         -
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
  194    120   
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
  195    121   
deleted file mode 100644
  196    122   
index 457b0d5..0000000
  197         -
-- 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
         123  +
++ /dev/null
  198    124   
@@ -1,9 +0,0 @@
  199         -
POST
  200         -
/
  201         -
Param1=value1
  202         -
content-type:application/x-www-form-urlencoded; charset=utf-8
  203         -
host:example.amazonaws.com
  204         -
x-amz-date:20150830T123600Z
  205         -
  206         -
content-type;host;x-amz-date
  207         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  208    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.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
  209    126   
deleted file mode 100644
  210    127   
index b8ecb89..0000000
  211         -
-- 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
         128  +
++ /dev/null
  212    129   
@@ -1,7 +0,0 @@
  213         -
POST / HTTP/1.1
  214         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  215         -
Host:example.amazonaws.com
  216         -
X-Amz-Date:20150830T123600Z
  217         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  218         -
  219         -
Param1=value1
              \
 No newline at end of file
  220    130   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.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
  221    131   
deleted file mode 100644
  222    132   
index 79077d2..0000000
  223         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz
         133  +
++ /dev/null
  224    134   
@@ -1 +0,0 @@
  225         -
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
  226    135   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.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
  227    136   
deleted file mode 100644
  228    137   
index 7852617..0000000
  229         -
-- 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
         138  +
++ /dev/null
  230    139   
@@ -1,4 +0,0 @@
  231         -
POST / HTTP/1.1
  232         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  233         -
Host:example.amazonaws.com
  234         -
X-Amz-Date:20150830T123600Z
              \
 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.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
  236    141   
deleted file mode 100644
  237    142   
index 3e2e571..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.sreq
         143  +
++ /dev/null
  239    144   
@@ -1,4 +0,0 @@
  240         -
POST / HTTP/1.1
  241         -
Host:example.amazonaws.com
  242         -
X-Amz-Date:20150830T123600Z
  243         -
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
  244    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.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
  245    146   
deleted file mode 100644
  246    147   
index 89ceae8..0000000
  247         -
-- 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
         148  +
++ /dev/null
  248    149   
@@ -1,4 +0,0 @@
  249         -
AWS4-HMAC-SHA256
  250         -
20150830T123600Z
  251         -
20150830/us-east-1/service/aws4_request
  252         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  253    150   
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
  254    151   
deleted file mode 100755
  255    152   
index d645695..0000000
  256         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
         153  +
++ /dev/null
  257    154   
@@ -1,202 +0,0 @@
  258         -
  259         -
                                 Apache License
  260         -
                           Version 2.0, January 2004
  261         -
                        http://www.apache.org/licenses/
  262         -
  263         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  264         -
  265         -
   1. Definitions.
  266         -
  267         -
      "License" shall mean the terms and conditions for use, reproduction,
  268         -
      and distribution as defined by Sections 1 through 9 of this document.
  269         -
  270         -
      "Licensor" shall mean the copyright owner or entity authorized by
  271         -
      the copyright owner that is granting the License.
  272         -
  273         -
      "Legal Entity" shall mean the union of the acting entity and all
  274         -
      other entities that control, are controlled by, or are under common
  275         -
      control with that entity. For the purposes of this definition,
  276         -
      "control" means (i) the power, direct or indirect, to cause the
  277         -
      direction or management of such entity, whether by contract or
  278         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  279         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  280         -
  281         -
      "You" (or "Your") shall mean an individual or Legal Entity
  282         -
      exercising permissions granted by this License.
  283         -
  284         -
      "Source" form shall mean the preferred form for making modifications,
  285         -
      including but not limited to software source code, documentation
  286         -
      source, and configuration files.
  287         -
  288         -
      "Object" form shall mean any form resulting from mechanical
  289         -
      transformation or translation of a Source form, including but
  290         -
      not limited to compiled object code, generated documentation,
  291         -
      and conversions to other media types.
  292         -
  293         -
      "Work" shall mean the work of authorship, whether in Source or
  294         -
      Object form, made available under the License, as indicated by a
  295         -
      copyright notice that is included in or attached to the work
  296         -
      (an example is provided in the Appendix below).
  297         -
  298         -
      "Derivative Works" shall mean any work, whether in Source or Object
  299         -
      form, that is based on (or derived from) the Work and for which the
  300         -
      editorial revisions, annotations, elaborations, or other modifications
  301         -
      represent, as a whole, an original work of authorship. For the purposes
  302         -
      of this License, Derivative Works shall not include works that remain
  303         -
      separable from, or merely link (or bind by name) to the interfaces of,
  304         -
      the Work and Derivative Works thereof.
  305         -
  306         -
      "Contribution" shall mean any work of authorship, including
  307         -
      the original version of the Work and any modifications or additions
  308         -
      to that Work or Derivative Works thereof, that is intentionally
  309         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  310         -
      or by an individual or Legal Entity authorized to submit on behalf of
  311         -
      the copyright owner. For the purposes of this definition, "submitted"
  312         -
      means any form of electronic, verbal, or written communication sent
  313         -
      to the Licensor or its representatives, including but not limited to
  314         -
      communication on electronic mailing lists, source code control systems,
  315         -
      and issue tracking systems that are managed by, or on behalf of, the
  316         -
      Licensor for the purpose of discussing and improving the Work, but
  317         -
      excluding communication that is conspicuously marked or otherwise
  318         -
      designated in writing by the copyright owner as "Not a Contribution."
  319         -
  320         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  321         -
      on behalf of whom a Contribution has been received by Licensor and
  322         -
      subsequently incorporated within the Work.
  323         -
  324         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  325         -
      this License, each Contributor hereby grants to You a perpetual,
  326         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  327         -
      copyright license to reproduce, prepare Derivative Works of,
  328         -
      publicly display, publicly perform, sublicense, and distribute the
  329         -
      Work and such Derivative Works in Source or Object form.
  330         -
  331         -
   3. Grant of Patent License. Subject to the terms and conditions of
  332         -
      this License, each Contributor hereby grants to You a perpetual,
  333         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  334         -
      (except as stated in this section) patent license to make, have made,
  335         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  336         -
      where such license applies only to those patent claims licensable
  337         -
      by such Contributor that are necessarily infringed by their
  338         -
      Contribution(s) alone or by combination of their Contribution(s)
  339         -
      with the Work to which such Contribution(s) was submitted. If You
  340         -
      institute patent litigation against any entity (including a
  341         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  342         -
      or a Contribution incorporated within the Work constitutes direct
  343         -
      or contributory patent infringement, then any patent licenses
  344         -
      granted to You under this License for that Work shall terminate
  345         -
      as of the date such litigation is filed.
  346         -
  347         -
   4. Redistribution. You may reproduce and distribute copies of the
  348         -
      Work or Derivative Works thereof in any medium, with or without
  349         -
      modifications, and in Source or Object form, provided that You
  350         -
      meet the following conditions:
  351         -
  352         -
      (a) You must give any other recipients of the Work or
  353         -
          Derivative Works a copy of this License; and
  354         -
  355         -
      (b) You must cause any modified files to carry prominent notices
  356         -
          stating that You changed the files; and
  357         -
  358         -
      (c) You must retain, in the Source form of any Derivative Works
  359         -
          that You distribute, all copyright, patent, trademark, and
  360         -
          attribution notices from the Source form of the Work,
  361         -
          excluding those notices that do not pertain to any part of
  362         -
          the Derivative Works; and
  363         -
  364         -
      (d) If the Work includes a "NOTICE" text file as part of its
  365         -
          distribution, then any Derivative Works that You distribute must
  366         -
          include a readable copy of the attribution notices contained
  367         -
          within such NOTICE file, excluding those notices that do not
  368         -
          pertain to any part of the Derivative Works, in at least one
  369         -
          of the following places: within a NOTICE text file distributed
  370         -
          as part of the Derivative Works; within the Source form or
  371         -
          documentation, if provided along with the Derivative Works; or,
  372         -
          within a display generated by the Derivative Works, if and
  373         -
          wherever such third-party notices normally appear. The contents
  374         -
          of the NOTICE file are for informational purposes only and
  375         -
          do not modify the License. You may add Your own attribution
  376         -
          notices within Derivative Works that You distribute, alongside
  377         -
          or as an addendum to the NOTICE text from the Work, provided
  378         -
          that such additional attribution notices cannot be construed
  379         -
          as modifying the License.
  380         -
  381         -
      You may add Your own copyright statement to Your modifications and
  382         -
      may provide additional or different license terms and conditions
  383         -
      for use, reproduction, or distribution of Your modifications, or
  384         -
      for any such Derivative Works as a whole, provided Your use,
  385         -
      reproduction, and distribution of the Work otherwise complies with
  386         -
      the conditions stated in this License.
  387         -
  388         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  389         -
      any Contribution intentionally submitted for inclusion in the Work
  390         -
      by You to the Licensor shall be under the terms and conditions of
  391         -
      this License, without any additional terms or conditions.
  392         -
      Notwithstanding the above, nothing herein shall supersede or modify
  393         -
      the terms of any separate license agreement you may have executed
  394         -
      with Licensor regarding such Contributions.
  395         -
  396         -
   6. Trademarks. This License does not grant permission to use the trade
  397         -
      names, trademarks, service marks, or product names of the Licensor,
  398         -
      except as required for reasonable and customary use in describing the
  399         -
      origin of the Work and reproducing the content of the NOTICE file.
  400         -
  401         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  402         -
      agreed to in writing, Licensor provides the Work (and each
  403         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  404         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  405         -
      implied, including, without limitation, any warranties or conditions
  406         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  407         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  408         -
      appropriateness of using or redistributing the Work and assume any
  409         -
      risks associated with Your exercise of permissions under this License.
  410         -
  411         -
   8. Limitation of Liability. In no event and under no legal theory,
  412         -
      whether in tort (including negligence), contract, or otherwise,
  413         -
      unless required by applicable law (such as deliberate and grossly
  414         -
      negligent acts) or agreed to in writing, shall any Contributor be
  415         -
      liable to You for damages, including any direct, indirect, special,
  416         -
      incidental, or consequential damages of any character arising as a
  417         -
      result of this License or out of the use or inability to use the
  418         -
      Work (including but not limited to damages for loss of goodwill,
  419         -
      work stoppage, computer failure or malfunction, or any and all
  420         -
      other commercial damages or losses), even if such Contributor
  421         -
      has been advised of the possibility of such damages.
  422         -
  423         -
   9. Accepting Warranty or Additional Liability. While redistributing
  424         -
      the Work or Derivative Works thereof, You may choose to offer,
  425         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  426         -
      or other liability obligations and/or rights consistent with this
  427         -
      License. However, in accepting such obligations, You may act only
  428         -
      on Your own behalf and on Your sole responsibility, not on behalf
  429         -
      of any other Contributor, and only if You agree to indemnify,
  430         -
      defend, and hold each Contributor harmless for any liability
  431         -
      incurred by, or claims asserted against, such Contributor by reason
  432         -
      of your accepting any such warranty or additional liability.
  433         -
  434         -
   END OF TERMS AND CONDITIONS
  435         -
  436         -
   APPENDIX: How to apply the Apache License to your work.
  437         -
  438         -
      To apply the Apache License to your work, attach the following
  439         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  440         -
      replaced with your own identifying information. (Don't include
  441         -
      the brackets!)  The text should be enclosed in the appropriate
  442         -
      comment syntax for the file format. We also recommend that a
  443         -
      file or class name and description of purpose be included on the
  444         -
      same "printed page" as the copyright notice for easier
  445         -
      identification within third-party archives.
  446         -
  447         -
   Copyright [yyyy] [name of copyright owner]
  448         -
  449         -
   Licensed under the Apache License, Version 2.0 (the "License");
  450         -
   you may not use this file except in compliance with the License.
  451         -
   You may obtain a copy of the License at
  452         -
  453         -
       http://www.apache.org/licenses/LICENSE-2.0
  454         -
  455         -
   Unless required by applicable law or agreed to in writing, software
  456         -
   distributed under the License is distributed on an "AS IS" BASIS,
  457         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  458         -
   See the License for the specific language governing permissions and
  459         -
   limitations under the License.
  460    155   
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
  461    156   
deleted file mode 100755
  462    157   
index d85f69e..0000000
  463         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
         158  +
++ /dev/null
  464    159   
@@ -1,2 +0,0 @@
  465         -
AWS Signature Version 4a Test Suite
  466         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  467    160   
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
  468    161   
deleted file mode 100644
  469    162   
index c716622..0000000
  470         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
         163  +
++ /dev/null
  471    164   
@@ -1,24 +0,0 @@
  472         -
Where did the files in this directory come from?
  473         -
================================================
  474         -
  475         -
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.
  476         -
  477         -
Signature Version 4A Test Suite
  478         -
------------------------------
  479         -
  480         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  481         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  482         -
  483         -
Each test group contains several files that you can use to validate most of the tasks described in
  484         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  485         -
  486         -
- context.json - Credentials and signer options to use when signing test requests
  487         -
- request.txt - The web request to be signed.
  488         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  489         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  490         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  491         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  492         -
  493         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  494         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  495         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  496    165   
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
  497    166   
deleted file mode 100644
  498    167   
index 45771c7..0000000
  499         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
         168  +
++ /dev/null
  500    169   
@@ -1,12 +0,0 @@
  501         -
{
  502         -
    "credentials": {
  503         -
        "access_key_id": "AKIDEXAMPLE",
  504         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  505         -
    },
  506         -
    "expiration_in_seconds": 3600,
  507         -
    "normalize": true,
  508         -
    "region": "us-east-1",
  509         -
    "service": "service",
  510         -
    "sign_body": false,
  511         -
    "timestamp": "2015-08-30T12:36:00Z"
  512         -
}
  513    170   
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
  514    171   
deleted file mode 100644
  515    172   
index 45771c7..0000000
  516         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
         173  +
++ /dev/null
  517    174   
@@ -1,12 +0,0 @@
  518         -
{
  519         -
    "credentials": {
  520         -
        "access_key_id": "AKIDEXAMPLE",
  521         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  522         -
    },
  523         -
    "expiration_in_seconds": 3600,
  524         -
    "normalize": true,
  525         -
    "region": "us-east-1",
  526         -
    "service": "service",
  527         -
    "sign_body": false,
  528         -
    "timestamp": "2015-08-30T12:36:00Z"
  529         -
}
  530    175   
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
  531    176   
deleted file mode 100644
  532    177   
index 45771c7..0000000
  533         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         178  +
++ /dev/null
  534    179   
@@ -1,12 +0,0 @@
  535         -
{
  536         -
    "credentials": {
  537         -
        "access_key_id": "AKIDEXAMPLE",
  538         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  539         -
    },
  540         -
    "expiration_in_seconds": 3600,
  541         -
    "normalize": true,
  542         -
    "region": "us-east-1",
  543         -
    "service": "service",
  544         -
    "sign_body": false,
  545         -
    "timestamp": "2015-08-30T12:36:00Z"
  546         -
}
  547    180   
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
  548    181   
deleted file mode 100644
  549    182   
index 45771c7..0000000
  550         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         183  +
++ /dev/null
  551    184   
@@ -1,12 +0,0 @@
  552         -
{
  553         -
    "credentials": {
  554         -
        "access_key_id": "AKIDEXAMPLE",
  555         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  556         -
    },
  557         -
    "expiration_in_seconds": 3600,
  558         -
    "normalize": true,
  559         -
    "region": "us-east-1",
  560         -
    "service": "service",
  561         -
    "sign_body": false,
  562         -
    "timestamp": "2015-08-30T12:36:00Z"
  563         -
}
  564    185   
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
  565    186   
deleted file mode 100644
  566    187   
index afe367b..0000000
  567         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         188  +
++ /dev/null
  568    189   
@@ -1,12 +0,0 @@
  569         -
{
  570         -
    "credentials": {
  571         -
        "access_key_id": "AKIDEXAMPLE",
  572         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  573         -
    },
  574         -
    "expiration_in_seconds": 3600,
  575         -
    "normalize": false,
  576         -
    "region": "us-east-1",
  577         -
    "service": "service",
  578         -
    "sign_body": false,
  579         -
    "timestamp": "2015-08-30T12:36:00Z"
  580         -
}
  581    190   
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
  582    191   
deleted file mode 100644
  583    192   
index 45771c7..0000000
  584         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         193  +
++ /dev/null
  585    194   
@@ -1,12 +0,0 @@
  586         -
{
  587         -
    "credentials": {
  588         -
        "access_key_id": "AKIDEXAMPLE",
  589         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  590         -
    },
  591         -
    "expiration_in_seconds": 3600,
  592         -
    "normalize": true,
  593         -
    "region": "us-east-1",
  594         -
    "service": "service",
  595         -
    "sign_body": false,
  596         -
    "timestamp": "2015-08-30T12:36:00Z"
  597         -
}
  598    195   
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
  599    196   
deleted file mode 100644
  600    197   
index afe367b..0000000
  601         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         198  +
++ /dev/null
  602    199   
@@ -1,12 +0,0 @@
  603         -
{
  604         -
    "credentials": {
  605         -
        "access_key_id": "AKIDEXAMPLE",
  606         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  607         -
    },
  608         -
    "expiration_in_seconds": 3600,
  609         -
    "normalize": false,
  610         -
    "region": "us-east-1",
  611         -
    "service": "service",
  612         -
    "sign_body": false,
  613         -
    "timestamp": "2015-08-30T12:36:00Z"
  614         -
}
  615    200   
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
  616    201   
deleted file mode 100644
  617    202   
index 45771c7..0000000
  618         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         203  +
++ /dev/null
  619    204   
@@ -1,12 +0,0 @@
  620         -
{
  621         -
    "credentials": {
  622         -
        "access_key_id": "AKIDEXAMPLE",
  623         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  624         -
    },
  625         -
    "expiration_in_seconds": 3600,
  626         -
    "normalize": true,
  627         -
    "region": "us-east-1",
  628         -
    "service": "service",
  629         -
    "sign_body": false,
  630         -
    "timestamp": "2015-08-30T12:36:00Z"
  631         -
}
  632    205   
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
  633    206   
deleted file mode 100644
  634    207   
index 45771c7..0000000
  635         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         208  +
++ /dev/null
  636    209   
@@ -1,12 +0,0 @@
  637         -
{
  638         -
    "credentials": {
  639         -
        "access_key_id": "AKIDEXAMPLE",
  640         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  641         -
    },
  642         -
    "expiration_in_seconds": 3600,
  643         -
    "normalize": true,
  644         -
    "region": "us-east-1",
  645         -
    "service": "service",
  646         -
    "sign_body": false,
  647         -
    "timestamp": "2015-08-30T12:36:00Z"
  648         -
}
  649    210   
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
  650    211   
deleted file mode 100644
  651    212   
index 45771c7..0000000
  652         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         213  +
++ /dev/null
  653    214   
@@ -1,12 +0,0 @@
  654         -
{
  655         -
    "credentials": {
  656         -
        "access_key_id": "AKIDEXAMPLE",
  657         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  658         -
    },
  659         -
    "expiration_in_seconds": 3600,
  660         -
    "normalize": true,
  661         -
    "region": "us-east-1",
  662         -
    "service": "service",
  663         -
    "sign_body": false,
  664         -
    "timestamp": "2015-08-30T12:36:00Z"
  665         -
}
  666    215   
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
  667    216   
deleted file mode 100644
  668    217   
index 45771c7..0000000
  669         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         218  +
++ /dev/null
  670    219   
@@ -1,12 +0,0 @@
  671         -
{
  672         -
    "credentials": {
  673         -
        "access_key_id": "AKIDEXAMPLE",
  674         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  675         -
    },
  676         -
    "expiration_in_seconds": 3600,
  677         -
    "normalize": true,
  678         -
    "region": "us-east-1",
  679         -
    "service": "service",
  680         -
    "sign_body": false,
  681         -
    "timestamp": "2015-08-30T12:36:00Z"
  682         -
}
  683    220   
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
  684    221   
deleted file mode 100644
  685    222   
index 45771c7..0000000
  686         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         223  +
++ /dev/null
  687    224   
@@ -1,12 +0,0 @@
  688         -
{
  689         -
    "credentials": {
  690         -
        "access_key_id": "AKIDEXAMPLE",
  691         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  692         -
    },
  693         -
    "expiration_in_seconds": 3600,
  694         -
    "normalize": true,
  695         -
    "region": "us-east-1",
  696         -
    "service": "service",
  697         -
    "sign_body": false,
  698         -
    "timestamp": "2015-08-30T12:36:00Z"
  699         -
}
  700    225   
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
  701    226   
deleted file mode 100644
  702    227   
index 47e7128..0000000
  703         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         228  +
++ /dev/null
  704    229   
@@ -1,9 +0,0 @@
  705         -
GET
  706         -
/
  707         -
  708         -
host:example.amazonaws.com
  709         -
x-amz-date:20150830T123600Z
  710         -
x-amz-region-set:us-east-1
  711         -
  712         -
host;x-amz-date;x-amz-region-set
  713         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  714    230   
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
  715    231   
deleted file mode 100644
  716    232   
index 95d7219..0000000
  717         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         233  +
++ /dev/null
  718    234   
@@ -1,4 +0,0 @@
  719         -
AWS4-ECDSA-P256-SHA256
  720         -
20150830T123600Z
  721         -
20150830/service/aws4_request
  722         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  723    235   
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
  724    236   
deleted file mode 100644
  725    237   
index a34ea26..0000000
  726         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         238  +
++ /dev/null
  727    239   
@@ -1,7 +0,0 @@
  728         -
GET
  729         -
/
  730         -
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
  731         -
host:example.amazonaws.com
  732         -
  733         -
host
  734         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  735    240   
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
  736    241   
deleted file mode 100644
  737    242   
index 48f855c..0000000
  738         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         243  +
++ /dev/null
  739    244   
@@ -1,4 +0,0 @@
  740         -
AWS4-ECDSA-P256-SHA256
  741         -
20150830T123600Z
  742         -
20150830/service/aws4_request
  743         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  744    245   
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
  745    246   
deleted file mode 100644
  746    247   
index 45771c7..0000000
  747         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         248  +
++ /dev/null
  748    249   
@@ -1,12 +0,0 @@
  749         -
{
  750         -
    "credentials": {
  751         -
        "access_key_id": "AKIDEXAMPLE",
  752         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  753         -
    },
  754         -
    "expiration_in_seconds": 3600,
  755         -
    "normalize": true,
  756         -
    "region": "us-east-1",
  757         -
    "service": "service",
  758         -
    "sign_body": false,
  759         -
    "timestamp": "2015-08-30T12:36:00Z"
  760         -
}
  761    250   
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
  762    251   
deleted file mode 100644
  763    252   
index 47e7128..0000000
  764         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         253  +
++ /dev/null
  765    254   
@@ -1,9 +0,0 @@
  766         -
GET
  767         -
/
  768         -
  769         -
host:example.amazonaws.com
  770         -
x-amz-date:20150830T123600Z
  771         -
x-amz-region-set:us-east-1
  772         -
  773         -
host;x-amz-date;x-amz-region-set
  774         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  775    255   
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
  776    256   
deleted file mode 100644
  777    257   
index 95d7219..0000000
  778         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         258  +
++ /dev/null
  779    259   
@@ -1,4 +0,0 @@
  780         -
AWS4-ECDSA-P256-SHA256
  781         -
20150830T123600Z
  782         -
20150830/service/aws4_request
  783         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  784    260   
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
  785    261   
deleted file mode 100644
  786    262   
index a34ea26..0000000
  787         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         263  +
++ /dev/null
  788    264   
@@ -1,7 +0,0 @@
  789         -
GET
  790         -
/
  791         -
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
  792         -
host:example.amazonaws.com
  793         -
  794         -
host
  795         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  796    265   
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
  797    266   
deleted file mode 100644
  798    267   
index 48f855c..0000000
  799         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         268  +
++ /dev/null
  800    269   
@@ -1,4 +0,0 @@
  801         -
AWS4-ECDSA-P256-SHA256
  802         -
20150830T123600Z
  803         -
20150830/service/aws4_request
  804         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  805    270   
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
  806    271   
deleted file mode 100644
  807    272   
index 45771c7..0000000
  808         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         273  +
++ /dev/null
  809    274   
@@ -1,12 +0,0 @@
  810         -
{
  811         -
    "credentials": {
  812         -
        "access_key_id": "AKIDEXAMPLE",
  813         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  814         -
    },
  815         -
    "expiration_in_seconds": 3600,
  816         -
    "normalize": true,
  817         -
    "region": "us-east-1",
  818         -
    "service": "service",
  819         -
    "sign_body": false,
  820         -
    "timestamp": "2015-08-30T12:36:00Z"
  821         -
}
  822    275   
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
  823    276   
deleted file mode 100644
  824    277   
index 45771c7..0000000
  825         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         278  +
++ /dev/null
  826    279   
@@ -1,12 +0,0 @@
  827         -
{
  828         -
    "credentials": {
  829         -
        "access_key_id": "AKIDEXAMPLE",
  830         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  831         -
    },
  832         -
    "expiration_in_seconds": 3600,
  833         -
    "normalize": true,
  834         -
    "region": "us-east-1",
  835         -
    "service": "service",
  836         -
    "sign_body": false,
  837         -
    "timestamp": "2015-08-30T12:36:00Z"
  838         -
}
  839    280   
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
  840    281   
deleted file mode 100644
  841    282   
index 45771c7..0000000
  842         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         283  +
++ /dev/null
  843    284   
@@ -1,12 +0,0 @@
  844         -
{
  845         -
    "credentials": {
  846         -
        "access_key_id": "AKIDEXAMPLE",
  847         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  848         -
    },
  849         -
    "expiration_in_seconds": 3600,
  850         -
    "normalize": true,
  851         -
    "region": "us-east-1",
  852         -
    "service": "service",
  853         -
    "sign_body": false,
  854         -
    "timestamp": "2015-08-30T12:36:00Z"
  855         -
}
  856    285   
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
  857    286   
deleted file mode 100644
  858    287   
index 45771c7..0000000
  859         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         288  +
++ /dev/null
  860    289   
@@ -1,12 +0,0 @@
  861         -
{
  862         -
    "credentials": {
  863         -
        "access_key_id": "AKIDEXAMPLE",
  864         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  865         -
    },
  866         -
    "expiration_in_seconds": 3600,
  867         -
    "normalize": true,
  868         -
    "region": "us-east-1",
  869         -
    "service": "service",
  870         -
    "sign_body": false,
  871         -
    "timestamp": "2015-08-30T12:36:00Z"
  872         -
}
  873    290   
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
  874    291   
deleted file mode 100644
  875    292   
index 45771c7..0000000
  876         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         293  +
++ /dev/null
  877    294   
@@ -1,12 +0,0 @@
  878         -
{
  879         -
    "credentials": {
  880         -
        "access_key_id": "AKIDEXAMPLE",
  881         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  882         -
    },
  883         -
    "expiration_in_seconds": 3600,
  884         -
    "normalize": true,
  885         -
    "region": "us-east-1",
  886         -
    "service": "service",
  887         -
    "sign_body": false,
  888         -
    "timestamp": "2015-08-30T12:36:00Z"
  889         -
}
  890    295   
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
  891    296   
deleted file mode 100644
  892    297   
index 45771c7..0000000
  893         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         298  +
++ /dev/null
  894    299   
@@ -1,12 +0,0 @@
  895         -
{
  896         -
    "credentials": {
  897         -
        "access_key_id": "AKIDEXAMPLE",
  898         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  899         -
    },
  900         -
    "expiration_in_seconds": 3600,
  901         -
    "normalize": true,
  902         -
    "region": "us-east-1",
  903         -
    "service": "service",
  904         -
    "sign_body": false,
  905         -
    "timestamp": "2015-08-30T12:36:00Z"
  906         -
}
  907    300   
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
  908    301   
deleted file mode 100644
  909    302   
index b6fdecf..0000000
  910         -
-- 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
         303  +
++ /dev/null
  911    304   
@@ -1,4 +0,0 @@
  912         -
AWS4-ECDSA-P256-SHA256
  913         -
20150830T123600Z
  914         -
20150830/service/aws4_request
  915         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  916    305   
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
  917    306   
deleted file mode 100644
  918    307   
index a300bea..0000000
  919         -
-- 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
         308  +
++ /dev/null
  920    309   
@@ -1,4 +0,0 @@
  921         -
AWS4-ECDSA-P256-SHA256
  922         -
20150830T123600Z
  923         -
20150830/service/aws4_request
  924         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
  925    310   
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
  926    311   
deleted file mode 100644
  927    312   
index b6fdecf..0000000
  928         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         313  +
++ /dev/null
  929    314   
@@ -1,4 +0,0 @@
  930         -
AWS4-ECDSA-P256-SHA256
  931         -
20150830T123600Z
  932         -
20150830/service/aws4_request
  933         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  934    315   
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
  935    316   
new file mode 100644
  936    317   
index 0000000..a674243
  937         -
-- /dev/null
         318  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  938    319   
@@ -0,0 +1,7 @@
         320  +
# AWS SigV4 and SigV4A Signing Test Suite
         321  +
         322  +
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).
         323  +
         324  +
We added the following changes:
         325  +
         326  +
* 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
  939    327   
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
  940    328   
similarity index 100%
  941    329   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
  942    330   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  943    331   
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
  944    332   
similarity index 100%
  945    333   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
  946    334   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  947    335   
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
  948    336   
similarity index 100%
  949    337   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
  950    338   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  951    339   
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
  952    340   
similarity index 100%
  953    341   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
  954    342   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
  955    343   
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
  956    344   
similarity index 100%
  957    345   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
  958    346   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
  959    347   
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
  960    348   
similarity index 100%
  961    349   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
  962    350   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
  963    351   
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
  964    352   
similarity index 100%
  965    353   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
  966    354   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
  967    355   
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
  968    356   
similarity index 99%
  969    357   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
  970    358   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  971    359   
index 45771c7..0468d80 100644
  972         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
         360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  973    361   
@@ -1,12 +1,12 @@
  974    362   
{
  975    363   
    "credentials": {
  976    364   
        "access_key_id": "AKIDEXAMPLE",
  977    365   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  978    366   
    },
  979    367   
    "expiration_in_seconds": 3600,
  980    368   
    "normalize": true,
  981    369   
    "region": "us-east-1",
  982    370   
    "service": "service",
  983    371   
    "sign_body": false,
  984    372   
    "timestamp": "2015-08-30T12:36:00Z"
  985         -
}
         373  +
}
              \
 No newline at end of file
  986    374   
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
  987    375   
similarity index 100%
  988    376   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
  989    377   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  990    378   
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
  991    379   
new file mode 100644
  992    380   
index 0000000..7fc5d7a
  993         -
-- /dev/null
         381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  994    382   
@@ -0,0 +1 @@
         383  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
  995    384   
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
  996    385   
new file mode 100644
  997    386   
index 0000000..36a1205
  998         -
-- /dev/null
         387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
  999    388   
@@ -0,0 +1,8 @@
         389  +
GET / HTTP/1.1
         390  +
Host:example.amazonaws.com
         391  +
My-Header1:value2
         392  +
My-Header1:value2
         393  +
My-Header1:value1
         394  +
X-Amz-Date:20150830T123600Z
         395  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         396  +
 1000    397   
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
 1001    398   
similarity index 100%
 1002    399   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
 1003    400   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
 1004    401   
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
 1005    402   
new file mode 100644
 1006    403   
index 0000000..f9f4190
 1007         -
-- /dev/null
         404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
 1008    405   
@@ -0,0 +1,8 @@
         406  +
GET
         407  +
/
         408  +
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
         409  +
host:example.amazonaws.com
         410  +
my-header1:value2,value2,value1
         411  +
         412  +
host;my-header1
         413  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1009    414   
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
 1010    415   
new file mode 100644
 1011    416   
index 0000000..5d0d87f
 1012         -
-- /dev/null
         417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
 1013    418   
@@ -0,0 +1 @@
         419  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
 1014    420   
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
 1015    421   
new file mode 100644
 1016    422   
index 0000000..c1dfcf4
 1017         -
-- /dev/null
         423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1018    424   
@@ -0,0 +1,6 @@
         425  +
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
         426  +
Host:example.amazonaws.com
         427  +
My-Header1:value2
         428  +
My-Header1:value2
         429  +
My-Header1:value1
         430  +
 1019    431   
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
 1020    432   
similarity index 53%
 1021    433   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
 1022    434   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1023    435   
index 0a3350a..077c1bb 100644
 1024         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1025    437   
@@ -1,4 +1,4 @@
 1026    438   
AWS4-HMAC-SHA256
 1027    439   
20150830T123600Z
 1028    440   
20150830/us-east-1/service/aws4_request
 1029         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         441  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1030    442   
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
 1031    443   
similarity index 100%
 1032    444   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1033    445   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1034    446   
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
 1035    447   
similarity index 99%
 1036    448   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1037    449   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1038    450   
index 45771c7..0468d80 100644
 1039         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
         451  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1040    452   
@@ -1,12 +1,12 @@
 1041    453   
{
 1042    454   
    "credentials": {
 1043    455   
        "access_key_id": "AKIDEXAMPLE",
 1044    456   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1045    457   
    },
 1046    458   
    "expiration_in_seconds": 3600,
 1047    459   
    "normalize": true,
 1048    460   
    "region": "us-east-1",
 1049    461   
    "service": "service",
 1050    462   
    "sign_body": false,
 1051    463   
    "timestamp": "2015-08-30T12:36:00Z"
 1052         -
}
         464  +
}
              \
 No newline at end of file
 1053    465   
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
 1054    466   
similarity index 82%
 1055    467   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1056    468   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1057    469   
index 721a39f..8cb5476 100644
 1058         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1059    471   
@@ -1,9 +1,9 @@
 1060    472   
GET
 1061    473   
/
 1062    474   
 1063    475   
host:example.amazonaws.com
 1064         -
my-header1:value1,value2,value3
         476  +
my-header1:value1 value2 value3
 1065    477   
x-amz-date:20150830T123600Z
 1066    478   
 1067    479   
host;my-header1;x-amz-date
 1068    480   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1069    481   
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
 1070    482   
new file mode 100644
 1071    483   
index 0000000..e6ff7a9
 1072         -
-- /dev/null
         484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1073    485   
@@ -0,0 +1 @@
         486  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1074    487   
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
 1075    488   
new file mode 100644
 1076    489   
index 0000000..b5ef6a0
 1077         -
-- /dev/null
         490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1078    491   
@@ -0,0 +1,8 @@
         492  +
GET / HTTP/1.1
         493  +
Host:example.amazonaws.com
         494  +
My-Header1:value1
         495  +
  value2
         496  +
     value3
         497  +
X-Amz-Date:20150830T123600Z
         498  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         499  +
 1079    500   
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
 1080    501   
similarity index 53%
 1081    502   
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
 1082    503   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1083    504   
index fd43a41..97c7430 100644
 1084         -
-- 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
         505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1085    506   
@@ -1,4 +1,4 @@
 1086    507   
AWS4-HMAC-SHA256
 1087    508   
20150830T123600Z
 1088    509   
20150830/us-east-1/service/aws4_request
 1089         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         510  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1090    511   
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
 1091    512   
new file mode 100644
 1092    513   
index 0000000..aac46de
 1093         -
-- /dev/null
         514  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1094    515   
@@ -0,0 +1,8 @@
         516  +
GET
         517  +
/
         518  +
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
         519  +
host:example.amazonaws.com
         520  +
my-header1:value1 value2 value3
         521  +
         522  +
host;my-header1
         523  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1095    524   
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
 1096    525   
new file mode 100644
 1097    526   
index 0000000..205732d
 1098         -
-- /dev/null
         527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1099    528   
@@ -0,0 +1 @@
         529  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1100    530   
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
 1101    531   
new file mode 100644
 1102    532   
index 0000000..a891b87
 1103         -
-- /dev/null
         533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1104    534   
@@ -0,0 +1,6 @@
         535  +
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
         536  +
Host:example.amazonaws.com
         537  +
My-Header1:value1
         538  +
  value2
         539  +
     value3
         540  +
 1105    541   
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
 1106    542   
similarity index 53%
 1107    543   
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
 1108    544   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1109    545   
index 90e66b8..ec3fe45 100644
 1110         -
-- 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
         546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1111    547   
@@ -1,4 +1,4 @@
 1112    548   
AWS4-HMAC-SHA256
 1113    549   
20150830T123600Z
 1114    550   
20150830/us-east-1/service/aws4_request
 1115         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         551  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1116    552   
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
 1117    553   
similarity index 75%
 1118    554   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1119    555   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1120    556   
index 7caa6ac..b5026cd 100644
 1121         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         557  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1122    558   
@@ -1,6 +1,5 @@
 1123    559   
GET / HTTP/1.1
 1124    560   
Host:example.amazonaws.com
 1125    561   
My-Header1:value1
 1126    562   
  value2
 1127    563   
     value3
 1128         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1129    564   
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
 1130    565   
similarity index 99%
 1131    566   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1132    567   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1133    568   
index 45771c7..0468d80 100644
 1134         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
         569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1135    570   
@@ -1,12 +1,12 @@
 1136    571   
{
 1137    572   
    "credentials": {
 1138    573   
        "access_key_id": "AKIDEXAMPLE",
 1139    574   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1140    575   
    },
 1141    576   
    "expiration_in_seconds": 3600,
 1142    577   
    "normalize": true,
 1143    578   
    "region": "us-east-1",
 1144    579   
    "service": "service",
 1145    580   
    "sign_body": false,
 1146    581   
    "timestamp": "2015-08-30T12:36:00Z"
 1147         -
}
         582  +
}
              \
 No newline at end of file
 1148    583   
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
 1149    584   
similarity index 100%
 1150    585   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1151    586   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1152    587   
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
 1153    588   
new file mode 100644
 1154    589   
index 0000000..8ef0494
 1155         -
-- /dev/null
         590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1156    591   
@@ -0,0 +1 @@
         592  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1157    593   
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
 1158    594   
new file mode 100644
 1159    595   
index 0000000..b786dc9
 1160         -
-- /dev/null
         596  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1161    597   
@@ -0,0 +1,9 @@
         598  +
GET / HTTP/1.1
         599  +
Host:example.amazonaws.com
         600  +
My-Header1:value4
         601  +
My-Header1:value1
         602  +
My-Header1:value3
         603  +
My-Header1:value2
         604  +
X-Amz-Date:20150830T123600Z
         605  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         606  +
 1162    607   
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
 1163    608   
similarity index 100%
 1164    609   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1165    610   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1166    611   
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
 1167    612   
new file mode 100644
 1168    613   
index 0000000..a211cc5
 1169         -
-- /dev/null
         614  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1170    615   
@@ -0,0 +1,8 @@
         616  +
GET
         617  +
/
         618  +
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
         619  +
host:example.amazonaws.com
         620  +
my-header1:value4,value1,value3,value2
         621  +
         622  +
host;my-header1
         623  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1171    624   
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
 1172    625   
new file mode 100644
 1173    626   
index 0000000..417b0fa
 1174         -
-- /dev/null
         627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1175    628   
@@ -0,0 +1 @@
         629  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1176    630   
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
 1177    631   
new file mode 100644
 1178    632   
index 0000000..b615e5d
 1179         -
-- /dev/null
         633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1180    634   
@@ -0,0 +1,7 @@
         635  +
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
         636  +
Host:example.amazonaws.com
         637  +
My-Header1:value4
         638  +
My-Header1:value1
         639  +
My-Header1:value3
         640  +
My-Header1:value2
         641  +
 1181    642   
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
 1182    643   
similarity index 53%
 1183    644   
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
 1184    645   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1185    646   
index f7e615e..dcaaa1b 100644
 1186         -
-- 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
         647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1187    648   
@@ -1,4 +1,4 @@
 1188    649   
AWS4-HMAC-SHA256
 1189    650   
20150830T123600Z
 1190    651   
20150830/us-east-1/service/aws4_request
 1191         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         652  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1192    653   
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
 1193    654   
similarity index 100%
 1194    655   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1195    656   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1196    657   
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
 1197    658   
similarity index 99%
 1198    659   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1199    660   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1200    661   
index 45771c7..0468d80 100644
 1201         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
         662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1202    663   
@@ -1,12 +1,12 @@
 1203    664   
{
 1204    665   
    "credentials": {
 1205    666   
        "access_key_id": "AKIDEXAMPLE",
 1206    667   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1207    668   
    },
 1208    669   
    "expiration_in_seconds": 3600,
 1209    670   
    "normalize": true,
 1210    671   
    "region": "us-east-1",
 1211    672   
    "service": "service",
 1212    673   
    "sign_body": false,
 1213    674   
    "timestamp": "2015-08-30T12:36:00Z"
 1214         -
}
         675  +
}
              \
 No newline at end of file
 1215    676   
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
 1216    677   
similarity index 100%
 1217    678   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1218    679   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1219    680   
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
 1220    681   
new file mode 100644
 1221    682   
index 0000000..36081a9
 1222         -
-- /dev/null
         683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1223    684   
@@ -0,0 +1 @@
         685  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1224    686   
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
 1225    687   
new file mode 100644
 1226    688   
index 0000000..6331d16
 1227         -
-- /dev/null
         689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1228    690   
@@ -0,0 +1,7 @@
         691  +
GET / HTTP/1.1
         692  +
Host:example.amazonaws.com
         693  +
My-Header1: value1
         694  +
My-Header2: "a   b   c"
         695  +
X-Amz-Date:20150830T123600Z
         696  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         697  +
 1229    698   
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
 1230    699   
similarity index 100%
 1231    700   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1232    701   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1233    702   
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
 1234    703   
new file mode 100644
 1235    704   
index 0000000..125c1f9
 1236         -
-- /dev/null
         705  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1237    706   
@@ -0,0 +1,9 @@
         707  +
GET
         708  +
/
         709  +
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
         710  +
host:example.amazonaws.com
         711  +
my-header1:value1
         712  +
my-header2:"a b c"
         713  +
         714  +
host;my-header1;my-header2
         715  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1238    716   
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
 1239    717   
new file mode 100644
 1240    718   
index 0000000..17007a8
 1241         -
-- /dev/null
         719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1242    720   
@@ -0,0 +1 @@
         721  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1243    722   
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
 1244    723   
new file mode 100644
 1245    724   
index 0000000..e519fd9
 1246         -
-- /dev/null
         725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1247    726   
@@ -0,0 +1,5 @@
         727  +
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
         728  +
Host:example.amazonaws.com
         729  +
My-Header1: value1
         730  +
My-Header2: "a   b   c"
         731  +
 1248    732   
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
 1249    733   
new file mode 100644
 1250    734   
index 0000000..6b4b781
 1251         -
-- /dev/null
         735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1252    736   
@@ -0,0 +1,4 @@
         737  +
AWS4-HMAC-SHA256
         738  +
20150830T123600Z
         739  +
20150830/us-east-1/service/aws4_request
         740  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1253    741   
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
 1254    742   
similarity index 100%
 1255    743   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1256    744   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1257    745   
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
 1258    746   
new file mode 100644
 1259    747   
index 0000000..0468d80
 1260         -
-- /dev/null
         748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1261    749   
@@ -0,0 +1,12 @@
         750  +
{
         751  +
    "credentials": {
         752  +
        "access_key_id": "AKIDEXAMPLE",
         753  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         754  +
    },
         755  +
    "expiration_in_seconds": 3600,
         756  +
    "normalize": true,
         757  +
    "region": "us-east-1",
         758  +
    "service": "service",
         759  +
    "sign_body": false,
         760  +
    "timestamp": "2015-08-30T12:36:00Z"
         761  +
}
              \
 No newline at end of file
 1262    762   
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
 1263    763   
similarity index 100%
 1264    764   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1265    765   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1266    766   
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
 1267    767   
new file mode 100644
 1268    768   
index 0000000..87f295f
 1269         -
-- /dev/null
         769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1270    770   
@@ -0,0 +1 @@
         771  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1271    772   
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
 1272    773   
new file mode 100644
 1273    774   
index 0000000..0de8327
 1274         -
-- /dev/null
         775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1275    776   
@@ -0,0 +1,5 @@
         777  +
GET /example/.. HTTP/1.1
         778  +
Host:example.amazonaws.com
         779  +
X-Amz-Date:20150830T123600Z
         780  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         781  +
 1276    782   
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
 1277    783   
similarity index 100%
 1278    784   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1279    785   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1280    786   
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
 1281    787   
new file mode 100644
 1282    788   
index 0000000..fb2420d
 1283         -
-- /dev/null
         789  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1284    790   
@@ -0,0 +1,7 @@
         791  +
GET
         792  +
/
         793  +
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
         794  +
host:example.amazonaws.com
         795  +
         796  +
host
         797  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1285    798   
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
 1286    799   
new file mode 100644
 1287    800   
index 0000000..da5c905
 1288         -
-- /dev/null
         801  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1289    802   
@@ -0,0 +1 @@
         803  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1290    804   
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
 1291    805   
new file mode 100644
 1292    806   
index 0000000..4329c98
 1293         -
-- /dev/null
         807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1294    808   
@@ -0,0 +1,3 @@
         809  +
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
         810  +
Host:example.amazonaws.com
         811  +
 1295    812   
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
 1296    813   
new file mode 100644
 1297    814   
index 0000000..d837e67
 1298         -
-- /dev/null
         815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1299    816   
@@ -0,0 +1,4 @@
         817  +
AWS4-HMAC-SHA256
         818  +
20150830T123600Z
         819  +
20150830/us-east-1/service/aws4_request
         820  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1300    821   
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
 1301    822   
similarity index 100%
 1302    823   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1303    824   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1304    825   
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
 1305    826   
new file mode 100644
 1306    827   
index 0000000..0468d80
 1307         -
-- /dev/null
         828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1308    829   
@@ -0,0 +1,12 @@
         830  +
{
         831  +
    "credentials": {
         832  +
        "access_key_id": "AKIDEXAMPLE",
         833  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         834  +
    },
         835  +
    "expiration_in_seconds": 3600,
         836  +
    "normalize": true,
         837  +
    "region": "us-east-1",
         838  +
    "service": "service",
         839  +
    "sign_body": false,
         840  +
    "timestamp": "2015-08-30T12:36:00Z"
         841  +
}
              \
 No newline at end of file
 1309    842   
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
 1310    843   
similarity index 100%
 1311    844   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1312    845   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1313    846   
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
 1314    847   
new file mode 100644
 1315    848   
index 0000000..87f295f
 1316         -
-- /dev/null
         849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1317    850   
@@ -0,0 +1 @@
         851  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1318    852   
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
 1319    853   
new file mode 100644
 1320    854   
index 0000000..f9b3815
 1321         -
-- /dev/null
         855  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1322    856   
@@ -0,0 +1,5 @@
         857  +
GET /example1/example2/../.. HTTP/1.1
         858  +
Host:example.amazonaws.com
         859  +
X-Amz-Date:20150830T123600Z
         860  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         861  +
 1323    862   
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
 1324    863   
similarity index 100%
 1325    864   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1326    865   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1327    866   
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
 1328    867   
new file mode 100644
 1329    868   
index 0000000..fb2420d
 1330         -
-- /dev/null
         869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1331    870   
@@ -0,0 +1,7 @@
         871  +
GET
         872  +
/
         873  +
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
         874  +
host:example.amazonaws.com
         875  +
         876  +
host
         877  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1332    878   
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
 1333    879   
new file mode 100644
 1334    880   
index 0000000..da5c905
 1335         -
-- /dev/null
         881  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1336    882   
@@ -0,0 +1 @@
         883  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1337    884   
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
 1338    885   
new file mode 100644
 1339    886   
index 0000000..b2988b7
 1340         -
-- /dev/null
         887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1341    888   
@@ -0,0 +1,3 @@
         889  +
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
         890  +
Host:example.amazonaws.com
         891  +
 1342    892   
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
 1343    893   
new file mode 100644
 1344    894   
index 0000000..d837e67
 1345         -
-- /dev/null
         895  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1346    896   
@@ -0,0 +1,4 @@
         897  +
AWS4-HMAC-SHA256
         898  +
20150830T123600Z
         899  +
20150830/us-east-1/service/aws4_request
         900  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1347    901   
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
 1348    902   
similarity index 100%
 1349    903   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1350    904   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1351    905   
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
 1352    906   
similarity index 99%
 1353    907   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1354    908   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1355    909   
index afe367b..7bee5c7 100644
 1356         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
         910  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1357    911   
@@ -1,12 +1,12 @@
 1358    912   
{
 1359    913   
    "credentials": {
 1360    914   
        "access_key_id": "AKIDEXAMPLE",
 1361    915   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1362    916   
    },
 1363    917   
    "expiration_in_seconds": 3600,
 1364    918   
    "normalize": false,
 1365    919   
    "region": "us-east-1",
 1366    920   
    "service": "service",
 1367    921   
    "sign_body": false,
 1368    922   
    "timestamp": "2015-08-30T12:36:00Z"
 1369         -
}
         923  +
}
              \
 No newline at end of file
 1370    924   
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
 1371    925   
similarity index 82%
 1372    926   
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
 1373    927   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1374    928   
index 36c3cdf..6919c44 100644
 1375         -
-- 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
         929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1376    930   
@@ -1,8 +1,8 @@
 1377    931   
GET
 1378         -
/
 1379         -
Param1=Value1&Param1=value2
         932  +
/example1/example2/../..
         933  +
 1380    934   
host:example.amazonaws.com
 1381    935   
x-amz-date:20150830T123600Z
 1382    936   
 1383    937   
host;x-amz-date
 1384    938   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1385    939   
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
 1386    940   
new file mode 100644
 1387    941   
index 0000000..4092d83
 1388         -
-- /dev/null
         942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1389    943   
@@ -0,0 +1 @@
         944  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1390    945   
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
 1391    946   
new file mode 100644
 1392    947   
index 0000000..e731b35
 1393         -
-- /dev/null
         948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1394    949   
@@ -0,0 +1,5 @@
         950  +
GET /example1/example2/../.. HTTP/1.1
         951  +
Host:example.amazonaws.com
         952  +
X-Amz-Date:20150830T123600Z
         953  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         954  +
 1395    955   
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
 1396    956   
new file mode 100644
 1397    957   
index 0000000..4f45752
 1398         -
-- /dev/null
         958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1399    959   
@@ -0,0 +1,4 @@
         960  +
AWS4-HMAC-SHA256
         961  +
20150830T123600Z
         962  +
20150830/us-east-1/service/aws4_request
         963  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1400    964   
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
 1401    965   
new file mode 100644
 1402    966   
index 0000000..e1fb07d
 1403         -
-- /dev/null
         967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1404    968   
@@ -0,0 +1,7 @@
         969  +
GET
         970  +
/example1/example2/../..
         971  +
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
         972  +
host:example.amazonaws.com
         973  +
         974  +
host
         975  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1405    976   
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
 1406    977   
new file mode 100644
 1407    978   
index 0000000..8ac31d7
 1408         -
-- /dev/null
         979  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1409    980   
@@ -0,0 +1 @@
         981  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1410    982   
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
 1411    983   
new file mode 100644
 1412    984   
index 0000000..ac074f9
 1413         -
-- /dev/null
         985  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1414    986   
@@ -0,0 +1,3 @@
         987  +
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
         988  +
Host:example.amazonaws.com
         989  +
 1415    990   
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
 1416    991   
new file mode 100644
 1417    992   
index 0000000..8dcb6ff
 1418         -
-- /dev/null
         993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1419    994   
@@ -0,0 +1,4 @@
         995  +
AWS4-HMAC-SHA256
         996  +
20150830T123600Z
         997  +
20150830/us-east-1/service/aws4_request
         998  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1420    999   
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
 1421   1000   
similarity index 100%
 1422   1001   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1423   1002   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1424   1003   
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
 1425   1004   
similarity index 99%
 1426   1005   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1427   1006   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1428   1007   
index afe367b..7bee5c7 100644
 1429         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
        1008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1430   1009   
@@ -1,12 +1,12 @@
 1431   1010   
{
 1432   1011   
    "credentials": {
 1433   1012   
        "access_key_id": "AKIDEXAMPLE",
 1434   1013   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1435   1014   
    },
 1436   1015   
    "expiration_in_seconds": 3600,
 1437   1016   
    "normalize": false,
 1438   1017   
    "region": "us-east-1",
 1439   1018   
    "service": "service",
 1440   1019   
    "sign_body": false,
 1441   1020   
    "timestamp": "2015-08-30T12:36:00Z"
 1442         -
}
        1021  +
}
              \
 No newline at end of file
 1443   1022   
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
 1444   1023   
similarity index 82%
 1445   1024   
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
 1446   1025   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1447   1026   
index 26898eb..f640bc2 100644
 1448         -
-- 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
        1027  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1449   1028   
@@ -1,8 +1,8 @@
 1450   1029   
GET
 1451         -
/
 1452         -
Param1=value1&Param1=value2
        1030  +
/example/..
        1031  +
 1453   1032   
host:example.amazonaws.com
 1454   1033   
x-amz-date:20150830T123600Z
 1455   1034   
 1456   1035   
host;x-amz-date
 1457   1036   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1458   1037   
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
 1459   1038   
new file mode 100644
 1460   1039   
index 0000000..d957303
 1461         -
-- /dev/null
        1040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1462   1041   
@@ -0,0 +1 @@
        1042  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1463   1043   
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
 1464   1044   
new file mode 100644
 1465   1045   
index 0000000..4f42ffc
 1466         -
-- /dev/null
        1046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1467   1047   
@@ -0,0 +1,5 @@
        1048  +
GET /example/.. HTTP/1.1
        1049  +
Host:example.amazonaws.com
        1050  +
X-Amz-Date:20150830T123600Z
        1051  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
        1052  +
 1468   1053   
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
 1469   1054   
new file mode 100644
 1470   1055   
index 0000000..ca54bda
 1471         -
-- /dev/null
        1056  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1472   1057   
@@ -0,0 +1,4 @@
        1058  +
AWS4-HMAC-SHA256
        1059  +
20150830T123600Z
        1060  +
20150830/us-east-1/service/aws4_request
        1061  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1473   1062   
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
 1474   1063   
new file mode 100644
 1475   1064   
index 0000000..dc80036
 1476         -
-- /dev/null
        1065  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1477   1066   
@@ -0,0 +1,7 @@
        1067  +
GET
        1068  +
/example/..
        1069  +
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
        1070  +
host:example.amazonaws.com
        1071  +
        1072  +
host
        1073  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1478   1074   
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
 1479   1075   
new file mode 100644
 1480   1076   
index 0000000..dfa0437
 1481         -
-- /dev/null
        1077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1482   1078   
@@ -0,0 +1 @@
        1079  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1483   1080   
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
 1484   1081   
new file mode 100644
 1485   1082   
index 0000000..98367b1
 1486         -
-- /dev/null
        1083  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1487   1084   
@@ -0,0 +1,3 @@
        1085  +
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
        1086  +
Host:example.amazonaws.com
        1087  +
 1488   1088   
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
 1489   1089   
new file mode 100644
 1490   1090   
index 0000000..f65dd66
 1491         -
-- /dev/null
        1091  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1492   1092   
@@ -0,0 +1,4 @@
        1093  +
AWS4-HMAC-SHA256
        1094  +
20150830T123600Z
        1095  +
20150830/us-east-1/service/aws4_request
        1096  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1493   1097   
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
 1494   1098   
similarity index 100%
 1495   1099   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1496   1100   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1497   1101   
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
 1498   1102   
new file mode 100644
 1499   1103   
index 0000000..0468d80
 1500         -
-- /dev/null
        1104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1501   1105   
@@ -0,0 +1,12 @@
        1106  +
{
        1107  +
    "credentials": {
        1108  +
        "access_key_id": "AKIDEXAMPLE",
        1109  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1110  +
    },
        1111  +
    "expiration_in_seconds": 3600,
        1112  +
    "normalize": true,
        1113  +
    "region": "us-east-1",
        1114  +
    "service": "service",
        1115  +
    "sign_body": false,
        1116  +
    "timestamp": "2015-08-30T12:36:00Z"
        1117  +
}
              \
 No newline at end of file
 1502   1118   
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
 1503   1119   
similarity index 100%
 1504   1120   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1505   1121   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1506   1122   
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
 1507   1123   
new file mode 100644
 1508   1124   
index 0000000..87f295f
 1509         -
-- /dev/null
        1125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1510   1126   
@@ -0,0 +1 @@
        1127  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1511   1128   
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
 1512   1129   
new file mode 100644
 1513   1130   
index 0000000..99c8eeb
 1514         -
-- /dev/null
        1131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1515   1132   
@@ -0,0 +1,5 @@
        1133  +
GET /./ HTTP/1.1
        1134  +
Host:example.amazonaws.com
        1135  +
X-Amz-Date:20150830T123600Z
        1136  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1137  +
 1516   1138   
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
 1517   1139   
similarity index 100%
 1518   1140   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1519   1141   
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
 1520   1142   
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
 1521   1143   
new file mode 100644
 1522   1144   
index 0000000..fb2420d
 1523         -
-- /dev/null
        1145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1524   1146   
@@ -0,0 +1,7 @@
        1147  +
GET
        1148  +
/
        1149  +
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
        1150  +
host:example.amazonaws.com
        1151  +
        1152  +
host
        1153  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1525   1154   
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
 1526   1155   
new file mode 100644
 1527   1156   
index 0000000..da5c905
 1528         -
-- /dev/null
        1157  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1529   1158   
@@ -0,0 +1 @@
        1159  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1530   1160   
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
 1531   1161   
new file mode 100644
 1532   1162   
index 0000000..2e47f69
 1533         -
-- /dev/null
        1163  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1534   1164   
@@ -0,0 +1,3 @@
        1165  +
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
        1166  +
Host:example.amazonaws.com
        1167  +
 1535   1168   
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
 1536   1169   
new file mode 100644
 1537   1170   
index 0000000..d837e67
 1538         -
-- /dev/null
        1171  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1539   1172   
@@ -0,0 +1,4 @@
        1173  +
AWS4-HMAC-SHA256
        1174  +
20150830T123600Z
        1175  +
20150830/us-east-1/service/aws4_request
        1176  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1540   1177   
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
 1541   1178   
similarity index 100%
 1542   1179   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1543   1180   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1544   1181   
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
 1545   1182   
similarity index 99%
 1546   1183   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1547   1184   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1548   1185   
index afe367b..7bee5c7 100644
 1549         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
        1186  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1550   1187   
@@ -1,12 +1,12 @@
 1551   1188   
{
 1552   1189   
    "credentials": {
 1553   1190   
        "access_key_id": "AKIDEXAMPLE",
 1554   1191   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1555   1192   
    },
 1556   1193   
    "expiration_in_seconds": 3600,
 1557   1194   
    "normalize": false,
 1558   1195   
    "region": "us-east-1",
 1559   1196   
    "service": "service",
 1560   1197   
    "sign_body": false,
 1561   1198   
    "timestamp": "2015-08-30T12:36:00Z"
 1562         -
}
        1199  +
}
              \
 No newline at end of file
 1563   1200   
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
 1564   1201   
new file mode 100644
 1565   1202   
index 0000000..5159048
 1566         -
-- /dev/null
        1203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1567   1204   
@@ -0,0 +1,8 @@
        1205  +
GET
        1206  +
/./
        1207  +
        1208  +
host:example.amazonaws.com
        1209  +
x-amz-date:20150830T123600Z
        1210  +
        1211  +
host;x-amz-date
        1212  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1568   1213   
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
 1569   1214   
new file mode 100644
 1570   1215   
index 0000000..b49ff0e
 1571         -
-- /dev/null
        1216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1572   1217   
@@ -0,0 +1 @@
        1218  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1573   1219   
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
 1574   1220   
new file mode 100644
 1575   1221   
index 0000000..aeb1ffa
 1576         -
-- /dev/null
        1222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1577   1223   
@@ -0,0 +1,5 @@
        1224  +
GET /./ HTTP/1.1
        1225  +
Host:example.amazonaws.com
        1226  +
X-Amz-Date:20150830T123600Z
        1227  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1228  +
 1578   1229   
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
 1579   1230   
new file mode 100644
 1580   1231   
index 0000000..b7d8caf
 1581         -
-- /dev/null
        1232  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1582   1233   
@@ -0,0 +1,4 @@
        1234  +
AWS4-HMAC-SHA256
        1235  +
20150830T123600Z
        1236  +
20150830/us-east-1/service/aws4_request
        1237  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1583   1238   
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
 1584   1239   
new file mode 100644
 1585   1240   
index 0000000..d4e029e
 1586         -
-- /dev/null
        1241  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1587   1242   
@@ -0,0 +1,7 @@
        1243  +
GET
        1244  +
/./
        1245  +
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
        1246  +
host:example.amazonaws.com
        1247  +
        1248  +
host
        1249  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1588   1250   
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
 1589   1251   
new file mode 100644
 1590   1252   
index 0000000..fe8f4cc
 1591         -
-- /dev/null
        1253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1592   1254   
@@ -0,0 +1 @@
        1255  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1593   1256   
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
 1594   1257   
new file mode 100644
 1595   1258   
index 0000000..dcc4fc4
 1596         -
-- /dev/null
        1259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1597   1260   
@@ -0,0 +1,3 @@
        1261  +
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
        1262  +
Host:example.amazonaws.com
        1263  +
 1598   1264   
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
 1599   1265   
new file mode 100644
 1600   1266   
index 0000000..5fb3ada
 1601         -
-- /dev/null
        1267  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1602   1268   
@@ -0,0 +1,4 @@
        1269  +
AWS4-HMAC-SHA256
        1270  +
20150830T123600Z
        1271  +
20150830/us-east-1/service/aws4_request
        1272  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1603   1273   
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
 1604   1274   
similarity index 100%
 1605   1275   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1606   1276   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1607   1277   
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
 1608   1278   
new file mode 100644
 1609   1279   
index 0000000..0468d80
 1610         -
-- /dev/null
        1280  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1611   1281   
@@ -0,0 +1,12 @@
        1282  +
{
        1283  +
    "credentials": {
        1284  +
        "access_key_id": "AKIDEXAMPLE",
        1285  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1286  +
    },
        1287  +
    "expiration_in_seconds": 3600,
        1288  +
    "normalize": true,
        1289  +
    "region": "us-east-1",
        1290  +
    "service": "service",
        1291  +
    "sign_body": false,
        1292  +
    "timestamp": "2015-08-30T12:36:00Z"
        1293  +
}
              \
 No newline at end of file
 1612   1294   
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
 1613   1295   
similarity index 100%
 1614   1296   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1615   1297   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1616   1298   
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
 1617   1299   
new file mode 100644
 1618   1300   
index 0000000..87f295f
 1619         -
-- /dev/null
        1301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1620   1302   
@@ -0,0 +1 @@
        1303  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1621   1304   
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
 1622   1305   
new file mode 100644
 1623   1306   
index 0000000..b91087b
 1624         -
-- /dev/null
        1307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1625   1308   
@@ -0,0 +1,5 @@
        1309  +
GET // HTTP/1.1
        1310  +
Host:example.amazonaws.com
        1311  +
X-Amz-Date:20150830T123600Z
        1312  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1313  +
 1626   1314   
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
 1627   1315   
similarity index 100%
 1628   1316   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1629   1317   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1630   1318   
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
 1631   1319   
new file mode 100644
 1632   1320   
index 0000000..fb2420d
 1633         -
-- /dev/null
        1321  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1634   1322   
@@ -0,0 +1,7 @@
        1323  +
GET
        1324  +
/
        1325  +
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
        1326  +
host:example.amazonaws.com
        1327  +
        1328  +
host
        1329  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1635   1330   
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
 1636   1331   
new file mode 100644
 1637   1332   
index 0000000..da5c905
 1638         -
-- /dev/null
        1333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1639   1334   
@@ -0,0 +1 @@
        1335  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1640   1336   
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
 1641   1337   
new file mode 100644
 1642   1338   
index 0000000..0290ba4
 1643         -
-- /dev/null
        1339  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1644   1340   
@@ -0,0 +1,3 @@
        1341  +
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
        1342  +
Host:example.amazonaws.com
        1343  +
 1645   1344   
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
 1646   1345   
new file mode 100644
 1647   1346   
index 0000000..d837e67
 1648         -
-- /dev/null
        1347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1649   1348   
@@ -0,0 +1,4 @@
        1349  +
AWS4-HMAC-SHA256
        1350  +
20150830T123600Z
        1351  +
20150830/us-east-1/service/aws4_request
        1352  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1650   1353   
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
 1651   1354   
similarity index 100%
 1652   1355   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1653   1356   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1654   1357   
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
 1655   1358   
new file mode 100644
 1656   1359   
index 0000000..0468d80
 1657         -
-- /dev/null
        1360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1658   1361   
@@ -0,0 +1,12 @@
        1362  +
{
        1363  +
    "credentials": {
        1364  +
        "access_key_id": "AKIDEXAMPLE",
        1365  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1366  +
    },
        1367  +
    "expiration_in_seconds": 3600,
        1368  +
    "normalize": true,
        1369  +
    "region": "us-east-1",
        1370  +
    "service": "service",
        1371  +
    "sign_body": false,
        1372  +
    "timestamp": "2015-08-30T12:36:00Z"
        1373  +
}
              \
 No newline at end of file
 1659   1374   
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
 1660   1375   
similarity index 100%
 1661   1376   
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
 1662   1377   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1663   1378   
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
 1664   1379   
new file mode 100644
 1665   1380   
index 0000000..8f892bf
 1666         -
-- /dev/null
        1381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1667   1382   
@@ -0,0 +1 @@
        1383  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1668   1384   
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
 1669   1385   
new file mode 100644
 1670   1386   
index 0000000..2a1895c
 1671         -
-- /dev/null
        1387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1672   1388   
@@ -0,0 +1,5 @@
        1389  +
GET /./example HTTP/1.1
        1390  +
Host:example.amazonaws.com
        1391  +
X-Amz-Date:20150830T123600Z
        1392  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1393  +
 1673   1394   
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
 1674   1395   
similarity index 100%
 1675   1396   
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
 1676   1397   
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
 1677   1398   
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
 1678   1399   
new file mode 100644
 1679   1400   
index 0000000..99dfc2a
 1680         -
-- /dev/null
        1401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1681   1402   
@@ -0,0 +1,7 @@
        1403  +
GET
        1404  +
/example
        1405  +
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
        1406  +
host:example.amazonaws.com
        1407  +
        1408  +
host
        1409  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1682   1410   
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
 1683   1411   
new file mode 100644
 1684   1412   
index 0000000..fcd7a17
 1685         -
-- /dev/null
        1413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1686   1414   
@@ -0,0 +1 @@
        1415  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1687   1416   
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
 1688   1417   
new file mode 100644
 1689   1418   
index 0000000..f671de2
 1690         -
-- /dev/null
        1419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1691   1420   
@@ -0,0 +1,3 @@
        1421  +
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
        1422  +
Host:example.amazonaws.com
        1423  +
 1692   1424   
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
 1693   1425   
new file mode 100644
 1694   1426   
index 0000000..f8456dc
 1695         -
-- /dev/null
        1427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1696   1428   
@@ -0,0 +1,4 @@
        1429  +
AWS4-HMAC-SHA256
        1430  +
20150830T123600Z
        1431  +
20150830/us-east-1/service/aws4_request
        1432  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1697   1433   
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
 1698   1434   
similarity index 100%
 1699   1435   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1700   1436   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1701   1437   
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
 1702   1438   
similarity index 99%
 1703   1439   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1704   1440   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1705   1441   
index afe367b..7bee5c7 100644
 1706         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
        1442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1707   1443   
@@ -1,12 +1,12 @@
 1708   1444   
{
 1709   1445   
    "credentials": {
 1710   1446   
        "access_key_id": "AKIDEXAMPLE",
 1711   1447   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1712   1448   
    },
 1713   1449   
    "expiration_in_seconds": 3600,
 1714   1450   
    "normalize": false,
 1715   1451   
    "region": "us-east-1",
 1716   1452   
    "service": "service",
 1717   1453   
    "sign_body": false,
 1718   1454   
    "timestamp": "2015-08-30T12:36:00Z"
 1719         -
}
        1455  +
}
              \
 No newline at end of file
 1720   1456   
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
 1721   1457   
new file mode 100644
 1722   1458   
index 0000000..36698c7
 1723         -
-- /dev/null
        1459  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1724   1460   
@@ -0,0 +1,8 @@
        1461  +
GET
        1462  +
/./example
        1463  +
        1464  +
host:example.amazonaws.com
        1465  +
x-amz-date:20150830T123600Z
        1466  +
        1467  +
host;x-amz-date
        1468  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1725   1469   
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
 1726   1470   
new file mode 100644
 1727   1471   
index 0000000..4a4b8f2
 1728         -
-- /dev/null
        1472  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1729   1473   
@@ -0,0 +1 @@
        1474  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1730   1475   
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
 1731   1476   
new file mode 100644
 1732   1477   
index 0000000..d462bcd
 1733         -
-- /dev/null
        1478  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1734   1479   
@@ -0,0 +1,5 @@
        1480  +
GET /./example HTTP/1.1
        1481  +
Host:example.amazonaws.com
        1482  +
X-Amz-Date:20150830T123600Z
        1483  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1484  +
 1735   1485   
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
 1736   1486   
new file mode 100644
 1737   1487   
index 0000000..8be78c9
 1738         -
-- /dev/null
        1488  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1739   1489   
@@ -0,0 +1,4 @@
        1490  +
AWS4-HMAC-SHA256
        1491  +
20150830T123600Z
        1492  +
20150830/us-east-1/service/aws4_request
        1493  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1740   1494   
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
 1741   1495   
new file mode 100644
 1742   1496   
index 0000000..fe1103c
 1743         -
-- /dev/null
        1497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1744   1498   
@@ -0,0 +1,7 @@
        1499  +
GET
        1500  +
/./example
        1501  +
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
        1502  +
host:example.amazonaws.com
        1503  +
        1504  +
host
        1505  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1745   1506   
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
 1746   1507   
new file mode 100644
 1747   1508   
index 0000000..ce80762
 1748         -
-- /dev/null
        1509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1749   1510   
@@ -0,0 +1 @@
        1511  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1750   1512   
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
 1751   1513   
new file mode 100644
 1752   1514   
index 0000000..30841a6
 1753         -
-- /dev/null
        1515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1754   1516   
@@ -0,0 +1,3 @@
        1517  +
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
        1518  +
Host:example.amazonaws.com
        1519  +
 1755   1520   
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
 1756   1521   
new file mode 100644
 1757   1522   
index 0000000..5c66509
 1758         -
-- /dev/null
        1523  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1759   1524   
@@ -0,0 +1,4 @@
        1525  +
AWS4-HMAC-SHA256
        1526  +
20150830T123600Z
        1527  +
20150830/us-east-1/service/aws4_request
        1528  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1760   1529   
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
 1761   1530   
similarity index 100%
 1762   1531   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1763   1532   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1764   1533   
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
 1765   1534   
new file mode 100644
 1766   1535   
index 0000000..7bee5c7
 1767         -
-- /dev/null
        1536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1768   1537   
@@ -0,0 +1,12 @@
        1538  +
{
        1539  +
    "credentials": {
        1540  +
        "access_key_id": "AKIDEXAMPLE",
        1541  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1542  +
    },
        1543  +
    "expiration_in_seconds": 3600,
        1544  +
    "normalize": false,
        1545  +
    "region": "us-east-1",
        1546  +
    "service": "service",
        1547  +
    "sign_body": false,
        1548  +
    "timestamp": "2015-08-30T12:36:00Z"
        1549  +
}
              \
 No newline at end of file
 1769   1550   
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
 1770   1551   
new file mode 100644
 1771   1552   
index 0000000..5860c8a
 1772         -
-- /dev/null
        1553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1773   1554   
@@ -0,0 +1,8 @@
        1555  +
GET
        1556  +
//
        1557  +
        1558  +
host:example.amazonaws.com
        1559  +
x-amz-date:20150830T123600Z
        1560  +
        1561  +
host;x-amz-date
        1562  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1774   1563   
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
 1775   1564   
new file mode 100644
 1776   1565   
index 0000000..8310471
 1777         -
-- /dev/null
        1566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1778   1567   
@@ -0,0 +1 @@
        1568  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1779   1569   
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
 1780   1570   
new file mode 100644
 1781   1571   
index 0000000..2a7afef
 1782         -
-- /dev/null
        1572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1783   1573   
@@ -0,0 +1,5 @@
        1574  +
GET // HTTP/1.1
        1575  +
Host:example.amazonaws.com
        1576  +
X-Amz-Date:20150830T123600Z
        1577  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1578  +
 1784   1579   
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
 1785   1580   
new file mode 100644
 1786   1581   
index 0000000..06059dd
 1787         -
-- /dev/null
        1582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1788   1583   
@@ -0,0 +1,4 @@
        1584  +
AWS4-HMAC-SHA256
        1585  +
20150830T123600Z
        1586  +
20150830/us-east-1/service/aws4_request
        1587  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1789   1588   
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
 1790   1589   
new file mode 100644
 1791   1590   
index 0000000..6d63aef
 1792         -
-- /dev/null
        1591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1793   1592   
@@ -0,0 +1,7 @@
        1593  +
GET
        1594  +
//
        1595  +
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
        1596  +
host:example.amazonaws.com
        1597  +
        1598  +
host
        1599  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1794   1600   
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
 1795   1601   
new file mode 100644
 1796   1602   
index 0000000..e5b7b6c
 1797         -
-- /dev/null
        1603  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1798   1604   
@@ -0,0 +1 @@
        1605  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1799   1606   
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
 1800   1607   
new file mode 100644
 1801   1608   
index 0000000..46fe3fd
 1802         -
-- /dev/null
        1609  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1803   1610   
@@ -0,0 +1,3 @@
        1611  +
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
        1612  +
Host:example.amazonaws.com
        1613  +
 1804   1614   
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
 1805   1615   
new file mode 100644
 1806   1616   
index 0000000..ea79940
 1807         -
-- /dev/null
        1617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1808   1618   
@@ -0,0 +1,4 @@
        1619  +
AWS4-HMAC-SHA256
        1620  +
20150830T123600Z
        1621  +
20150830/us-east-1/service/aws4_request
        1622  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1809   1623   
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
 1810   1624   
similarity index 100%
 1811   1625   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1812   1626   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1813   1627   
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
 1814   1628   
new file mode 100644
 1815   1629   
index 0000000..0468d80
 1816         -
-- /dev/null
        1630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1817   1631   
@@ -0,0 +1,12 @@
        1632  +
{
        1633  +
    "credentials": {
        1634  +
        "access_key_id": "AKIDEXAMPLE",
        1635  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1636  +
    },
        1637  +
    "expiration_in_seconds": 3600,
        1638  +
    "normalize": true,
        1639  +
    "region": "us-east-1",
        1640  +
    "service": "service",
        1641  +
    "sign_body": false,
        1642  +
    "timestamp": "2015-08-30T12:36:00Z"
        1643  +
}
              \
 No newline at end of file
 1818   1644   
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
 1819   1645   
similarity index 100%
 1820   1646   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1821   1647   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1822   1648   
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
 1823   1649   
new file mode 100644
 1824   1650   
index 0000000..71c7bac
 1825         -
-- /dev/null
        1651  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1826   1652   
@@ -0,0 +1 @@
        1653  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1827   1654   
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
 1828   1655   
new file mode 100644
 1829   1656   
index 0000000..0add1f1
 1830         -
-- /dev/null
        1657  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1831   1658   
@@ -0,0 +1,5 @@
        1659  +
GET //example// HTTP/1.1
        1660  +
Host:example.amazonaws.com
        1661  +
X-Amz-Date:20150830T123600Z
        1662  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1663  +
 1832   1664   
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
 1833   1665   
similarity index 100%
 1834   1666   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1835   1667   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1836   1668   
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
 1837   1669   
new file mode 100644
 1838   1670   
index 0000000..ce72510
 1839         -
-- /dev/null
        1671  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1840   1672   
@@ -0,0 +1,7 @@
        1673  +
GET
        1674  +
/example/
        1675  +
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
        1676  +
host:example.amazonaws.com
        1677  +
        1678  +
host
        1679  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1841   1680   
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
 1842   1681   
new file mode 100644
 1843   1682   
index 0000000..265f387
 1844         -
-- /dev/null
        1683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1845   1684   
@@ -0,0 +1 @@
        1685  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1846   1686   
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
 1847   1687   
new file mode 100644
 1848   1688   
index 0000000..e1fcb2e
 1849         -
-- /dev/null
        1689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1850   1690   
@@ -0,0 +1,3 @@
        1691  +
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
        1692  +
Host:example.amazonaws.com
        1693  +
 1851   1694   
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
 1852   1695   
new file mode 100644
 1853   1696   
index 0000000..a14de61
 1854         -
-- /dev/null
        1697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1855   1698   
@@ -0,0 +1,4 @@
        1699  +
AWS4-HMAC-SHA256
        1700  +
20150830T123600Z
        1701  +
20150830/us-east-1/service/aws4_request
        1702  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1856   1703   
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
 1857   1704   
similarity index 100%
 1858   1705   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1859   1706   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1860   1707   
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
 1861   1708   
new file mode 100644
 1862   1709   
index 0000000..7bee5c7
 1863         -
-- /dev/null
        1710  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1864   1711   
@@ -0,0 +1,12 @@
        1712  +
{
        1713  +
    "credentials": {
        1714  +
        "access_key_id": "AKIDEXAMPLE",
        1715  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1716  +
    },
        1717  +
    "expiration_in_seconds": 3600,
        1718  +
    "normalize": false,
        1719  +
    "region": "us-east-1",
        1720  +
    "service": "service",
        1721  +
    "sign_body": false,
        1722  +
    "timestamp": "2015-08-30T12:36:00Z"
        1723  +
}
              \
 No newline at end of file
 1865   1724   
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
 1866   1725   
new file mode 100644
 1867   1726   
index 0000000..dfffaaf
 1868         -
-- /dev/null
        1727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1869   1728   
@@ -0,0 +1,8 @@
        1729  +
GET
        1730  +
//example//
        1731  +
        1732  +
host:example.amazonaws.com
        1733  +
x-amz-date:20150830T123600Z
        1734  +
        1735  +
host;x-amz-date
        1736  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1870   1737   
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
 1871   1738   
new file mode 100644
 1872   1739   
index 0000000..edbcc0d
 1873         -
-- /dev/null
        1740  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1874   1741   
@@ -0,0 +1 @@
        1742  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1875   1743   
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
 1876   1744   
new file mode 100644
 1877   1745   
index 0000000..4cc12dd
 1878         -
-- /dev/null
        1746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1879   1747   
@@ -0,0 +1,5 @@
        1748  +
GET //example// HTTP/1.1
        1749  +
Host:example.amazonaws.com
        1750  +
X-Amz-Date:20150830T123600Z
        1751  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1752  +
 1880   1753   
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
 1881   1754   
new file mode 100644
 1882   1755   
index 0000000..3eba390
 1883         -
-- /dev/null
        1756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1884   1757   
@@ -0,0 +1,4 @@
        1758  +
AWS4-HMAC-SHA256
        1759  +
20150830T123600Z
        1760  +
20150830/us-east-1/service/aws4_request
        1761  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1885   1762   
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
 1886   1763   
new file mode 100644
 1887   1764   
index 0000000..f7844e3
 1888         -
-- /dev/null
        1765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1889   1766   
@@ -0,0 +1,7 @@
        1767  +
GET
        1768  +
//example//
        1769  +
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
        1770  +
host:example.amazonaws.com
        1771  +
        1772  +
host
        1773  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1890   1774   
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
 1891   1775   
new file mode 100644
 1892   1776   
index 0000000..a8d6b96
 1893         -
-- /dev/null
        1777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1894   1778   
@@ -0,0 +1 @@
        1779  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1895   1780   
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
 1896   1781   
new file mode 100644
 1897   1782   
index 0000000..a8322c6
 1898         -
-- /dev/null
        1783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1899   1784   
@@ -0,0 +1,3 @@
        1785  +
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
        1786  +
Host:example.amazonaws.com
        1787  +
 1900   1788   
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
 1901   1789   
new file mode 100644
 1902   1790   
index 0000000..068724d
 1903         -
-- /dev/null
        1791  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1904   1792   
@@ -0,0 +1,4 @@
        1793  +
AWS4-HMAC-SHA256
        1794  +
20150830T123600Z
        1795  +
20150830/us-east-1/service/aws4_request
        1796  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1905   1797   
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
 1906   1798   
similarity index 100%
 1907   1799   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1908   1800   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1909   1801   
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
 1910   1802   
new file mode 100644
 1911   1803   
index 0000000..0468d80
 1912         -
-- /dev/null
        1804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1913   1805   
@@ -0,0 +1,12 @@
        1806  +
{
        1807  +
    "credentials": {
        1808  +
        "access_key_id": "AKIDEXAMPLE",
        1809  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1810  +
    },
        1811  +
    "expiration_in_seconds": 3600,
        1812  +
    "normalize": true,
        1813  +
    "region": "us-east-1",
        1814  +
    "service": "service",
        1815  +
    "sign_body": false,
        1816  +
    "timestamp": "2015-08-30T12:36:00Z"
        1817  +
}
              \
 No newline at end of file
 1914   1818   
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
 1915   1819   
similarity index 100%
 1916   1820   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1917   1821   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1918   1822   
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
 1919   1823   
new file mode 100644
 1920   1824   
index 0000000..f63892b
 1921         -
-- /dev/null
        1825  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1922   1826   
@@ -0,0 +1 @@
        1827  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1923   1828   
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
 1924   1829   
new file mode 100644
 1925   1830   
index 0000000..19cd5cb
 1926         -
-- /dev/null
        1831  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1927   1832   
@@ -0,0 +1,5 @@
        1833  +
GET /example space/ HTTP/1.1
        1834  +
Host:example.amazonaws.com
        1835  +
X-Amz-Date:20150830T123600Z
        1836  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1837  +
 1928   1838   
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
 1929   1839   
similarity index 100%
 1930   1840   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1931   1841   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1932   1842   
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
 1933   1843   
new file mode 100644
 1934   1844   
index 0000000..fa3d3e2
 1935         -
-- /dev/null
        1845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1936   1846   
@@ -0,0 +1,7 @@
        1847  +
GET
        1848  +
/example%20space/
        1849  +
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
        1850  +
host:example.amazonaws.com
        1851  +
        1852  +
host
        1853  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1937   1854   
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
 1938   1855   
new file mode 100644
 1939   1856   
index 0000000..5b2e204
 1940         -
-- /dev/null
        1857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1941   1858   
@@ -0,0 +1 @@
        1859  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1942   1860   
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
 1943   1861   
new file mode 100644
 1944   1862   
index 0000000..93ca1d0
 1945         -
-- /dev/null
        1863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1946   1864   
@@ -0,0 +1,3 @@
        1865  +
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
        1866  +
Host:example.amazonaws.com
        1867  +
 1947   1868   
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
 1948   1869   
new file mode 100644
 1949   1870   
index 0000000..b4cb789
 1950         -
-- /dev/null
        1871  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1951   1872   
@@ -0,0 +1,4 @@
        1873  +
AWS4-HMAC-SHA256
        1874  +
20150830T123600Z
        1875  +
20150830/us-east-1/service/aws4_request
        1876  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1952   1877   
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
 1953   1878   
new file mode 100644
 1954   1879   
index 0000000..860a277
 1955         -
-- /dev/null
        1880  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1956   1881   
@@ -0,0 +1,2 @@
        1882  +
GET /example%20space/ HTTP/1.1
        1883  +
Host:example.amazonaws.com
 1957   1884   
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
 1958   1885   
new file mode 100644
 1959   1886   
index 0000000..7bee5c7
 1960         -
-- /dev/null
        1887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1961   1888   
@@ -0,0 +1,12 @@
        1889  +
{
        1890  +
    "credentials": {
        1891  +
        "access_key_id": "AKIDEXAMPLE",
        1892  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1893  +
    },
        1894  +
    "expiration_in_seconds": 3600,
        1895  +
    "normalize": false,
        1896  +
    "region": "us-east-1",
        1897  +
    "service": "service",
        1898  +
    "sign_body": false,
        1899  +
    "timestamp": "2015-08-30T12:36:00Z"
        1900  +
}
              \
 No newline at end of file
 1962   1901   
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
 1963   1902   
similarity index 66%
 1964   1903   
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
 1965   1904   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1966   1905   
index 71dc981..124a709 100644
 1967         -
-- 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
        1906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1968   1907   
@@ -1,9 +1,8 @@
 1969         -
POST
 1970         -
/
        1908  +
GET
        1909  +
/example%20space/
 1971   1910   
 1972         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1973   1911   
host:example.amazonaws.com
 1974   1912   
x-amz-date:20150830T123600Z
 1975   1913   
 1976   1914   
host;x-amz-date
 1977   1915   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1978   1916   
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
 1979   1917   
new file mode 100644
 1980   1918   
index 0000000..f63892b
 1981         -
-- /dev/null
        1919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1982   1920   
@@ -0,0 +1 @@
        1921  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1983   1922   
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
 1984   1923   
new file mode 100644
 1985   1924   
index 0000000..19cd5cb
 1986         -
-- /dev/null
        1925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1987   1926   
@@ -0,0 +1,5 @@
        1927  +
GET /example space/ HTTP/1.1
        1928  +
Host:example.amazonaws.com
        1929  +
X-Amz-Date:20150830T123600Z
        1930  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1931  +
 1988   1932   
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
 1989   1933   
new file mode 100644
 1990   1934   
index 0000000..a633f0c
 1991         -
-- /dev/null
        1935  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1992   1936   
@@ -0,0 +1,4 @@
        1937  +
AWS4-HMAC-SHA256
        1938  +
20150830T123600Z
        1939  +
20150830/us-east-1/service/aws4_request
        1940  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1993   1941   
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
 1994   1942   
new file mode 100644
 1995   1943   
index 0000000..fa3d3e2
 1996         -
-- /dev/null
        1944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1997   1945   
@@ -0,0 +1,7 @@
        1946  +
GET
        1947  +
/example%20space/
        1948  +
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
        1949  +
host:example.amazonaws.com
        1950  +
        1951  +
host
        1952  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1998   1953   
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
 1999   1954   
new file mode 100644
 2000   1955   
index 0000000..5b2e204
 2001         -
-- /dev/null
        1956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 2002   1957   
@@ -0,0 +1 @@
        1958  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 2003   1959   
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
 2004   1960   
new file mode 100644
 2005   1961   
index 0000000..93ca1d0
 2006         -
-- /dev/null
        1962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 2007   1963   
@@ -0,0 +1,3 @@
        1964  +
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
        1965  +
Host:example.amazonaws.com
        1966  +
 2008   1967   
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
 2009   1968   
new file mode 100644
 2010   1969   
index 0000000..b4cb789
 2011         -
-- /dev/null
        1970  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 2012   1971   
@@ -0,0 +1,4 @@
        1972  +
AWS4-HMAC-SHA256
        1973  +
20150830T123600Z
        1974  +
20150830/us-east-1/service/aws4_request
        1975  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 2013   1976   
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
 2014   1977   
similarity index 67%
 2015   1978   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 2016   1979   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2017   1980   
index b7d5e8b..ab509ab 100644
 2018         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1981  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2019   1982   
@@ -1,3 +1,2 @@
 2020   1983   
GET /example space/ HTTP/1.1
 2021   1984   
Host:example.amazonaws.com
 2022         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2023   1985   
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
 2024   1986   
new file mode 100644
 2025   1987   
index 0000000..0468d80
 2026         -
-- /dev/null
        1988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 2027   1989   
@@ -0,0 +1,12 @@
        1990  +
{
        1991  +
    "credentials": {
        1992  +
        "access_key_id": "AKIDEXAMPLE",
        1993  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1994  +
    },
        1995  +
    "expiration_in_seconds": 3600,
        1996  +
    "normalize": true,
        1997  +
    "region": "us-east-1",
        1998  +
    "service": "service",
        1999  +
    "sign_body": false,
        2000  +
    "timestamp": "2015-08-30T12:36:00Z"
        2001  +
}
              \
 No newline at end of file
 2028   2002   
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
 2029   2003   
similarity index 100%
 2030   2004   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 2031   2005   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 2032   2006   
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
 2033   2007   
new file mode 100644
 2034   2008   
index 0000000..e503354
 2035         -
-- /dev/null
        2009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 2036   2010   
@@ -0,0 +1 @@
        2011  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 2037   2012   
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
 2038   2013   
new file mode 100644
 2039   2014   
index 0000000..4367892
 2040         -
-- /dev/null
        2015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 2041   2016   
@@ -0,0 +1,5 @@
        2017  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        2018  +
Host:example.amazonaws.com
        2019  +
X-Amz-Date:20150830T123600Z
        2020  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        2021  +
 2042   2022   
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
 2043   2023   
similarity index 100%
 2044   2024   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 2045   2025   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 2046   2026   
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
 2047   2027   
new file mode 100644
 2048   2028   
index 0000000..d7f0696
 2049         -
-- /dev/null
        2029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 2050   2030   
@@ -0,0 +1,7 @@
        2031  +
GET
        2032  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        2033  +
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
        2034  +
host:example.amazonaws.com
        2035  +
        2036  +
host
        2037  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2051   2038   
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
 2052   2039   
new file mode 100644
 2053   2040   
index 0000000..509e972
 2054         -
-- /dev/null
        2041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 2055   2042   
@@ -0,0 +1 @@
        2043  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 2056   2044   
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
 2057   2045   
new file mode 100644
 2058   2046   
index 0000000..79aad36
 2059         -
-- /dev/null
        2047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 2060   2048   
@@ -0,0 +1,3 @@
        2049  +
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
        2050  +
Host:example.amazonaws.com
        2051  +
 2061   2052   
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
 2062   2053   
new file mode 100644
 2063   2054   
index 0000000..e8068b3
 2064         -
-- /dev/null
        2055  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 2065   2056   
@@ -0,0 +1,4 @@
        2057  +
AWS4-HMAC-SHA256
        2058  +
20150830T123600Z
        2059  +
20150830/us-east-1/service/aws4_request
        2060  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 2066   2061   
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
 2067   2062   
similarity index 100%
 2068   2063   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 2069   2064   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 2070   2065   
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
 2071   2066   
new file mode 100644
 2072   2067   
index 0000000..0468d80
 2073         -
-- /dev/null
        2068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 2074   2069   
@@ -0,0 +1,12 @@
        2070  +
{
        2071  +
    "credentials": {
        2072  +
        "access_key_id": "AKIDEXAMPLE",
        2073  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2074  +
    },
        2075  +
    "expiration_in_seconds": 3600,
        2076  +
    "normalize": true,
        2077  +
    "region": "us-east-1",
        2078  +
    "service": "service",
        2079  +
    "sign_body": false,
        2080  +
    "timestamp": "2015-08-30T12:36:00Z"
        2081  +
}
              \
 No newline at end of file
 2075   2082   
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
 2076   2083   
similarity index 100%
 2077   2084   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 2078   2085   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 2079   2086   
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
 2080   2087   
new file mode 100644
 2081   2088   
index 0000000..9a13676
 2082         -
-- /dev/null
        2089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 2083   2090   
@@ -0,0 +1 @@
        2091  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 2084   2092   
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
 2085   2093   
new file mode 100644
 2086   2094   
index 0000000..5aaf47c
 2087         -
-- /dev/null
        2095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 2088   2096   
@@ -0,0 +1,5 @@
        2097  +
GET /ሴ HTTP/1.1
        2098  +
Host:example.amazonaws.com
        2099  +
X-Amz-Date:20150830T123600Z
        2100  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        2101  +
 2089   2102   
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
 2090   2103   
similarity index 100%
 2091   2104   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 2092   2105   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 2093   2106   
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
 2094   2107   
new file mode 100644
 2095   2108   
index 0000000..bdb77c9
 2096         -
-- /dev/null
        2109  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 2097   2110   
@@ -0,0 +1,7 @@
        2111  +
GET
        2112  +
/%E1%88%B4
        2113  +
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
        2114  +
host:example.amazonaws.com
        2115  +
        2116  +
host
        2117  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2098   2118   
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
 2099   2119   
new file mode 100644
 2100   2120   
index 0000000..21342b3
 2101         -
-- /dev/null
        2121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 2102   2122   
@@ -0,0 +1 @@
        2123  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 2103   2124   
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
 2104   2125   
new file mode 100644
 2105   2126   
index 0000000..368c2ff
 2106         -
-- /dev/null
        2127  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 2107   2128   
@@ -0,0 +1,3 @@
        2129  +
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
        2130  +
Host:example.amazonaws.com
        2131  +
 2108   2132   
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
 2109   2133   
new file mode 100644
 2110   2134   
index 0000000..56b8fbf
 2111         -
-- /dev/null
        2135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2112   2136   
@@ -0,0 +1,4 @@
        2137  +
AWS4-HMAC-SHA256
        2138  +
20150830T123600Z
        2139  +
20150830/us-east-1/service/aws4_request
        2140  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 2113   2141   
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
 2114   2142   
similarity index 62%
 2115   2143   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 2116   2144   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2117   2145   
index da4808d..9e273f6 100644
 2118         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2146  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2119   2147   
@@ -1,3 +1,2 @@
 2120   2148   
GET /ሴ HTTP/1.1
 2121   2149   
Host:example.amazonaws.com
 2122         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2123   2150   
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
 2124   2151   
new file mode 100644
 2125   2152   
index 0000000..0468d80
 2126         -
-- /dev/null
        2153  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2127   2154   
@@ -0,0 +1,12 @@
        2155  +
{
        2156  +
    "credentials": {
        2157  +
        "access_key_id": "AKIDEXAMPLE",
        2158  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2159  +
    },
        2160  +
    "expiration_in_seconds": 3600,
        2161  +
    "normalize": true,
        2162  +
    "region": "us-east-1",
        2163  +
    "service": "service",
        2164  +
    "sign_body": false,
        2165  +
    "timestamp": "2015-08-30T12:36:00Z"
        2166  +
}
              \
 No newline at end of file
 2128   2167   
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
 2129   2168   
similarity index 100%
 2130   2169   
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
 2131   2170   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2132   2171   
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
 2133   2172   
new file mode 100644
 2134   2173   
index 0000000..d7f1c1c
 2135         -
-- /dev/null
        2174  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2136   2175   
@@ -0,0 +1 @@
        2176  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2137   2177   
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
 2138   2178   
new file mode 100644
 2139   2179   
index 0000000..1c60790
 2140         -
-- /dev/null
        2180  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2141   2181   
@@ -0,0 +1,5 @@
        2182  +
GET /?Param1=value1 HTTP/1.1
        2183  +
Host:example.amazonaws.com
        2184  +
X-Amz-Date:20150830T123600Z
        2185  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2186  +
 2142   2187   
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
 2143   2188   
similarity index 100%
 2144   2189   
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
 2145   2190   
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
 2146   2191   
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
 2147   2192   
new file mode 100644
 2148   2193   
index 0000000..6a823ed
 2149         -
-- /dev/null
        2194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2150   2195   
@@ -0,0 +1,7 @@
        2196  +
GET
        2197  +
/
        2198  +
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
        2199  +
host:example.amazonaws.com
        2200  +
        2201  +
host
        2202  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2151   2203   
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
 2152   2204   
new file mode 100644
 2153   2205   
index 0000000..8c77136
 2154         -
-- /dev/null
        2206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2155   2207   
@@ -0,0 +1 @@
        2208  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2156   2209   
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
 2157   2210   
new file mode 100644
 2158   2211   
index 0000000..2d337d8
 2159         -
-- /dev/null
        2212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2160   2213   
@@ -0,0 +1,3 @@
        2214  +
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
        2215  +
Host:example.amazonaws.com
        2216  +
 2161   2217   
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
 2162   2218   
new file mode 100644
 2163   2219   
index 0000000..191a484
 2164         -
-- /dev/null
        2220  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2165   2221   
@@ -0,0 +1,4 @@
        2222  +
AWS4-HMAC-SHA256
        2223  +
20150830T123600Z
        2224  +
20150830/us-east-1/service/aws4_request
        2225  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2166   2226   
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
 2167   2227   
similarity index 100%
 2168   2228   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2169   2229   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2170   2230   
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
 2171   2231   
new file mode 100644
 2172   2232   
index 0000000..0468d80
 2173         -
-- /dev/null
        2233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2174   2234   
@@ -0,0 +1,12 @@
        2235  +
{
        2236  +
    "credentials": {
        2237  +
        "access_key_id": "AKIDEXAMPLE",
        2238  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2239  +
    },
        2240  +
    "expiration_in_seconds": 3600,
        2241  +
    "normalize": true,
        2242  +
    "region": "us-east-1",
        2243  +
    "service": "service",
        2244  +
    "sign_body": false,
        2245  +
    "timestamp": "2015-08-30T12:36:00Z"
        2246  +
}
              \
 No newline at end of file
 2175   2247   
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
 2176   2248   
new file mode 100644
 2177   2249   
index 0000000..0c8ba21
 2178         -
-- /dev/null
        2250  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2179   2251   
@@ -0,0 +1,8 @@
        2252  +
GET
        2253  +
/
        2254  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2255  +
host:example.amazonaws.com
        2256  +
x-amz-date:20150830T123600Z
        2257  +
        2258  +
host;x-amz-date
        2259  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2180   2260   
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
 2181   2261   
new file mode 100644
 2182   2262   
index 0000000..9ab65ed
 2183         -
-- /dev/null
        2263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2184   2264   
@@ -0,0 +1 @@
        2265  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2185   2266   
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
 2186   2267   
new file mode 100644
 2187   2268   
index 0000000..0bcdf98
 2188         -
-- /dev/null
        2269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2189   2270   
@@ -0,0 +1,5 @@
        2271  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2272  +
Host:example.amazonaws.com
        2273  +
X-Amz-Date:20150830T123600Z
        2274  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2275  +
 2190   2276   
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
 2191   2277   
new file mode 100644
 2192   2278   
index 0000000..bf674ad
 2193         -
-- /dev/null
        2279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2194   2280   
@@ -0,0 +1,4 @@
        2281  +
AWS4-HMAC-SHA256
        2282  +
20150830T123600Z
        2283  +
20150830/us-east-1/service/aws4_request
        2284  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2195   2285   
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
 2196   2286   
new file mode 100644
 2197   2287   
index 0000000..3f590a4
 2198         -
-- /dev/null
        2288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2199   2289   
@@ -0,0 +1,7 @@
        2290  +
GET
        2291  +
/
        2292  +
%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
        2293  +
host:example.amazonaws.com
        2294  +
        2295  +
host
        2296  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2200   2297   
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
 2201   2298   
new file mode 100644
 2202   2299   
index 0000000..e225eab
 2203         -
-- /dev/null
        2300  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2204   2301   
@@ -0,0 +1 @@
        2302  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2205   2303   
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
 2206   2304   
new file mode 100644
 2207   2305   
index 0000000..6206719
 2208         -
-- /dev/null
        2306  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2209   2307   
@@ -0,0 +1,3 @@
        2308  +
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
        2309  +
Host:example.amazonaws.com
        2310  +
 2210   2311   
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
 2211   2312   
new file mode 100644
 2212   2313   
index 0000000..81a4210
 2213         -
-- /dev/null
        2314  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2214   2315   
@@ -0,0 +1,4 @@
        2316  +
AWS4-HMAC-SHA256
        2317  +
20150830T123600Z
        2318  +
20150830/us-east-1/service/aws4_request
        2319  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2215   2320   
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
 2216   2321   
new file mode 100644
 2217   2322   
index 0000000..368c6e3
 2218         -
-- /dev/null
        2323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2219   2324   
@@ -0,0 +1,2 @@
        2325  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2326  +
Host:example.amazonaws.com
 2220   2327   
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
 2221   2328   
new file mode 100644
 2222   2329   
index 0000000..0468d80
 2223         -
-- /dev/null
        2330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2224   2331   
@@ -0,0 +1,12 @@
        2332  +
{
        2333  +
    "credentials": {
        2334  +
        "access_key_id": "AKIDEXAMPLE",
        2335  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2336  +
    },
        2337  +
    "expiration_in_seconds": 3600,
        2338  +
    "normalize": true,
        2339  +
    "region": "us-east-1",
        2340  +
    "service": "service",
        2341  +
    "sign_body": false,
        2342  +
    "timestamp": "2015-08-30T12:36:00Z"
        2343  +
}
              \
 No newline at end of file
 2225   2344   
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
 2226   2345   
similarity index 100%
 2227   2346   
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
 2228   2347   
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
 2229   2348   
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
 2230   2349   
new file mode 100644
 2231   2350   
index 0000000..6a8cb9d
 2232         -
-- /dev/null
        2351  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2233   2352   
@@ -0,0 +1 @@
        2353  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2234   2354   
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
 2235   2355   
new file mode 100644
 2236   2356   
index 0000000..f78a9d2
 2237         -
-- /dev/null
        2357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2238   2358   
@@ -0,0 +1,5 @@
        2359  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2360  +
Host:example.amazonaws.com
        2361  +
X-Amz-Date:20150830T123600Z
        2362  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2363  +
 2239   2364   
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
 2240   2365   
similarity index 100%
 2241   2366   
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
 2242   2367   
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
 2243   2368   
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
 2244   2369   
new file mode 100644
 2245   2370   
index 0000000..a6e1bc7
 2246         -
-- /dev/null
        2371  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2247   2372   
@@ -0,0 +1,7 @@
        2373  +
GET
        2374  +
/
        2375  +
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
        2376  +
host:example.amazonaws.com
        2377  +
        2378  +
host
        2379  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2248   2380   
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
 2249   2381   
new file mode 100644
 2250   2382   
index 0000000..d6e6a88
 2251         -
-- /dev/null
        2383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2252   2384   
@@ -0,0 +1 @@
        2385  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2253   2386   
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
 2254   2387   
new file mode 100644
 2255   2388   
index 0000000..538e2f0
 2256         -
-- /dev/null
        2389  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2257   2390   
@@ -0,0 +1,3 @@
        2391  +
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
        2392  +
Host:example.amazonaws.com
        2393  +
 2258   2394   
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
 2259   2395   
new file mode 100644
 2260   2396   
index 0000000..e696085
 2261         -
-- /dev/null
        2397  +
++ 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
 2262   2398   
@@ -0,0 +1,4 @@
        2399  +
AWS4-HMAC-SHA256
        2400  +
20150830T123600Z
        2401  +
20150830/us-east-1/service/aws4_request
        2402  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2263   2403   
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
 2264   2404   
similarity index 100%
 2265   2405   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2266   2406   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2267   2407   
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
 2268   2408   
new file mode 100644
 2269   2409   
index 0000000..0468d80
 2270         -
-- /dev/null
        2410  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2271   2411   
@@ -0,0 +1,12 @@
        2412  +
{
        2413  +
    "credentials": {
        2414  +
        "access_key_id": "AKIDEXAMPLE",
        2415  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2416  +
    },
        2417  +
    "expiration_in_seconds": 3600,
        2418  +
    "normalize": true,
        2419  +
    "region": "us-east-1",
        2420  +
    "service": "service",
        2421  +
    "sign_body": false,
        2422  +
    "timestamp": "2015-08-30T12:36:00Z"
        2423  +
}
              \
 No newline at end of file
 2272   2424   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2273   2425   
similarity index 100%
 2274   2426   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2275   2427   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2276   2428   
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
 2277   2429   
new file mode 100644
 2278   2430   
index 0000000..876a64b
 2279         -
-- /dev/null
        2431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2280   2432   
@@ -0,0 +1 @@
        2433  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2281   2434   
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
 2282   2435   
similarity index 50%
 2283   2436   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2284   2437   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2285   2438   
index ba1ef40..9d0d993 100644
 2286         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2287   2440   
@@ -1,4 +1,5 @@
 2288   2441   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2289   2442   
Host:example.amazonaws.com
 2290   2443   
X-Amz-Date:20150830T123600Z
 2291         -
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
        2444  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2445  +
 2292   2446   
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
 2293   2447   
similarity index 100%
 2294   2448   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2295   2449   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2296   2450   
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
 2297   2451   
new file mode 100644
 2298   2452   
index 0000000..a1bac59
 2299         -
-- /dev/null
        2453  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2300   2454   
@@ -0,0 +1,7 @@
        2455  +
GET
        2456  +
/
        2457  +
-._~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
        2458  +
host:example.amazonaws.com
        2459  +
        2460  +
host
        2461  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2301   2462   
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
 2302   2463   
new file mode 100644
 2303   2464   
index 0000000..41881e9
 2304         -
-- /dev/null
        2465  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2305   2466   
@@ -0,0 +1 @@
        2467  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2306   2468   
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
 2307   2469   
new file mode 100644
 2308   2470   
index 0000000..3179076
 2309         -
-- /dev/null
        2471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2310   2472   
@@ -0,0 +1,3 @@
        2473  +
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
        2474  +
Host:example.amazonaws.com
        2475  +
 2311   2476   
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
 2312   2477   
new file mode 100644
 2313   2478   
index 0000000..6d675fc
 2314         -
-- /dev/null
        2479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2315   2480   
@@ -0,0 +1,4 @@
        2481  +
AWS4-HMAC-SHA256
        2482  +
20150830T123600Z
        2483  +
20150830/us-east-1/service/aws4_request
        2484  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2316   2485   
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
 2317   2486   
similarity index 100%
 2318   2487   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2319   2488   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2320   2489   
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
 2321   2490   
new file mode 100644
 2322   2491   
index 0000000..0468d80
 2323         -
-- /dev/null
        2492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2324   2493   
@@ -0,0 +1,12 @@
        2494  +
{
        2495  +
    "credentials": {
        2496  +
        "access_key_id": "AKIDEXAMPLE",
        2497  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2498  +
    },
        2499  +
    "expiration_in_seconds": 3600,
        2500  +
    "normalize": true,
        2501  +
    "region": "us-east-1",
        2502  +
    "service": "service",
        2503  +
    "sign_body": false,
        2504  +
    "timestamp": "2015-08-30T12:36:00Z"
        2505  +
}
              \
 No newline at end of file
 2325   2506   
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
 2326   2507   
similarity index 100%
 2327   2508   
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
 2328   2509   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2329   2510   
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
 2330   2511   
new file mode 100644
 2331   2512   
index 0000000..87f295f
 2332         -
-- /dev/null
        2513  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2333   2514   
@@ -0,0 +1 @@
        2515  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2334   2516   
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
 2335   2517   
new file mode 100644
 2336   2518   
index 0000000..36b86e7
 2337         -
-- /dev/null
        2519  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2338   2520   
@@ -0,0 +1,5 @@
        2521  +
GET / HTTP/1.1
        2522  +
Host:example.amazonaws.com
        2523  +
X-Amz-Date:20150830T123600Z
        2524  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2525  +
 2339   2526   
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
 2340   2527   
similarity index 100%
 2341   2528   
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
 2342   2529   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2343   2530   
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
 2344   2531   
new file mode 100644
 2345   2532   
index 0000000..fb2420d
 2346         -
-- /dev/null
        2533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2347   2534   
@@ -0,0 +1,7 @@
        2535  +
GET
        2536  +
/
        2537  +
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
        2538  +
host:example.amazonaws.com
        2539  +
        2540  +
host
        2541  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2348   2542   
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
 2349   2543   
new file mode 100644
 2350   2544   
index 0000000..da5c905
 2351         -
-- /dev/null
        2545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2352   2546   
@@ -0,0 +1 @@
        2547  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2353   2548   
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
 2354   2549   
new file mode 100644
 2355   2550   
index 0000000..eeb7a8f
 2356         -
-- /dev/null
        2551  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2357   2552   
@@ -0,0 +1,3 @@
        2553  +
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
        2554  +
Host:example.amazonaws.com
        2555  +
 2358   2556   
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
 2359   2557   
new file mode 100644
 2360   2558   
index 0000000..d837e67
 2361         -
-- /dev/null
        2559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2362   2560   
@@ -0,0 +1,4 @@
        2561  +
AWS4-HMAC-SHA256
        2562  +
20150830T123600Z
        2563  +
20150830/us-east-1/service/aws4_request
        2564  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2363   2565   
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
 2364   2566   
similarity index 100%
 2365   2567   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2366   2568   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2367   2569   
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
 2368   2570   
new file mode 100644
 2369   2571   
index 0000000..0468d80
 2370         -
-- /dev/null
        2572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2371   2573   
@@ -0,0 +1,12 @@
        2574  +
{
        2575  +
    "credentials": {
        2576  +
        "access_key_id": "AKIDEXAMPLE",
        2577  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2578  +
    },
        2579  +
    "expiration_in_seconds": 3600,
        2580  +
    "normalize": true,
        2581  +
    "region": "us-east-1",
        2582  +
    "service": "service",
        2583  +
    "sign_body": false,
        2584  +
    "timestamp": "2015-08-30T12:36:00Z"
        2585  +
}
              \
 No newline at end of file
 2372   2586   
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
 2373   2587   
similarity index 100%
 2374   2588   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2375   2589   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2376   2590   
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
 2377   2591   
new file mode 100644
 2378   2592   
index 0000000..19a2cc9
 2379         -
-- /dev/null
        2593  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2380   2594   
@@ -0,0 +1 @@
        2595  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2381   2596   
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
 2382   2597   
new file mode 100644
 2383   2598   
index 0000000..acb13ee
 2384         -
-- /dev/null
        2599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2385   2600   
@@ -0,0 +1,5 @@
        2601  +
GET /?ሴ=bar HTTP/1.1
        2602  +
Host:example.amazonaws.com
        2603  +
X-Amz-Date:20150830T123600Z
        2604  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2605  +
 2386   2606   
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
 2387   2607   
similarity index 100%
 2388   2608   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2389   2609   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2390   2610   
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
 2391   2611   
new file mode 100644
 2392   2612   
index 0000000..92cee62
 2393         -
-- /dev/null
        2613  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2394   2614   
@@ -0,0 +1,7 @@
        2615  +
GET
        2616  +
/
        2617  +
%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
        2618  +
host:example.amazonaws.com
        2619  +
        2620  +
host
        2621  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2395   2622   
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
 2396   2623   
new file mode 100644
 2397   2624   
index 0000000..c9e49de
 2398         -
-- /dev/null
        2625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2399   2626   
@@ -0,0 +1 @@
        2627  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2400   2628   
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
 2401   2629   
new file mode 100644
 2402   2630   
index 0000000..8f4d8d0
 2403         -
-- /dev/null
        2631  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2404   2632   
@@ -0,0 +1,3 @@
        2633  +
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
        2634  +
Host:example.amazonaws.com
        2635  +
 2405   2636   
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
 2406   2637   
new file mode 100644
 2407   2638   
index 0000000..a6181dc
 2408         -
-- /dev/null
        2639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2409   2640   
@@ -0,0 +1,4 @@
        2641  +
AWS4-HMAC-SHA256
        2642  +
20150830T123600Z
        2643  +
20150830/us-east-1/service/aws4_request
        2644  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2410   2645   
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
 2411   2646   
similarity index 64%
 2412   2647   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2413   2648   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2414   2649   
index cc2757e..aff333a 100644
 2415         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2650  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2416   2651   
@@ -1,3 +1,2 @@
 2417   2652   
GET /?ሴ=bar HTTP/1.1
 2418   2653   
Host:example.amazonaws.com
 2419         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2420   2654   
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
 2421   2655   
similarity index 99%
 2422   2656   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2423   2657   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2424   2658   
index a457c8a..a334e18 100644
 2425         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
        2659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2426   2660   
@@ -1,13 +1,13 @@
 2427   2661   
{
 2428   2662   
    "credentials": {
 2429   2663   
        "access_key_id": "AKIDEXAMPLE",
 2430   2664   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
 2431   2665   
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
 2432   2666   
    },
 2433   2667   
    "expiration_in_seconds": 3600,
 2434   2668   
    "normalize": true,
 2435   2669   
    "region": "us-east-1",
 2436   2670   
    "service": "service",
 2437   2671   
    "sign_body": false,
 2438   2672   
    "timestamp": "2015-08-30T12:36:00Z"
 2439         -
}
        2673  +
}
              \
 No newline at end of file
 2440   2674   
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
 2441   2675   
new file mode 100644
 2442   2676   
index 0000000..ccacdeb
 2443         -
-- /dev/null
        2677  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2444   2678   
@@ -0,0 +1,9 @@
        2679  +
GET
        2680  +
/
        2681  +
        2682  +
host:example.amazonaws.com
        2683  +
x-amz-date:20150830T123600Z
        2684  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2685  +
        2686  +
host;x-amz-date;x-amz-security-token
        2687  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2445   2688   
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
 2446   2689   
new file mode 100644
 2447   2690   
index 0000000..083e30d
 2448         -
-- /dev/null
        2691  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2449   2692   
@@ -0,0 +1 @@
        2693  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2450   2694   
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
 2451   2695   
new file mode 100644
 2452   2696   
index 0000000..5287932
 2453         -
-- /dev/null
        2697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2454   2698   
@@ -0,0 +1,6 @@
        2699  +
GET / HTTP/1.1
        2700  +
Host:example.amazonaws.com
        2701  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2702  +
X-Amz-Date:20150830T123600Z
        2703  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2704  +
 2455   2705   
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
 2456   2706   
new file mode 100644
 2457   2707   
index 0000000..742b880
 2458         -
-- /dev/null
        2708  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2459   2709   
@@ -0,0 +1,4 @@
        2710  +
AWS4-HMAC-SHA256
        2711  +
20150830T123600Z
        2712  +
20150830/us-east-1/service/aws4_request
        2713  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2460   2714   
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
 2461   2715   
new file mode 100644
 2462   2716   
index 0000000..5e75179
 2463         -
-- /dev/null
        2717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2464   2718   
@@ -0,0 +1,7 @@
        2719  +
GET
        2720  +
/
        2721  +
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
        2722  +
host:example.amazonaws.com
        2723  +
        2724  +
host
        2725  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2465   2726   
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
 2466   2727   
new file mode 100644
 2467   2728   
index 0000000..50b947f
 2468         -
-- /dev/null
        2729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2469   2730   
@@ -0,0 +1 @@
        2731  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2470   2732   
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
 2471   2733   
new file mode 100644
 2472   2734   
index 0000000..aee910b
 2473         -
-- /dev/null
        2735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2474   2736   
@@ -0,0 +1,3 @@
        2737  +
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
        2738  +
Host:example.amazonaws.com
        2739  +
 2475   2740   
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
 2476   2741   
new file mode 100644
 2477   2742   
index 0000000..04a6c17
 2478         -
-- /dev/null
        2743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2479   2744   
@@ -0,0 +1,4 @@
        2745  +
AWS4-HMAC-SHA256
        2746  +
20150830T123600Z
        2747  +
20150830/us-east-1/service/aws4_request
        2748  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2480   2749   
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
 2481   2750   
similarity index 100%
 2482   2751   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2483   2752   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2484   2753   
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
 2485   2754   
new file mode 100644
 2486   2755   
index 0000000..0468d80
 2487         -
-- /dev/null
        2756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2488   2757   
@@ -0,0 +1,12 @@
        2758  +
{
        2759  +
    "credentials": {
        2760  +
        "access_key_id": "AKIDEXAMPLE",
        2761  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2762  +
    },
        2763  +
    "expiration_in_seconds": 3600,
        2764  +
    "normalize": true,
        2765  +
    "region": "us-east-1",
        2766  +
    "service": "service",
        2767  +
    "sign_body": false,
        2768  +
    "timestamp": "2015-08-30T12:36:00Z"
        2769  +
}
              \
 No newline at end of file
 2489   2770   
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
 2490   2771   
similarity index 100%
 2491   2772   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2492   2773   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2493   2774   
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
 2494   2775   
new file mode 100644
 2495   2776   
index 0000000..87f295f
 2496         -
-- /dev/null
        2777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2497   2778   
@@ -0,0 +1 @@
        2779  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2498   2780   
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
 2499   2781   
new file mode 100644
 2500   2782   
index 0000000..36b86e7
 2501         -
-- /dev/null
        2783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2502   2784   
@@ -0,0 +1,5 @@
        2785  +
GET / HTTP/1.1
        2786  +
Host:example.amazonaws.com
        2787  +
X-Amz-Date:20150830T123600Z
        2788  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2789  +
 2503   2790   
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
 2504   2791   
similarity index 100%
 2505   2792   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2506   2793   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2507   2794   
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
 2508   2795   
new file mode 100644
 2509   2796   
index 0000000..fb2420d
 2510         -
-- /dev/null
        2797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2511   2798   
@@ -0,0 +1,7 @@
        2799  +
GET
        2800  +
/
        2801  +
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
        2802  +
host:example.amazonaws.com
        2803  +
        2804  +
host
        2805  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2512   2806   
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
 2513   2807   
new file mode 100644
 2514   2808   
index 0000000..da5c905
 2515         -
-- /dev/null
        2809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2516   2810   
@@ -0,0 +1 @@
        2811  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2517   2812   
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
 2518   2813   
new file mode 100644
 2519   2814   
index 0000000..eeb7a8f
 2520         -
-- /dev/null
        2815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2521   2816   
@@ -0,0 +1,3 @@
        2817  +
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
        2818  +
Host:example.amazonaws.com
        2819  +
 2522   2820   
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
 2523   2821   
new file mode 100644
 2524   2822   
index 0000000..d837e67
 2525         -
-- /dev/null
        2823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2526   2824   
@@ -0,0 +1,4 @@
        2825  +
AWS4-HMAC-SHA256
        2826  +
20150830T123600Z
        2827  +
20150830/us-east-1/service/aws4_request
        2828  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2527   2829   
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
 2528   2830   
similarity index 100%
 2529   2831   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2530   2832   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2531   2833   
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
 2532   2834   
new file mode 100644
 2533   2835   
index 0000000..0468d80
 2534         -
-- /dev/null
        2836  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2535   2837   
@@ -0,0 +1,12 @@
        2838  +
{
        2839  +
    "credentials": {
        2840  +
        "access_key_id": "AKIDEXAMPLE",
        2841  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2842  +
    },
        2843  +
    "expiration_in_seconds": 3600,
        2844  +
    "normalize": true,
        2845  +
    "region": "us-east-1",
        2846  +
    "service": "service",
        2847  +
    "sign_body": false,
        2848  +
    "timestamp": "2015-08-30T12:36:00Z"
        2849  +
}
              \
 No newline at end of file
 2536   2850   
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
 2537   2851   
similarity index 100%
 2538   2852   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2539   2853   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2540   2854   
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
 2541   2855   
new file mode 100644
 2542   2856   
index 0000000..629487f
 2543         -
-- /dev/null
        2857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2544   2858   
@@ -0,0 +1 @@
        2859  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2545   2860   
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
 2546   2861   
new file mode 100644
 2547   2862   
index 0000000..0d99b1c
 2548         -
-- /dev/null
        2863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2549   2864   
@@ -0,0 +1,5 @@
        2865  +
POST / HTTP/1.1
        2866  +
Host:example.amazonaws.com
        2867  +
X-Amz-Date:20150830T123600Z
        2868  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2869  +
 2550   2870   
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
 2551   2871   
similarity index 100%
 2552   2872   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2553   2873   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2554   2874   
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
 2555   2875   
new file mode 100644
 2556   2876   
index 0000000..d3341e7
 2557         -
-- /dev/null
        2877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2558   2878   
@@ -0,0 +1,7 @@
        2879  +
POST
        2880  +
/
        2881  +
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
        2882  +
host:example.amazonaws.com
        2883  +
        2884  +
host
        2885  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2559   2886   
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
 2560   2887   
new file mode 100644
 2561   2888   
index 0000000..79f7e0d
 2562         -
-- /dev/null
        2889  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2563   2890   
@@ -0,0 +1 @@
        2891  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2564   2892   
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
 2565   2893   
new file mode 100644
 2566   2894   
index 0000000..94f1b21
 2567         -
-- /dev/null
        2895  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2568   2896   
@@ -0,0 +1,3 @@
        2897  +
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
        2898  +
Host:example.amazonaws.com
        2899  +
 2569   2900   
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
 2570   2901   
new file mode 100644
 2571   2902   
index 0000000..e8f335b
 2572         -
-- /dev/null
        2903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2573   2904   
@@ -0,0 +1,4 @@
        2905  +
AWS4-HMAC-SHA256
        2906  +
20150830T123600Z
        2907  +
20150830/us-east-1/service/aws4_request
        2908  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2574   2909   
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
 2575   2910   
similarity index 100%
 2576   2911   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2577   2912   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2578   2913   
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
 2579   2914   
new file mode 100644
 2580   2915   
index 0000000..0468d80
 2581         -
-- /dev/null
        2916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2582   2917   
@@ -0,0 +1,12 @@
        2918  +
{
        2919  +
    "credentials": {
        2920  +
        "access_key_id": "AKIDEXAMPLE",
        2921  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2922  +
    },
        2923  +
    "expiration_in_seconds": 3600,
        2924  +
    "normalize": true,
        2925  +
    "region": "us-east-1",
        2926  +
    "service": "service",
        2927  +
    "sign_body": false,
        2928  +
    "timestamp": "2015-08-30T12:36:00Z"
        2929  +
}
              \
 No newline at end of file
 2583   2930   
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
 2584   2931   
similarity index 100%
 2585   2932   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2586   2933   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2587   2934   
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
 2588   2935   
new file mode 100644
 2589   2936   
index 0000000..e4e6428
 2590         -
-- /dev/null
        2937  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2591   2938   
@@ -0,0 +1 @@
        2939  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2592   2940   
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
 2593   2941   
new file mode 100644
 2594   2942   
index 0000000..e3778f5
 2595         -
-- /dev/null
        2943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2596   2944   
@@ -0,0 +1,6 @@
        2945  +
POST / HTTP/1.1
        2946  +
Host:example.amazonaws.com
        2947  +
My-Header1:value1
        2948  +
X-Amz-Date:20150830T123600Z
        2949  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2950  +
 2597   2951   
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
 2598   2952   
similarity index 100%
 2599   2953   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2600   2954   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2601   2955   
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
 2602   2956   
new file mode 100644
 2603   2957   
index 0000000..bd7c937
 2604         -
-- /dev/null
        2958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2605   2959   
@@ -0,0 +1,8 @@
        2960  +
POST
        2961  +
/
        2962  +
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
        2963  +
host:example.amazonaws.com
        2964  +
my-header1:value1
        2965  +
        2966  +
host;my-header1
        2967  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2606   2968   
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
 2607   2969   
new file mode 100644
 2608   2970   
index 0000000..0416f13
 2609         -
-- /dev/null
        2971  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2610   2972   
@@ -0,0 +1 @@
        2973  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2611   2974   
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
 2612   2975   
new file mode 100644
 2613   2976   
index 0000000..5e6522f
 2614         -
-- /dev/null
        2977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2615   2978   
@@ -0,0 +1,4 @@
        2979  +
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
        2980  +
Host:example.amazonaws.com
        2981  +
My-Header1:value1
        2982  +
 2616   2983   
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
 2617   2984   
new file mode 100644
 2618   2985   
index 0000000..d06d1df
 2619         -
-- /dev/null
        2986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2620   2987   
@@ -0,0 +1,4 @@
        2988  +
AWS4-HMAC-SHA256
        2989  +
20150830T123600Z
        2990  +
20150830/us-east-1/service/aws4_request
        2991  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2621   2992   
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
 2622   2993   
similarity index 100%
 2623   2994   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2624   2995   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2625   2996   
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
 2626   2997   
new file mode 100644
 2627   2998   
index 0000000..0468d80
 2628         -
-- /dev/null
        2999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2629   3000   
@@ -0,0 +1,12 @@
        3001  +
{
        3002  +
    "credentials": {
        3003  +
        "access_key_id": "AKIDEXAMPLE",
        3004  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3005  +
    },
        3006  +
    "expiration_in_seconds": 3600,
        3007  +
    "normalize": true,
        3008  +
    "region": "us-east-1",
        3009  +
    "service": "service",
        3010  +
    "sign_body": false,
        3011  +
    "timestamp": "2015-08-30T12:36:00Z"
        3012  +
}
              \
 No newline at end of file
 2630   3013   
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
 2631   3014   
similarity index 100%
 2632   3015   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2633   3016   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2634   3017   
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
 2635   3018   
new file mode 100644
 2636   3019   
index 0000000..bb3809c
 2637         -
-- /dev/null
        3020  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2638   3021   
@@ -0,0 +1 @@
        3022  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2639   3023   
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
 2640   3024   
new file mode 100644
 2641   3025   
index 0000000..10f6761
 2642         -
-- /dev/null
        3026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2643   3027   
@@ -0,0 +1,6 @@
        3028  +
POST / HTTP/1.1
        3029  +
Host:example.amazonaws.com
        3030  +
My-Header1:VALUE1
        3031  +
X-Amz-Date:20150830T123600Z
        3032  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        3033  +
 2644   3034   
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
 2645   3035   
similarity index 100%
 2646   3036   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2647   3037   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2648   3038   
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
 2649   3039   
new file mode 100644
 2650   3040   
index 0000000..f84856f
 2651         -
-- /dev/null
        3041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2652   3042   
@@ -0,0 +1,8 @@
        3043  +
POST
        3044  +
/
        3045  +
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
        3046  +
host:example.amazonaws.com
        3047  +
my-header1:VALUE1
        3048  +
        3049  +
host;my-header1
        3050  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2653   3051   
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
 2654   3052   
new file mode 100644
 2655   3053   
index 0000000..a9d3cac
 2656         -
-- /dev/null
        3054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2657   3055   
@@ -0,0 +1 @@
        3056  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2658   3057   
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
 2659   3058   
new file mode 100644
 2660   3059   
index 0000000..cf96c7c
 2661         -
-- /dev/null
        3060  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2662   3061   
@@ -0,0 +1,4 @@
        3062  +
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
        3063  +
Host:example.amazonaws.com
        3064  +
My-Header1:VALUE1
        3065  +
 2663   3066   
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
 2664   3067   
new file mode 100644
 2665   3068   
index 0000000..47ef566
 2666         -
-- /dev/null
        3069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2667   3070   
@@ -0,0 +1,4 @@
        3071  +
AWS4-HMAC-SHA256
        3072  +
20150830T123600Z
        3073  +
20150830/us-east-1/service/aws4_request
        3074  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2668   3075   
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
 2669   3076   
similarity index 100%
 2670   3077   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2671   3078   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2672   3079   
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
 2673   3080   
similarity index 100%
 2674   3081   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2675   3082   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2676   3083   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2677   3084   
similarity index 100%
 2678   3085   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq
 2679   3086   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2680   3087   
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
 2681   3088   
new file mode 100644
 2682   3089   
index 0000000..629487f
 2683         -
-- /dev/null
        3090  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2684   3091   
@@ -0,0 +1 @@
        3092  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2685   3093   
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
 2686   3094   
similarity index 67%
 2687   3095   
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
 2688   3096   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2689   3097   
index 291ed07..f96ff9e 100644
 2690         -
-- 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
        3098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2691   3099   
@@ -1,5 +1,6 @@
 2692   3100   
POST / HTTP/1.1
 2693   3101   
Host:example.amazonaws.com
 2694         -
X-Amz-Date:20150830T123600Z
 2695   3102   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2696         -
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
        3103  +
X-Amz-Date:20150830T123600Z
        3104  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3105  +
 2697   3106   
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
 2698   3107   
similarity index 100%
 2699   3108   
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
 2700   3109   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2701   3110   
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
 2702   3111   
new file mode 100644
 2703   3112   
index 0000000..d3341e7
 2704         -
-- /dev/null
        3113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2705   3114   
@@ -0,0 +1,7 @@
        3115  +
POST
        3116  +
/
        3117  +
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
        3118  +
host:example.amazonaws.com
        3119  +
        3120  +
host
        3121  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2706   3122   
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
 2707   3123   
new file mode 100644
 2708   3124   
index 0000000..79f7e0d
 2709         -
-- /dev/null
        3125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2710   3126   
@@ -0,0 +1 @@
        3127  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2711   3128   
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
 2712   3129   
new file mode 100644
 2713   3130   
index 0000000..4983268
 2714         -
-- /dev/null
        3131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2715   3132   
@@ -0,0 +1,3 @@
        3133  +
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
        3134  +
Host:example.amazonaws.com
        3135  +
 2716   3136   
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
 2717   3137   
new file mode 100644
 2718   3138   
index 0000000..e8f335b
 2719         -
-- /dev/null
        3139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2720   3140   
@@ -0,0 +1,4 @@
        3141  +
AWS4-HMAC-SHA256
        3142  +
20150830T123600Z
        3143  +
20150830/us-east-1/service/aws4_request
        3144  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2721   3145   
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
 2722   3146   
similarity index 100%
 2723   3147   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2724   3148   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2725   3149   
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
 2726   3150   
similarity index 100%
 2727   3151   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2728   3152   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2729   3153   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2730   3154   
similarity index 100%
 2731   3155   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq
 2732   3156   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2733   3157   
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
 2734   3158   
new file mode 100644
 2735   3159   
index 0000000..85a7c29
 2736         -
-- /dev/null
        3160  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2737   3161   
@@ -0,0 +1 @@
        3162  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2738   3163   
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
 2739   3164   
similarity index 65%
 2740   3165   
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
 2741   3166   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2742   3167   
index 37b2f04..4d0b143 100644
 2743         -
-- 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
        3168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2744   3169   
@@ -1,5 +1,6 @@
 2745   3170   
POST / HTTP/1.1
 2746   3171   
Host:example.amazonaws.com
 2747         -
X-Amz-Date:20150830T123600Z
 2748   3172   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2749         -
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
        3173  +
X-Amz-Date:20150830T123600Z
        3174  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3175  +
 2750   3176   
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
 2751   3177   
similarity index 100%
 2752   3178   
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
 2753   3179   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2754   3180   
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
 2755   3181   
new file mode 100644
 2756   3182   
index 0000000..57a7bc3
 2757         -
-- /dev/null
        3183  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2758   3184   
@@ -0,0 +1,7 @@
        3185  +
POST
        3186  +
/
        3187  +
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
        3188  +
host:example.amazonaws.com
        3189  +
        3190  +
host
        3191  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2759   3192   
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
 2760   3193   
new file mode 100644
 2761   3194   
index 0000000..eb905d2
 2762         -
-- /dev/null
        3195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2763   3196   
@@ -0,0 +1 @@
        3197  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2764   3198   
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
 2765   3199   
new file mode 100644
 2766   3200   
index 0000000..1d80ec0
 2767         -
-- /dev/null
        3201  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2768   3202   
@@ -0,0 +1,3 @@
        3203  +
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
        3204  +
Host:example.amazonaws.com
        3205  +
 2769   3206   
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
 2770   3207   
new file mode 100644
 2771   3208   
index 0000000..bd0239a
 2772         -
-- /dev/null
        3209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2773   3210   
@@ -0,0 +1,4 @@
        3211  +
AWS4-HMAC-SHA256
        3212  +
20150830T123600Z
        3213  +
20150830/us-east-1/service/aws4_request
        3214  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2774   3215   
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
 2775   3216   
similarity index 100%
 2776   3217   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2777   3218   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2778   3219   
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
 2779   3220   
new file mode 100644
 2780   3221   
index 0000000..0468d80
 2781         -
-- /dev/null
        3222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2782   3223   
@@ -0,0 +1,12 @@
        3224  +
{
        3225  +
    "credentials": {
        3226  +
        "access_key_id": "AKIDEXAMPLE",
        3227  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3228  +
    },
        3229  +
    "expiration_in_seconds": 3600,
        3230  +
    "normalize": true,
        3231  +
    "region": "us-east-1",
        3232  +
    "service": "service",
        3233  +
    "sign_body": false,
        3234  +
    "timestamp": "2015-08-30T12:36:00Z"
        3235  +
}
              \
 No newline at end of file
 2783   3236   
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
 2784   3237   
similarity index 100%
 2785   3238   
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
 2786   3239   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2787   3240   
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
 2788   3241   
new file mode 100644
 2789   3242   
index 0000000..80ed433
 2790         -
-- /dev/null
        3243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2791   3244   
@@ -0,0 +1 @@
        3245  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2792   3246   
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
 2793   3247   
new file mode 100644
 2794   3248   
index 0000000..4e614f8
 2795         -
-- /dev/null
        3249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2796   3250   
@@ -0,0 +1,5 @@
        3251  +
POST /?Param1=value1 HTTP/1.1
        3252  +
Host:example.amazonaws.com
        3253  +
X-Amz-Date:20150830T123600Z
        3254  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3255  +
 2797   3256   
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
 2798   3257   
similarity index 100%
 2799   3258   
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
 2800   3259   
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
 2801   3260   
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
 2802   3261   
new file mode 100644
 2803   3262   
index 0000000..be66403
 2804         -
-- /dev/null
        3263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2805   3264   
@@ -0,0 +1,7 @@
        3265  +
POST
        3266  +
/
        3267  +
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
        3268  +
host:example.amazonaws.com
        3269  +
        3270  +
host
        3271  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2806   3272   
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
 2807   3273   
new file mode 100644
 2808   3274   
index 0000000..20fd32b
 2809         -
-- /dev/null
        3275  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2810   3276   
@@ -0,0 +1 @@
        3277  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2811   3278   
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
 2812   3279   
new file mode 100644
 2813   3280   
index 0000000..d1148d0
 2814         -
-- /dev/null
        3281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2815   3282   
@@ -0,0 +1,3 @@
        3283  +
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
        3284  +
Host:example.amazonaws.com
        3285  +
 2816   3286   
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
 2817   3287   
new file mode 100644
 2818   3288   
index 0000000..1a77103
 2819         -
-- /dev/null
        3289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2820   3290   
@@ -0,0 +1,4 @@
        3291  +
AWS4-HMAC-SHA256
        3292  +
20150830T123600Z
        3293  +
20150830/us-east-1/service/aws4_request
        3294  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2821   3295   
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
 2822   3296   
similarity index 100%
 2823   3297   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2824   3298   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2825   3299   
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
 2826   3300   
new file mode 100644
 2827   3301   
index 0000000..0468d80
 2828         -
-- /dev/null
        3302  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2829   3303   
@@ -0,0 +1,12 @@
        3304  +
{
        3305  +
    "credentials": {
        3306  +
        "access_key_id": "AKIDEXAMPLE",
        3307  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3308  +
    },
        3309  +
    "expiration_in_seconds": 3600,
        3310  +
    "normalize": true,
        3311  +
    "region": "us-east-1",
        3312  +
    "service": "service",
        3313  +
    "sign_body": false,
        3314  +
    "timestamp": "2015-08-30T12:36:00Z"
        3315  +
}
              \
 No newline at end of file
 2830   3316   
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
 2831   3317   
similarity index 100%
 2832   3318   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2833   3319   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2834   3320   
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
 2835   3321   
new file mode 100644
 2836   3322   
index 0000000..80ed433
 2837         -
-- /dev/null
        3323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2838   3324   
@@ -0,0 +1 @@
        3325  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2839   3326   
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
 2840   3327   
new file mode 100644
 2841   3328   
index 0000000..4e614f8
 2842         -
-- /dev/null
        3329  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2843   3330   
@@ -0,0 +1,5 @@
        3331  +
POST /?Param1=value1 HTTP/1.1
        3332  +
Host:example.amazonaws.com
        3333  +
X-Amz-Date:20150830T123600Z
        3334  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3335  +
 2844   3336   
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
 2845   3337   
similarity index 100%
 2846   3338   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2847   3339   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2848   3340   
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
 2849   3341   
new file mode 100644
 2850   3342   
index 0000000..be66403
 2851         -
-- /dev/null
        3343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2852   3344   
@@ -0,0 +1,7 @@
        3345  +
POST
        3346  +
/
        3347  +
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
        3348  +
host:example.amazonaws.com
        3349  +
        3350  +
host
        3351  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2853   3352   
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
 2854   3353   
new file mode 100644
 2855   3354   
index 0000000..20fd32b
 2856         -
-- /dev/null
        3355  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2857   3356   
@@ -0,0 +1 @@
        3357  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2858   3358   
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
 2859   3359   
new file mode 100644
 2860   3360   
index 0000000..d1148d0
 2861         -
-- /dev/null
        3361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2862   3362   
@@ -0,0 +1,3 @@
        3363  +
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
        3364  +
Host:example.amazonaws.com
        3365  +
 2863   3366   
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
 2864   3367   
new file mode 100644
 2865   3368   
index 0000000..1a77103
 2866         -
-- /dev/null
        3369  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2867   3370   
@@ -0,0 +1,4 @@
        3371  +
AWS4-HMAC-SHA256
        3372  +
20150830T123600Z
        3373  +
20150830/us-east-1/service/aws4_request
        3374  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2868   3375   
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
 2869   3376   
similarity index 100%
 2870   3377   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2871   3378   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2872   3379   
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
 2873   3380   
new file mode 100644
 2874   3381   
index 0000000..0468d80
 2875         -
-- /dev/null
        3382  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2876   3383   
@@ -0,0 +1,12 @@
        3384  +
{
        3385  +
    "credentials": {
        3386  +
        "access_key_id": "AKIDEXAMPLE",
        3387  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3388  +
    },
        3389  +
    "expiration_in_seconds": 3600,
        3390  +
    "normalize": true,
        3391  +
    "region": "us-east-1",
        3392  +
    "service": "service",
        3393  +
    "sign_body": false,
        3394  +
    "timestamp": "2015-08-30T12:36:00Z"
        3395  +
}
              \
 No newline at end of file
 2877   3396   
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
 2878   3397   
similarity index 100%
 2879   3398   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2880   3399   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2881   3400   
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
 2882   3401   
new file mode 100644
 2883   3402   
index 0000000..629487f
 2884         -
-- /dev/null
        3403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2885   3404   
@@ -0,0 +1 @@
        3405  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2886   3406   
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
 2887   3407   
new file mode 100644
 2888   3408   
index 0000000..0d99b1c
 2889         -
-- /dev/null
        3409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2890   3410   
@@ -0,0 +1,5 @@
        3411  +
POST / HTTP/1.1
        3412  +
Host:example.amazonaws.com
        3413  +
X-Amz-Date:20150830T123600Z
        3414  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3415  +
 2891   3416   
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
 2892   3417   
similarity index 100%
 2893   3418   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2894   3419   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2895   3420   
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
 2896   3421   
new file mode 100644
 2897   3422   
index 0000000..d3341e7
 2898         -
-- /dev/null
        3423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2899   3424   
@@ -0,0 +1,7 @@
        3425  +
POST
        3426  +
/
        3427  +
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
        3428  +
host:example.amazonaws.com
        3429  +
        3430  +
host
        3431  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2900   3432   
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
 2901   3433   
new file mode 100644
 2902   3434   
index 0000000..79f7e0d
 2903         -
-- /dev/null
        3435  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2904   3436   
@@ -0,0 +1 @@
        3437  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2905   3438   
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
 2906   3439   
new file mode 100644
 2907   3440   
index 0000000..94f1b21
 2908         -
-- /dev/null
        3441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2909   3442   
@@ -0,0 +1,3 @@
        3443  +
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
        3444  +
Host:example.amazonaws.com
        3445  +
 2910   3446   
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
 2911   3447   
new file mode 100644
 2912   3448   
index 0000000..e8f335b
 2913         -
-- /dev/null
        3449  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2914   3450   
@@ -0,0 +1,4 @@
        3451  +
AWS4-HMAC-SHA256
        3452  +
20150830T123600Z
        3453  +
20150830/us-east-1/service/aws4_request
        3454  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2915   3455   
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
 2916   3456   
similarity index 100%
 2917   3457   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2918   3458   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2919   3459   
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
 2920   3460   
similarity index 99%
 2921   3461   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2922   3462   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2923   3463   
index fc4bce6..0db1df1 100644
 2924         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
        3464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2925   3465   
@@ -1,12 +1,12 @@
 2926   3466   
{
 2927   3467   
    "credentials": {
 2928   3468   
        "access_key_id": "AKIDEXAMPLE",
 2929   3469   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 2930   3470   
    },
 2931   3471   
    "expiration_in_seconds": 3600,
 2932   3472   
    "normalize": true,
 2933   3473   
    "region": "us-east-1",
 2934   3474   
    "service": "service",
 2935   3475   
    "sign_body": true,
 2936   3476   
    "timestamp": "2015-08-30T12:36:00Z"
 2937         -
}
        3477  +
}
              \
 No newline at end of file
 2938   3478   
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
 2939   3479   
new file mode 100644
 2940   3480   
index 0000000..c218fdf
 2941         -
-- /dev/null
        3481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2942   3482   
@@ -0,0 +1,11 @@
        3483  +
POST
        3484  +
/
        3485  +
        3486  +
content-length:13
        3487  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3488  +
host:example.amazonaws.com
        3489  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3490  +
x-amz-date:20150830T123600Z
        3491  +
        3492  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3493  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2943   3494   
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
 2944   3495   
new file mode 100644
 2945   3496   
index 0000000..836aa8b
 2946         -
-- /dev/null
        3497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2947   3498   
@@ -0,0 +1 @@
        3499  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2948   3500   
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
 2949   3501   
new file mode 100644
 2950   3502   
index 0000000..9262d53
 2951         -
-- /dev/null
        3503  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2952   3504   
@@ -0,0 +1,9 @@
        3505  +
POST / HTTP/1.1
        3506  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3507  +
Host:example.amazonaws.com
        3508  +
Content-Length:13
        3509  +
X-Amz-Date:20150830T123600Z
        3510  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3511  +
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
        3512  +
        3513  +
Param1=value1
              \
 No newline at end of file
 2953   3514   
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
 2954   3515   
new file mode 100644
 2955   3516   
index 0000000..ddbdccc
 2956         -
-- /dev/null
        3517  +
++ 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
 2957   3518   
@@ -0,0 +1,4 @@
        3519  +
AWS4-HMAC-SHA256
        3520  +
20150830T123600Z
        3521  +
20150830/us-east-1/service/aws4_request
        3522  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2958   3523   
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
 2959   3524   
new file mode 100644
 2960   3525   
index 0000000..596a579
 2961         -
-- /dev/null
        3526  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2962   3527   
@@ -0,0 +1,9 @@
        3528  +
POST
        3529  +
/
        3530  +
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
        3531  +
content-length:13
        3532  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3533  +
host:example.amazonaws.com
        3534  +
        3535  +
content-length;content-type;host
        3536  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2963   3537   
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
 2964   3538   
new file mode 100644
 2965   3539   
index 0000000..bc85cd8
 2966         -
-- /dev/null
        3540  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2967   3541   
@@ -0,0 +1 @@
        3542  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2968   3543   
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
 2969   3544   
new file mode 100644
 2970   3545   
index 0000000..16b59e5
 2971         -
-- /dev/null
        3546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2972   3547   
@@ -0,0 +1,6 @@
        3548  +
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
        3549  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3550  +
Host:example.amazonaws.com
        3551  +
Content-Length:13
        3552  +
        3553  +
Param1=value1
              \
 No newline at end of file
 2973   3554   
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
 2974   3555   
new file mode 100644
 2975   3556   
index 0000000..50074af
 2976         -
-- /dev/null
        3557  +
++ 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
 2977   3558   
@@ -0,0 +1,4 @@
        3559  +
AWS4-HMAC-SHA256
        3560  +
20150830T123600Z
        3561  +
20150830/us-east-1/service/aws4_request
        3562  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2978   3563   
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
 2979   3564   
similarity index 89%
 2980   3565   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2981   3566   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2982   3567   
index b711c25..8289eaa 100644
 2983         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
        3568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2984   3569   
@@ -1,6 +1,6 @@
 2985   3570   
POST / HTTP/1.1
 2986   3571   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 2987   3572   
Host:example.amazonaws.com
 2988   3573   
Content-Length:13
 2989   3574   
 2990         -
Param1=value1
        3575  +
Param1=value1
              \
 No newline at end of file
 2991   3576   
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
 2992   3577   
similarity index 99%
 2993   3578   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2994   3579   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2995   3580   
index fc4bce6..0db1df1 100644
 2996         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
        3581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2997   3582   
@@ -1,12 +1,12 @@
 2998   3583   
{
 2999   3584   
    "credentials": {
 3000   3585   
        "access_key_id": "AKIDEXAMPLE",
 3001   3586   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 3002   3587   
    },
 3003   3588   
    "expiration_in_seconds": 3600,
 3004   3589   
    "normalize": true,
 3005   3590   
    "region": "us-east-1",
 3006   3591   
    "service": "service",
 3007   3592   
    "sign_body": true,
 3008   3593   
    "timestamp": "2015-08-30T12:36:00Z"
 3009         -
}
        3594  +
}
              \
 No newline at end of file
 3010   3595   
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
 3011   3596   
new file mode 100644
 3012   3597   
index 0000000..4d116a5
 3013         -
-- /dev/null
        3598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 3014   3599   
@@ -0,0 +1,11 @@
        3600  +
POST
        3601  +
/
        3602  +
        3603  +
content-length:13
        3604  +
content-type:application/x-www-form-urlencoded
        3605  +
host:example.amazonaws.com
        3606  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3607  +
x-amz-date:20150830T123600Z
        3608  +
        3609  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3610  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3015   3611   
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
 3016   3612   
new file mode 100644
 3017   3613   
index 0000000..0d2ac37
 3018         -
-- /dev/null
        3614  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 3019   3615   
@@ -0,0 +1 @@
        3616  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 3020   3617   
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
 3021   3618   
new file mode 100644
 3022   3619   
index 0000000..bd5e49c
 3023         -
-- /dev/null
        3620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 3024   3621   
@@ -0,0 +1,9 @@
        3622  +
POST / HTTP/1.1
        3623  +
Content-Type:application/x-www-form-urlencoded
        3624  +
Host:example.amazonaws.com
        3625  +
Content-Length:13
        3626  +
X-Amz-Date:20150830T123600Z
        3627  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3628  +
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
        3629  +
        3630  +
Param1=value1
              \
 No newline at end of file
 3025   3631   
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
 3026   3632   
new file mode 100644
 3027   3633   
index 0000000..f1c599c
 3028         -
-- /dev/null
        3634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 3029   3635   
@@ -0,0 +1,4 @@
        3636  +
AWS4-HMAC-SHA256
        3637  +
20150830T123600Z
        3638  +
20150830/us-east-1/service/aws4_request
        3639  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 3030   3640   
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
 3031   3641   
new file mode 100644
 3032   3642   
index 0000000..1fc1bb7
 3033         -
-- /dev/null
        3643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 3034   3644   
@@ -0,0 +1,9 @@
        3645  +
POST
        3646  +
/
        3647  +
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
        3648  +
content-length:13
        3649  +
content-type:application/x-www-form-urlencoded
        3650  +
host:example.amazonaws.com
        3651  +
        3652  +
content-length;content-type;host
        3653  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3035   3654   
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
 3036   3655   
new file mode 100644
 3037   3656   
index 0000000..98c91b3
 3038         -
-- /dev/null
        3657  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 3039   3658   
@@ -0,0 +1 @@
        3659  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 3040   3660   
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
 3041   3661   
new file mode 100644
 3042   3662   
index 0000000..055cd7a
 3043         -
-- /dev/null
        3663  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 3044   3664   
@@ -0,0 +1,6 @@
        3665  +
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
        3666  +
Content-Type:application/x-www-form-urlencoded
        3667  +
Host:example.amazonaws.com
        3668  +
Content-Length:13
        3669  +
        3670  +
Param1=value1
              \
 No newline at end of file
 3045   3671   
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
 3046   3672   
new file mode 100644
 3047   3673   
index 0000000..db7fc27
 3048         -
-- /dev/null
        3674  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 3049   3675   
@@ -0,0 +1,4 @@
        3676  +
AWS4-HMAC-SHA256
        3677  +
20150830T123600Z
        3678  +
20150830/us-east-1/service/aws4_request
        3679  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 3050   3680   
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
 3051   3681   
similarity index 88%
 3052   3682   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 3053   3683   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3054   3684   
index 0091102..760b2d3 100644
 3055         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
        3685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3056   3686   
@@ -1,6 +1,6 @@
 3057   3687   
POST / HTTP/1.1
 3058   3688   
Content-Type:application/x-www-form-urlencoded
 3059   3689   
Host:example.amazonaws.com
 3060   3690   
Content-Length:13
 3061   3691   
 3062         -
Param1=value1
        3692  +
Param1=value1
              \
 No newline at end of file
 3063   3693   
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
 3064   3694   
new file mode 100644
 3065   3695   
index 0000000..0468d80
 3066         -
-- /dev/null
        3696  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 3067   3697   
@@ -0,0 +1,12 @@
        3698  +
{
        3699  +
    "credentials": {
        3700  +
        "access_key_id": "AKIDEXAMPLE",
        3701  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3702  +
    },
        3703  +
    "expiration_in_seconds": 3600,
        3704  +
    "normalize": true,
        3705  +
    "region": "us-east-1",
        3706  +
    "service": "service",
        3707  +
    "sign_body": false,
        3708  +
    "timestamp": "2015-08-30T12:36:00Z"
        3709  +
}
              \
 No newline at end of file
 3068   3710   
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
 3069   3711   
similarity index 99%
 3070   3712   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 3071   3713   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3072   3714   
index ccb5f43..1bc448e 100644
 3073         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
        3715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3074   3716   
@@ -1,10 +1,10 @@
 3075   3717   
GET
 3076   3718   
/
 3077   3719   
 3078   3720   
host:example.amazonaws.com
 3079   3721   
my-header1:value2,value2,value1
 3080   3722   
x-amz-date:20150830T123600Z
 3081   3723   
x-amz-region-set:us-east-1
 3082   3724   
 3083   3725   
host;my-header1;x-amz-date;x-amz-region-set
 3084         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3726  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3085   3727   
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
 3086   3728   
new file mode 100644
 3087   3729   
index 0000000..489c182
 3088         -
-- /dev/null
        3730  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 3089   3731   
@@ -0,0 +1 @@
        3732  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 3090   3733   
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
 3091   3734   
new file mode 100644
 3092   3735   
index 0000000..e1b8dbf
 3093         -
-- /dev/null
        3736  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 3094   3737   
@@ -0,0 +1,9 @@
        3738  +
GET / HTTP/1.1
        3739  +
Host:example.amazonaws.com
        3740  +
My-Header1:value2
        3741  +
My-Header1:value2
        3742  +
My-Header1:value1
        3743  +
X-Amz-Date:20150830T123600Z
        3744  +
X-Amz-Region-Set:us-east-1
        3745  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3746  +
 3095   3747   
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
 3096   3748   
similarity index 99%
 3097   3749   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 3098   3750   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3099   3751   
index 8783461..bfc4619 100644
 3100         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
        3752  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3101   3753   
@@ -1,4 +1,4 @@
 3102   3754   
AWS4-ECDSA-P256-SHA256
 3103   3755   
20150830T123600Z
 3104   3756   
20150830/service/aws4_request
 3105         -
30f1f7b639b7fd5982a0f700e6d23bf7bb24f2f1d9e1314005bf22130da61cdf
        3757  +
30f1f7b639b7fd5982a0f700e6d23bf7bb24f2f1d9e1314005bf22130da61cdf
              \
 No newline at end of file
 3106   3758   
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
 3107   3759   
new file mode 100644
 3108   3760   
index 0000000..379dcb2
 3109         -
-- /dev/null
        3761  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 3110   3762   
@@ -0,0 +1,4 @@
        3763  +
{
        3764  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3765  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3766  +
}
 3111   3767   
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
 3112   3768   
similarity index 99%
 3113   3769   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 3114   3770   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3115   3771   
index 9561297..c05c3f5 100644
 3116         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
        3772  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3117   3773   
@@ -1,8 +1,8 @@
 3118   3774   
GET
 3119   3775   
/
 3120   3776   
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
 3121   3777   
host:example.amazonaws.com
 3122   3778   
my-header1:value2,value2,value1
 3123   3779   
 3124   3780   
host;my-header1
 3125         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3781  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3126   3782   
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
 3127   3783   
new file mode 100644
 3128   3784   
index 0000000..de9a4c3
 3129         -
-- /dev/null
        3785  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 3130   3786   
@@ -0,0 +1 @@
        3787  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 3131   3788   
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
 3132   3789   
new file mode 100644
 3133   3790   
index 0000000..6c6b8c4
 3134         -
-- /dev/null
        3791  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 3135   3792   
@@ -0,0 +1,6 @@
        3793  +
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
        3794  +
Host:example.amazonaws.com
        3795  +
My-Header1:value2
        3796  +
My-Header1:value2
        3797  +
My-Header1:value1
        3798  +
 3136   3799   
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
 3137   3800   
similarity index 99%
 3138   3801   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 3139   3802   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3140   3803   
index 3140f6f..4eef106 100644
 3141         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
        3804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3142   3805   
@@ -1,4 +1,4 @@
 3143   3806   
AWS4-ECDSA-P256-SHA256
 3144   3807   
20150830T123600Z
 3145   3808   
20150830/service/aws4_request
 3146         -
a6e21a0099c98cbb4ec73928a08e8b116dfd634c471a8c03c4007b5258b664ea
        3809  +
a6e21a0099c98cbb4ec73928a08e8b116dfd634c471a8c03c4007b5258b664ea
              \
 No newline at end of file
 3147   3810   
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
 3148   3811   
similarity index 78%
 3149   3812   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 3150   3813   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3151   3814   
index 08a0364..40455ce 100644
 3152         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3153   3816   
@@ -1,6 +1,5 @@
 3154   3817   
GET / HTTP/1.1
 3155   3818   
Host:example.amazonaws.com
 3156   3819   
My-Header1:value2
 3157   3820   
My-Header1:value2
 3158   3821   
My-Header1:value1
 3159         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3160   3822   
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
 3161   3823   
new file mode 100644
 3162   3824   
index 0000000..0468d80
 3163         -
-- /dev/null
        3825  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 3164   3826   
@@ -0,0 +1,12 @@
        3827  +
{
        3828  +
    "credentials": {
        3829  +
        "access_key_id": "AKIDEXAMPLE",
        3830  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3831  +
    },
        3832  +
    "expiration_in_seconds": 3600,
        3833  +
    "normalize": true,
        3834  +
    "region": "us-east-1",
        3835  +
    "service": "service",
        3836  +
    "sign_body": false,
        3837  +
    "timestamp": "2015-08-30T12:36:00Z"
        3838  +
}
              \
 No newline at end of file
 3165   3839   
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
 3166   3840   
new file mode 100644
 3167   3841   
index 0000000..69526cd
 3168         -
-- /dev/null
        3842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 3169   3843   
@@ -0,0 +1,10 @@
        3844  +
GET
        3845  +
/
        3846  +
        3847  +
host:example.amazonaws.com
        3848  +
my-header1:value1 value2 value3
        3849  +
x-amz-date:20150830T123600Z
        3850  +
x-amz-region-set:us-east-1
        3851  +
        3852  +
host;my-header1;x-amz-date;x-amz-region-set
        3853  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3170   3854   
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
 3171   3855   
new file mode 100644
 3172   3856   
index 0000000..d51b4f3
 3173         -
-- /dev/null
        3857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 3174   3858   
@@ -0,0 +1 @@
        3859  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 3175   3860   
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
 3176   3861   
new file mode 100644
 3177   3862   
index 0000000..8131420
 3178         -
-- /dev/null
        3863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 3179   3864   
@@ -0,0 +1,9 @@
        3865  +
GET / HTTP/1.1
        3866  +
Host:example.amazonaws.com
        3867  +
My-Header1:value1
        3868  +
  value2
        3869  +
     value3
        3870  +
X-Amz-Date:20150830T123600Z
        3871  +
X-Amz-Region-Set:us-east-1
        3872  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3873  +
 3180   3874   
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
 3181   3875   
new file mode 100644
 3182   3876   
index 0000000..e4d99fa
 3183         -
-- /dev/null
        3877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 3184   3878   
@@ -0,0 +1,4 @@
        3879  +
AWS4-ECDSA-P256-SHA256
        3880  +
20150830T123600Z
        3881  +
20150830/service/aws4_request
        3882  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 3185   3883   
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
 3186   3884   
new file mode 100644
 3187   3885   
index 0000000..379dcb2
 3188         -
-- /dev/null
        3886  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 3189   3887   
@@ -0,0 +1,4 @@
        3888  +
{
        3889  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3890  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3891  +
}
 3190   3892   
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
 3191   3893   
new file mode 100644
 3192   3894   
index 0000000..3c4d52f
 3193         -
-- /dev/null
        3895  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 3194   3896   
@@ -0,0 +1,8 @@
        3897  +
GET
        3898  +
/
        3899  +
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
        3900  +
host:example.amazonaws.com
        3901  +
my-header1:value1 value2 value3
        3902  +
        3903  +
host;my-header1
        3904  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3195   3905   
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
 3196   3906   
new file mode 100644
 3197   3907   
index 0000000..4e63f9a
 3198         -
-- /dev/null
        3908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 3199   3909   
@@ -0,0 +1 @@
        3910  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 3200   3911   
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
 3201   3912   
new file mode 100644
 3202   3913   
index 0000000..adf1f09
 3203         -
-- /dev/null
        3914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 3204   3915   
@@ -0,0 +1,6 @@
        3916  +
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
        3917  +
Host:example.amazonaws.com
        3918  +
My-Header1:value1
        3919  +
  value2
        3920  +
     value3
        3921  +
 3205   3922   
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
 3206   3923   
new file mode 100644
 3207   3924   
index 0000000..e085407
 3208         -
-- /dev/null
        3925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3209   3926   
@@ -0,0 +1,4 @@
        3927  +
AWS4-ECDSA-P256-SHA256
        3928  +
20150830T123600Z
        3929  +
20150830/service/aws4_request
        3930  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 3210   3931   
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
 3211   3932   
new file mode 100644
 3212   3933   
index 0000000..b5026cd
 3213         -
-- /dev/null
        3934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3214   3935   
@@ -0,0 +1,5 @@
        3936  +
GET / HTTP/1.1
        3937  +
Host:example.amazonaws.com
        3938  +
My-Header1:value1
        3939  +
  value2
        3940  +
     value3
 3215   3941   
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
 3216   3942   
new file mode 100644
 3217   3943   
index 0000000..0468d80
 3218         -
-- /dev/null
        3944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3219   3945   
@@ -0,0 +1,12 @@
        3946  +
{
        3947  +
    "credentials": {
        3948  +
        "access_key_id": "AKIDEXAMPLE",
        3949  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3950  +
    },
        3951  +
    "expiration_in_seconds": 3600,
        3952  +
    "normalize": true,
        3953  +
    "region": "us-east-1",
        3954  +
    "service": "service",
        3955  +
    "sign_body": false,
        3956  +
    "timestamp": "2015-08-30T12:36:00Z"
        3957  +
}
              \
 No newline at end of file
 3220   3958   
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
 3221   3959   
similarity index 99%
 3222   3960   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3223   3961   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3224   3962   
index 9375193..533afdb 100644
 3225         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
        3963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3226   3964   
@@ -1,10 +1,10 @@
 3227   3965   
GET
 3228   3966   
/
 3229   3967   
 3230   3968   
host:example.amazonaws.com
 3231   3969   
my-header1:value4,value1,value3,value2
 3232   3970   
x-amz-date:20150830T123600Z
 3233   3971   
x-amz-region-set:us-east-1
 3234   3972   
 3235   3973   
host;my-header1;x-amz-date;x-amz-region-set
 3236         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3974  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3237   3975   
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
 3238   3976   
new file mode 100644
 3239   3977   
index 0000000..057b426
 3240         -
-- /dev/null
        3978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3241   3979   
@@ -0,0 +1 @@
        3980  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3242   3981   
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
 3243   3982   
new file mode 100644
 3244   3983   
index 0000000..4e4ccf0
 3245         -
-- /dev/null
        3984  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3246   3985   
@@ -0,0 +1,10 @@
        3986  +
GET / HTTP/1.1
        3987  +
Host:example.amazonaws.com
        3988  +
My-Header1:value4
        3989  +
My-Header1:value1
        3990  +
My-Header1:value3
        3991  +
My-Header1:value2
        3992  +
X-Amz-Date:20150830T123600Z
        3993  +
X-Amz-Region-Set:us-east-1
        3994  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3995  +
 3247   3996   
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
 3248   3997   
similarity index 99%
 3249   3998   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3250   3999   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3251   4000   
index 6400baf..e68c952 100644
 3252         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
        4001  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3253   4002   
@@ -1,4 +1,4 @@
 3254   4003   
AWS4-ECDSA-P256-SHA256
 3255   4004   
20150830T123600Z
 3256   4005   
20150830/service/aws4_request
 3257         -
e1c3b5d34632ffff080330b3bc31906c8988bf1683f4af689ef3f1811952df36
        4006  +
e1c3b5d34632ffff080330b3bc31906c8988bf1683f4af689ef3f1811952df36
              \
 No newline at end of file
 3258   4007   
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
 3259   4008   
new file mode 100644
 3260   4009   
index 0000000..379dcb2
 3261         -
-- /dev/null
        4010  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3262   4011   
@@ -0,0 +1,4 @@
        4012  +
{
        4013  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4014  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4015  +
}
 3263   4016   
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
 3264   4017   
similarity index 99%
 3265   4018   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3266   4019   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3267   4020   
index ecf494a..68450fe 100644
 3268         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
        4021  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3269   4022   
@@ -1,8 +1,8 @@
 3270   4023   
GET
 3271   4024   
/
 3272   4025   
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
 3273   4026   
host:example.amazonaws.com
 3274   4027   
my-header1:value4,value1,value3,value2
 3275   4028   
 3276   4029   
host;my-header1
 3277         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4030  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3278   4031   
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
 3279   4032   
new file mode 100644
 3280   4033   
index 0000000..9df2eb3
 3281         -
-- /dev/null
        4034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3282   4035   
@@ -0,0 +1 @@
        4036  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3283   4037   
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
 3284   4038   
new file mode 100644
 3285   4039   
index 0000000..62f8cb7
 3286         -
-- /dev/null
        4040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3287   4041   
@@ -0,0 +1,7 @@
        4042  +
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
        4043  +
Host:example.amazonaws.com
        4044  +
My-Header1:value4
        4045  +
My-Header1:value1
        4046  +
My-Header1:value3
        4047  +
My-Header1:value2
        4048  +
 3288   4049   
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
 3289   4050   
similarity index 99%
 3290   4051   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3291   4052   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3292   4053   
index b584179..2bcf7b1 100644
 3293         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
        4054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3294   4055   
@@ -1,4 +1,4 @@
 3295   4056   
AWS4-ECDSA-P256-SHA256
 3296   4057   
20150830T123600Z
 3297   4058   
20150830/service/aws4_request
 3298         -
e2bf35ea25a1943bf52cfc8348c787db8fd8ca642dc9f2b9443939c2fb0d3c54
        4059  +
e2bf35ea25a1943bf52cfc8348c787db8fd8ca642dc9f2b9443939c2fb0d3c54
              \
 No newline at end of file
 3299   4060   
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
 3300   4061   
similarity index 80%
 3301   4062   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3302   4063   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3303   4064   
index f7bd9e6..2c6f49d 100644
 3304         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        4065  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3305   4066   
@@ -1,7 +1,6 @@
 3306   4067   
GET / HTTP/1.1
 3307   4068   
Host:example.amazonaws.com
 3308   4069   
My-Header1:value4
 3309   4070   
My-Header1:value1
 3310   4071   
My-Header1:value3
 3311   4072   
My-Header1:value2
 3312         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3313   4073   
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
 3314   4074   
new file mode 100644
 3315   4075   
index 0000000..0468d80
 3316         -
-- /dev/null
        4076  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3317   4077   
@@ -0,0 +1,12 @@
        4078  +
{
        4079  +
    "credentials": {
        4080  +
        "access_key_id": "AKIDEXAMPLE",
        4081  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4082  +
    },
        4083  +
    "expiration_in_seconds": 3600,
        4084  +
    "normalize": true,
        4085  +
    "region": "us-east-1",
        4086  +
    "service": "service",
        4087  +
    "sign_body": false,
        4088  +
    "timestamp": "2015-08-30T12:36:00Z"
        4089  +
}
              \
 No newline at end of file
 3318   4090   
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
 3319   4091   
similarity index 99%
 3320   4092   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3321   4093   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3322   4094   
index e91e952..94b6be5 100644
 3323         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
        4095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3324   4096   
@@ -1,11 +1,11 @@
 3325   4097   
GET
 3326   4098   
/
 3327   4099   
 3328   4100   
host:example.amazonaws.com
 3329   4101   
my-header1:value1
 3330   4102   
my-header2:"a b c"
 3331   4103   
x-amz-date:20150830T123600Z
 3332   4104   
x-amz-region-set:us-east-1
 3333   4105   
 3334   4106   
host;my-header1;my-header2;x-amz-date;x-amz-region-set
 3335         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4107  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3336   4108   
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
 3337   4109   
new file mode 100644
 3338   4110   
index 0000000..bf8c3cb
 3339         -
-- /dev/null
        4111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3340   4112   
@@ -0,0 +1 @@
        4113  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3341   4114   
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
 3342   4115   
new file mode 100644
 3343   4116   
index 0000000..f7f054d
 3344         -
-- /dev/null
        4117  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3345   4118   
@@ -0,0 +1,8 @@
        4119  +
GET / HTTP/1.1
        4120  +
Host:example.amazonaws.com
        4121  +
My-Header1: value1
        4122  +
My-Header2: "a   b   c"
        4123  +
X-Amz-Date:20150830T123600Z
        4124  +
X-Amz-Region-Set:us-east-1
        4125  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date;x-amz-region-set, Signature=3046022100ce72c874a80cea45e3c5b7cbe76178f8577870e1f97ee1730f57cff45c3d398b022100e4ea7b870335abab5ca57fa740d20b3c5aba2739cf96dd7fa671fc11cf6c3341
        4126  +
 3346   4127   
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
 3347   4128   
similarity index 99%
 3348   4129   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3349   4130   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3350   4131   
index 0e407d8..a2c9c05 100644
 3351         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
        4132  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3352   4133   
@@ -1,4 +1,4 @@
 3353   4134   
AWS4-ECDSA-P256-SHA256
 3354   4135   
20150830T123600Z
 3355   4136   
20150830/service/aws4_request
 3356         -
18b43001be9b531ebdd8202144dbd7630ea8a35bc328a7d0e561dda03a876095
        4137  +
18b43001be9b531ebdd8202144dbd7630ea8a35bc328a7d0e561dda03a876095
              \
 No newline at end of file
 3357   4138   
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
 3358   4139   
new file mode 100644
 3359   4140   
index 0000000..379dcb2
 3360         -
-- /dev/null
        4141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3361   4142   
@@ -0,0 +1,4 @@
        4143  +
{
        4144  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4145  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4146  +
}
 3362   4147   
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
 3363   4148   
similarity index 99%
 3364   4149   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3365   4150   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3366   4151   
index 8a3b042..3a51150 100644
 3367         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
        4152  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3368   4153   
@@ -1,9 +1,9 @@
 3369   4154   
GET
 3370   4155   
/
 3371   4156   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host%3Bmy-header1%3Bmy-header2
 3372   4157   
host:example.amazonaws.com
 3373   4158   
my-header1:value1
 3374   4159   
my-header2:"a b c"
 3375   4160   
 3376   4161   
host;my-header1;my-header2
 3377         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4162  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3378   4163   
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
 3379   4164   
new file mode 100644
 3380   4165   
index 0000000..0033053
 3381         -
-- /dev/null
        4166  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3382   4167   
@@ -0,0 +1 @@
        4168  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3383   4169   
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
 3384   4170   
new file mode 100644
 3385   4171   
index 0000000..1537888
 3386         -
-- /dev/null
        4172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3387   4173   
@@ -0,0 +1,5 @@
        4174  +
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
        4175  +
Host:example.amazonaws.com
        4176  +
My-Header1: value1
        4177  +
My-Header2: "a   b   c"
        4178  +
 3388   4179   
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
 3389   4180   
similarity index 99%
 3390   4181   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3391   4182   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3392   4183   
index 5eead25..633dc1f 100644
 3393         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
        4184  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3394   4185   
@@ -1,4 +1,4 @@
 3395   4186   
AWS4-ECDSA-P256-SHA256
 3396   4187   
20150830T123600Z
 3397   4188   
20150830/service/aws4_request
 3398         -
4f92ebcf5f0844588e443a2243fafdb64319c6d1ad913c07686129b9991326a3
        4189  +
4f92ebcf5f0844588e443a2243fafdb64319c6d1ad913c07686129b9991326a3
              \
 No newline at end of file
 3399   4190   
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
 3400   4191   
similarity index 75%
 3401   4192   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3402   4193   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3403   4194   
index 901f36c..ad1ea98 100644
 3404         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        4195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3405   4196   
@@ -1,5 +1,4 @@
 3406   4197   
GET / HTTP/1.1
 3407   4198   
Host:example.amazonaws.com
 3408   4199   
My-Header1: value1
 3409   4200   
My-Header2: "a   b   c"
 3410         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3411   4201   
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
 3412   4202   
new file mode 100644
 3413   4203   
index 0000000..0468d80
 3414         -
-- /dev/null
        4204  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3415   4205   
@@ -0,0 +1,12 @@
        4206  +
{
        4207  +
    "credentials": {
        4208  +
        "access_key_id": "AKIDEXAMPLE",
        4209  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4210  +
    },
        4211  +
    "expiration_in_seconds": 3600,
        4212  +
    "normalize": true,
        4213  +
    "region": "us-east-1",
        4214  +
    "service": "service",
        4215  +
    "sign_body": false,
        4216  +
    "timestamp": "2015-08-30T12:36:00Z"
        4217  +
}
              \
 No newline at end of file
 3416   4218   
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
 3417   4219   
similarity index 99%
 3418   4220   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3419   4221   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3420   4222   
index 47e7128..76db73d 100644
 3421         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
        4223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3422   4224   
@@ -1,9 +1,9 @@
 3423   4225   
GET
 3424   4226   
/
 3425   4227   
 3426   4228   
host:example.amazonaws.com
 3427   4229   
x-amz-date:20150830T123600Z
 3428   4230   
x-amz-region-set:us-east-1
 3429   4231   
 3430   4232   
host;x-amz-date;x-amz-region-set
 3431         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4233  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3432   4234   
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
 3433   4235   
new file mode 100644
 3434   4236   
index 0000000..cbd6ae2
 3435         -
-- /dev/null
        4237  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3436   4238   
@@ -0,0 +1 @@
        4239  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3437   4240   
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
 3438   4241   
new file mode 100644
 3439   4242   
index 0000000..a343fcf
 3440         -
-- /dev/null
        4243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3441   4244   
@@ -0,0 +1,6 @@
        4245  +
GET /example/.. HTTP/1.1
        4246  +
Host:example.amazonaws.com
        4247  +
X-Amz-Date:20150830T123600Z
        4248  +
X-Amz-Region-Set:us-east-1
        4249  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        4250  +
 3442   4251   
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
 3443   4252   
similarity index 99%
 3444   4253   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3445   4254   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3446   4255   
index 95d7219..600f1d8 100644
 3447         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
        4256  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3448   4257   
@@ -1,4 +1,4 @@
 3449   4258   
AWS4-ECDSA-P256-SHA256
 3450   4259   
20150830T123600Z
 3451   4260   
20150830/service/aws4_request
 3452         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4261  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3453   4262   
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
 3454   4263   
new file mode 100644
 3455   4264   
index 0000000..379dcb2
 3456         -
-- /dev/null
        4265  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3457   4266   
@@ -0,0 +1,4 @@
        4267  +
{
        4268  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4269  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4270  +
}
 3458   4271   
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
 3459   4272   
similarity index 99%
 3460   4273   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3461   4274   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3462   4275   
index a34ea26..779c51c 100644
 3463         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
        4276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3464   4277   
@@ -1,7 +1,7 @@
 3465   4278   
GET
 3466   4279   
/
 3467   4280   
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
 3468   4281   
host:example.amazonaws.com
 3469   4282   
 3470   4283   
host
 3471         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4284  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3472   4285   
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
 3473   4286   
new file mode 100644
 3474   4287   
index 0000000..3cc88e6
 3475         -
-- /dev/null
        4288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3476   4289   
@@ -0,0 +1 @@
        4290  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3477   4291   
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
 3478   4292   
new file mode 100644
 3479   4293   
index 0000000..f68dde8
 3480         -
-- /dev/null
        4294  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3481   4295   
@@ -0,0 +1,3 @@
        4296  +
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
        4297  +
Host:example.amazonaws.com
        4298  +
 3482   4299   
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
 3483   4300   
similarity index 99%
 3484   4301   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3485   4302   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3486   4303   
index 48f855c..6e29a7e 100644
 3487         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
        4304  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3488   4305   
@@ -1,4 +1,4 @@
 3489   4306   
AWS4-ECDSA-P256-SHA256
 3490   4307   
20150830T123600Z
 3491   4308   
20150830/service/aws4_request
 3492         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4309  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3493   4310   
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
 3494   4311   
similarity index 65%
 3495   4312   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3496   4313   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3497   4314   
index 9d6d7ca..6aa9f99 100644
 3498         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        4315  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3499   4316   
@@ -1,3 +1,2 @@
 3500   4317   
GET /example/.. HTTP/1.1
 3501   4318   
Host:example.amazonaws.com
 3502         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3503   4319   
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
 3504   4320   
new file mode 100644
 3505   4321   
index 0000000..0468d80
 3506         -
-- /dev/null
        4322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3507   4323   
@@ -0,0 +1,12 @@
        4324  +
{
        4325  +
    "credentials": {
        4326  +
        "access_key_id": "AKIDEXAMPLE",
        4327  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4328  +
    },
        4329  +
    "expiration_in_seconds": 3600,
        4330  +
    "normalize": true,
        4331  +
    "region": "us-east-1",
        4332  +
    "service": "service",
        4333  +
    "sign_body": false,
        4334  +
    "timestamp": "2015-08-30T12:36:00Z"
        4335  +
}
              \
 No newline at end of file
 3508   4336   
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
 3509   4337   
similarity index 99%
 3510   4338   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3511   4339   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3512   4340   
index 47e7128..76db73d 100644
 3513         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
        4341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3514   4342   
@@ -1,9 +1,9 @@
 3515   4343   
GET
 3516   4344   
/
 3517   4345   
 3518   4346   
host:example.amazonaws.com
 3519   4347   
x-amz-date:20150830T123600Z
 3520   4348   
x-amz-region-set:us-east-1
 3521   4349   
 3522   4350   
host;x-amz-date;x-amz-region-set
 3523         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4351  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3524   4352   
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
 3525   4353   
new file mode 100644
 3526   4354   
index 0000000..f7a7ebe
 3527         -
-- /dev/null
        4355  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3528   4356   
@@ -0,0 +1 @@
        4357  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3529   4358   
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
 3530   4359   
new file mode 100644
 3531   4360   
index 0000000..9d2c50d
 3532         -
-- /dev/null
        4361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3533   4362   
@@ -0,0 +1,6 @@
        4363  +
GET /example1/example2/../.. HTTP/1.1
        4364  +
Host:example.amazonaws.com
        4365  +
X-Amz-Date:20150830T123600Z
        4366  +
X-Amz-Region-Set:us-east-1
        4367  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4368  +
 3534   4369   
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
 3535   4370   
similarity index 99%
 3536   4371   
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
 3537   4372   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3538   4373   
index 95d7219..600f1d8 100644
 3539         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-string-to-sign.txt
        4374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3540   4375   
@@ -1,4 +1,4 @@
 3541   4376   
AWS4-ECDSA-P256-SHA256
 3542   4377   
20150830T123600Z
 3543   4378   
20150830/service/aws4_request
 3544         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4379  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3545   4380   
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
 3546   4381   
new file mode 100644
 3547   4382   
index 0000000..379dcb2
 3548         -
-- /dev/null
        4383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3549   4384   
@@ -0,0 +1,4 @@
        4385  +
{
        4386  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4387  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4388  +
}
 3550   4389   
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
 3551   4390   
similarity index 99%
 3552   4391   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3553   4392   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3554   4393   
index a34ea26..779c51c 100644
 3555         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
        4394  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3556   4395   
@@ -1,7 +1,7 @@
 3557   4396   
GET
 3558   4397   
/
 3559   4398   
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
 3560   4399   
host:example.amazonaws.com
 3561   4400   
 3562   4401   
host
 3563         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4402  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3564   4403   
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
 3565   4404   
new file mode 100644
 3566   4405   
index 0000000..45ef286
 3567         -
-- /dev/null
        4406  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3568   4407   
@@ -0,0 +1 @@
        4408  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3569   4409   
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
 3570   4410   
new file mode 100644
 3571   4411   
index 0000000..0d16f66
 3572         -
-- /dev/null
        4412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3573   4413   
@@ -0,0 +1,3 @@
        4414  +
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
        4415  +
Host:example.amazonaws.com
        4416  +
 3574   4417   
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
 3575   4418   
similarity index 99%
 3576   4419   
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
 3577   4420   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3578   4421   
index 48f855c..6e29a7e 100644
 3579         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-string-to-sign.txt
        4422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3580   4423   
@@ -1,4 +1,4 @@
 3581   4424   
AWS4-ECDSA-P256-SHA256
 3582   4425   
20150830T123600Z
 3583   4426   
20150830/service/aws4_request
 3584         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4427  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3585   4428   
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
 3586   4429   
similarity index 70%
 3587   4430   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3588   4431   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3589   4432   
index cfd4e8b..a856c10 100644
 3590         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3591   4434   
@@ -1,3 +1,2 @@
 3592   4435   
GET /example1/example2/../.. HTTP/1.1
 3593   4436   
Host:example.amazonaws.com
 3594         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3595   4437   
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
 3596   4438   
new file mode 100644
 3597   4439   
index 0000000..7bee5c7
 3598         -
-- /dev/null
        4440  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3599   4441   
@@ -0,0 +1,12 @@
        4442  +
{
        4443  +
    "credentials": {
        4444  +
        "access_key_id": "AKIDEXAMPLE",
        4445  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4446  +
    },
        4447  +
    "expiration_in_seconds": 3600,
        4448  +
    "normalize": false,
        4449  +
    "region": "us-east-1",
        4450  +
    "service": "service",
        4451  +
    "sign_body": false,
        4452  +
    "timestamp": "2015-08-30T12:36:00Z"
        4453  +
}
              \
 No newline at end of file
 3600   4454   
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
 3601   4455   
similarity index 99%
 3602   4456   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3603   4457   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3604   4458   
index 5e1d1cf..e4e6d57 100644
 3605         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
        4459  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3606   4460   
@@ -1,9 +1,9 @@
 3607   4461   
GET
 3608   4462   
/example1/example2/../..
 3609   4463   
 3610   4464   
host:example.amazonaws.com
 3611   4465   
x-amz-date:20150830T123600Z
 3612   4466   
x-amz-region-set:us-east-1
 3613   4467   
 3614   4468   
host;x-amz-date;x-amz-region-set
 3615         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4469  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3616   4470   
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
 3617   4471   
new file mode 100644
 3618   4472   
index 0000000..2d1b47c
 3619         -
-- /dev/null
        4473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3620   4474   
@@ -0,0 +1 @@
        4475  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3621   4476   
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
 3622   4477   
new file mode 100644
 3623   4478   
index 0000000..7158179
 3624         -
-- /dev/null
        4479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3625   4480   
@@ -0,0 +1,6 @@
        4481  +
GET /example1/example2/../.. HTTP/1.1
        4482  +
Host:example.amazonaws.com
        4483  +
X-Amz-Date:20150830T123600Z
        4484  +
X-Amz-Region-Set:us-east-1
        4485  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4486  +
 3626   4487   
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
 3627   4488   
similarity index 99%
 3628   4489   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3629   4490   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3630   4491   
index 1cca6cf..db60c8e 100644
 3631         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
        4492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3632   4493   
@@ -1,4 +1,4 @@
 3633   4494   
AWS4-ECDSA-P256-SHA256
 3634   4495   
20150830T123600Z
 3635   4496   
20150830/service/aws4_request
 3636         -
7bad1fab948577ec4e860ff2bb06ce9b69f0dd60eb8a9ad7c016b584254f9b5b
        4497  +
7bad1fab948577ec4e860ff2bb06ce9b69f0dd60eb8a9ad7c016b584254f9b5b
              \
 No newline at end of file
 3637   4498   
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
 3638   4499   
new file mode 100644
 3639   4500   
index 0000000..379dcb2
 3640         -
-- /dev/null
        4501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3641   4502   
@@ -0,0 +1,4 @@
        4503  +
{
        4504  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4505  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4506  +
}
 3642   4507   
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
 3643   4508   
similarity index 99%
 3644   4509   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3645   4510   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3646   4511   
index 95dc104..0d963ba 100644
 3647         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
        4512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3648   4513   
@@ -1,7 +1,7 @@
 3649   4514   
GET
 3650   4515   
/example1/example2/../..
 3651   4516   
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
 3652   4517   
host:example.amazonaws.com
 3653   4518   
 3654   4519   
host
 3655         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4520  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3656   4521   
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
 3657   4522   
new file mode 100644
 3658   4523   
index 0000000..ae774e4
 3659         -
-- /dev/null
        4524  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3660   4525   
@@ -0,0 +1 @@
        4526  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3661   4527   
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
 3662   4528   
new file mode 100644
 3663   4529   
index 0000000..be6b86e
 3664         -
-- /dev/null
        4530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3665   4531   
@@ -0,0 +1,3 @@
        4532  +
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
        4533  +
Host:example.amazonaws.com
        4534  +
 3666   4535   
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
 3667   4536   
similarity index 99%
 3668   4537   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3669   4538   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3670   4539   
index 50edce6..fcc70cd 100644
 3671         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
        4540  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3672   4541   
@@ -1,4 +1,4 @@
 3673   4542   
AWS4-ECDSA-P256-SHA256
 3674   4543   
20150830T123600Z
 3675   4544   
20150830/service/aws4_request
 3676         -
504892d7f7262dd98d79ab7f3bb6f918cd59d491aacb2d76450f6e065479b31a
        4545  +
504892d7f7262dd98d79ab7f3bb6f918cd59d491aacb2d76450f6e065479b31a
              \
 No newline at end of file
 3677   4546   
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
 3678   4547   
new file mode 100644
 3679   4548   
index 0000000..a856c10
 3680         -
-- /dev/null
        4549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3681   4550   
@@ -0,0 +1,2 @@
        4551  +
GET /example1/example2/../.. HTTP/1.1
        4552  +
Host:example.amazonaws.com
 3682   4553   
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
 3683   4554   
new file mode 100644
 3684   4555   
index 0000000..7bee5c7
 3685         -
-- /dev/null
        4556  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3686   4557   
@@ -0,0 +1,12 @@
        4558  +
{
        4559  +
    "credentials": {
        4560  +
        "access_key_id": "AKIDEXAMPLE",
        4561  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4562  +
    },
        4563  +
    "expiration_in_seconds": 3600,
        4564  +
    "normalize": false,
        4565  +
    "region": "us-east-1",
        4566  +
    "service": "service",
        4567  +
    "sign_body": false,
        4568  +
    "timestamp": "2015-08-30T12:36:00Z"
        4569  +
}
              \
 No newline at end of file
 3687   4570   
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
 3688   4571   
similarity index 99%
 3689   4572   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3690   4573   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3691   4574   
index d6a0abe..22def1a 100644
 3692         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
        4575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3693   4576   
@@ -1,9 +1,9 @@
 3694   4577   
GET
 3695   4578   
/example/..
 3696   4579   
 3697   4580   
host:example.amazonaws.com
 3698   4581   
x-amz-date:20150830T123600Z
 3699   4582   
x-amz-region-set:us-east-1
 3700   4583   
 3701   4584   
host;x-amz-date;x-amz-region-set
 3702         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4585  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3703   4586   
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
 3704   4587   
new file mode 100644
 3705   4588   
index 0000000..9251bad
 3706         -
-- /dev/null
        4589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3707   4590   
@@ -0,0 +1 @@
        4591  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3708   4592   
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
 3709   4593   
new file mode 100644
 3710   4594   
index 0000000..f1bb60f
 3711         -
-- /dev/null
        4595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3712   4596   
@@ -0,0 +1,6 @@
        4597  +
GET /example/.. HTTP/1.1
        4598  +
Host:example.amazonaws.com
        4599  +
X-Amz-Date:20150830T123600Z
        4600  +
X-Amz-Region-Set:us-east-1
        4601  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4602  +
 3713   4603   
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
 3714   4604   
similarity index 99%
 3715   4605   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3716   4606   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3717   4607   
index 4a34e93..5673a20 100644
 3718         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
        4608  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3719   4609   
@@ -1,4 +1,4 @@
 3720   4610   
AWS4-ECDSA-P256-SHA256
 3721   4611   
20150830T123600Z
 3722   4612   
20150830/service/aws4_request
 3723         -
c859b5032f2ebd5df0285ff633b495b0e6e962e5adb94731c95e8e993a9a8213
        4613  +
c859b5032f2ebd5df0285ff633b495b0e6e962e5adb94731c95e8e993a9a8213
              \
 No newline at end of file
 3724   4614   
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
 3725   4615   
new file mode 100644
 3726   4616   
index 0000000..379dcb2
 3727         -
-- /dev/null
        4617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3728   4618   
@@ -0,0 +1,4 @@
        4619  +
{
        4620  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4621  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4622  +
}
 3729   4623   
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
 3730   4624   
similarity index 99%
 3731   4625   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3732   4626   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3733   4627   
index b1d123e..a1c22e0 100644
 3734         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
        4628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3735   4629   
@@ -1,7 +1,7 @@
 3736   4630   
GET
 3737   4631   
/example/..
 3738   4632   
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
 3739   4633   
host:example.amazonaws.com
 3740   4634   
 3741   4635   
host
 3742         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4636  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3743   4637   
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
 3744   4638   
new file mode 100644
 3745   4639   
index 0000000..9f0f686
 3746         -
-- /dev/null
        4640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3747   4641   
@@ -0,0 +1 @@
        4642  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3748   4643   
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
 3749   4644   
new file mode 100644
 3750   4645   
index 0000000..d1d451a
 3751         -
-- /dev/null
        4646  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3752   4647   
@@ -0,0 +1,3 @@
        4648  +
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
        4649  +
Host:example.amazonaws.com
        4650  +
 3753   4651   
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
 3754   4652   
similarity index 99%
 3755   4653   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3756   4654   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3757   4655   
index a17f5ab..81b41e8 100644
 3758         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
        4656  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3759   4657   
@@ -1,4 +1,4 @@
 3760   4658   
AWS4-ECDSA-P256-SHA256
 3761   4659   
20150830T123600Z
 3762   4660   
20150830/service/aws4_request
 3763         -
bbbb3668f996906ebb2c96ebdc2418af99656315adaf647989ab336c88fb516e
        4661  +
bbbb3668f996906ebb2c96ebdc2418af99656315adaf647989ab336c88fb516e
              \
 No newline at end of file
 3764   4662   
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
 3765   4663   
new file mode 100644
 3766   4664   
index 0000000..6aa9f99
 3767         -
-- /dev/null
        4665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3768   4666   
@@ -0,0 +1,2 @@
        4667  +
GET /example/.. HTTP/1.1
        4668  +
Host:example.amazonaws.com
 3769   4669   
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
 3770   4670   
new file mode 100644
 3771   4671   
index 0000000..0468d80
 3772         -
-- /dev/null
        4672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3773   4673   
@@ -0,0 +1,12 @@
        4674  +
{
        4675  +
    "credentials": {
        4676  +
        "access_key_id": "AKIDEXAMPLE",
        4677  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4678  +
    },
        4679  +
    "expiration_in_seconds": 3600,
        4680  +
    "normalize": true,
        4681  +
    "region": "us-east-1",
        4682  +
    "service": "service",
        4683  +
    "sign_body": false,
        4684  +
    "timestamp": "2015-08-30T12:36:00Z"
        4685  +
}
              \
 No newline at end of file
 3774   4686   
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
 3775   4687   
similarity index 99%
 3776   4688   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3777   4689   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3778   4690   
index 47e7128..76db73d 100644
 3779         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
        4691  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3780   4692   
@@ -1,9 +1,9 @@
 3781   4693   
GET
 3782   4694   
/
 3783   4695   
 3784   4696   
host:example.amazonaws.com
 3785   4697   
x-amz-date:20150830T123600Z
 3786   4698   
x-amz-region-set:us-east-1
 3787   4699   
 3788   4700   
host;x-amz-date;x-amz-region-set
 3789         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4701  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3790   4702   
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
 3791   4703   
new file mode 100644
 3792   4704   
index 0000000..ca6e84e
 3793         -
-- /dev/null
        4705  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3794   4706   
@@ -0,0 +1 @@
        4707  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3795   4708   
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
 3796   4709   
new file mode 100644
 3797   4710   
index 0000000..a7c764c
 3798         -
-- /dev/null
        4711  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3799   4712   
@@ -0,0 +1,6 @@
        4713  +
GET /./ HTTP/1.1
        4714  +
Host:example.amazonaws.com
        4715  +
X-Amz-Date:20150830T123600Z
        4716  +
X-Amz-Region-Set:us-east-1
        4717  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4718  +
 3800   4719   
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
 3801   4720   
similarity index 99%
 3802   4721   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3803   4722   
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
 3804   4723   
index 95d7219..600f1d8 100644
 3805         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
        4724  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-string-to-sign.txt
 3806   4725   
@@ -1,4 +1,4 @@
 3807   4726   
AWS4-ECDSA-P256-SHA256
 3808   4727   
20150830T123600Z
 3809   4728   
20150830/service/aws4_request
 3810         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4729  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3811   4730   
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
 3812   4731   
new file mode 100644
 3813   4732   
index 0000000..379dcb2
 3814         -
-- /dev/null
        4733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3815   4734   
@@ -0,0 +1,4 @@
        4735  +
{
        4736  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4737  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4738  +
}
 3816   4739   
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
 3817   4740   
similarity index 99%
 3818   4741   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3819   4742   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3820   4743   
index a34ea26..779c51c 100644
 3821         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
        4744  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3822   4745   
@@ -1,7 +1,7 @@
 3823   4746   
GET
 3824   4747   
/
 3825   4748   
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
 3826   4749   
host:example.amazonaws.com
 3827   4750   
 3828   4751   
host
 3829         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4752  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3830   4753   
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
 3831   4754   
new file mode 100644
 3832   4755   
index 0000000..4b6ed09
 3833         -
-- /dev/null
        4756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3834   4757   
@@ -0,0 +1 @@
        4758  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3835   4759   
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
 3836   4760   
new file mode 100644
 3837   4761   
index 0000000..d6c7176
 3838         -
-- /dev/null
        4762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3839   4763   
@@ -0,0 +1,3 @@
        4764  +
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
        4765  +
Host:example.amazonaws.com
        4766  +
 3840   4767   
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
 3841   4768   
similarity index 99%
 3842   4769   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3843   4770   
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
 3844   4771   
index 48f855c..6e29a7e 100644
 3845         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
        4772  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-string-to-sign.txt
 3846   4773   
@@ -1,4 +1,4 @@
 3847   4774   
AWS4-ECDSA-P256-SHA256
 3848   4775   
20150830T123600Z
 3849   4776   
20150830/service/aws4_request
 3850         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4777  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3851   4778   
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
 3852   4779   
similarity index 61%
 3853   4780   
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
 3854   4781   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3855   4782   
index f3537b7..2c5ff38 100644
 3856         -
-- 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
        4783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3857   4784   
@@ -1,3 +1,2 @@
 3858   4785   
GET /./ HTTP/1.1
 3859   4786   
Host:example.amazonaws.com
 3860         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3861   4787   
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
 3862   4788   
new file mode 100644
 3863   4789   
index 0000000..7bee5c7
 3864         -
-- /dev/null
        4790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3865   4791   
@@ -0,0 +1,12 @@
        4792  +
{
        4793  +
    "credentials": {
        4794  +
        "access_key_id": "AKIDEXAMPLE",
        4795  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4796  +
    },
        4797  +
    "expiration_in_seconds": 3600,
        4798  +
    "normalize": false,
        4799  +
    "region": "us-east-1",
        4800  +
    "service": "service",
        4801  +
    "sign_body": false,
        4802  +
    "timestamp": "2015-08-30T12:36:00Z"
        4803  +
}
              \
 No newline at end of file
 3866   4804   
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
 3867   4805   
similarity index 99%
 3868   4806   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3869   4807   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3870   4808   
index d05303d..9257ac4 100644
 3871         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
        4809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3872   4810   
@@ -1,9 +1,9 @@
 3873   4811   
GET
 3874   4812   
/./
 3875   4813   
 3876   4814   
host:example.amazonaws.com
 3877   4815   
x-amz-date:20150830T123600Z
 3878   4816   
x-amz-region-set:us-east-1
 3879   4817   
 3880   4818   
host;x-amz-date;x-amz-region-set
 3881         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4819  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3882   4820   
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
 3883   4821   
new file mode 100644
 3884   4822   
index 0000000..2eb1aa5
 3885         -
-- /dev/null
        4823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3886   4824   
@@ -0,0 +1 @@
        4825  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3887   4826   
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
 3888   4827   
new file mode 100644
 3889   4828   
index 0000000..df3b1da
 3890         -
-- /dev/null
        4829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3891   4830   
@@ -0,0 +1,6 @@
        4831  +
GET /./ HTTP/1.1
        4832  +
Host:example.amazonaws.com
        4833  +
X-Amz-Date:20150830T123600Z
        4834  +
X-Amz-Region-Set:us-east-1
        4835  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4836  +
 3892   4837   
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
 3893   4838   
similarity index 99%
 3894   4839   
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
 3895   4840   
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
 3896   4841   
index e1bfb39..754b3ed 100644
 3897         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
        4842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 3898   4843   
@@ -1,4 +1,4 @@
 3899   4844   
AWS4-ECDSA-P256-SHA256
 3900   4845   
20150830T123600Z
 3901   4846   
20150830/service/aws4_request
 3902         -
a14dce0217a32357c623c3db790988b6b5aa1494a527158b06d3ca4444561a4b
        4847  +
a14dce0217a32357c623c3db790988b6b5aa1494a527158b06d3ca4444561a4b
              \
 No newline at end of file
 3903   4848   
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
 3904   4849   
new file mode 100644
 3905   4850   
index 0000000..379dcb2
 3906         -
-- /dev/null
        4851  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3907   4852   
@@ -0,0 +1,4 @@
        4853  +
{
        4854  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4855  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4856  +
}
 3908   4857   
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
 3909   4858   
similarity index 99%
 3910   4859   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3911   4860   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3912   4861   
index f048d0f..c8edce3 100644
 3913         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
        4862  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3914   4863   
@@ -1,7 +1,7 @@
 3915   4864   
GET
 3916   4865   
/./
 3917   4866   
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
 3918   4867   
host:example.amazonaws.com
 3919   4868   
 3920   4869   
host
 3921         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4870  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3922   4871   
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
 3923   4872   
new file mode 100644
 3924   4873   
index 0000000..d3af3b8
 3925         -
-- /dev/null
        4874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3926   4875   
@@ -0,0 +1 @@
        4876  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3927   4877   
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
 3928   4878   
new file mode 100644
 3929   4879   
index 0000000..eb38155
 3930         -
-- /dev/null
        4880  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3931   4881   
@@ -0,0 +1,3 @@
        4882  +
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
        4883  +
Host:example.amazonaws.com
        4884  +
 3932   4885   
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
 3933   4886   
similarity index 99%
 3934   4887   
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
 3935   4888   
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
 3936   4889   
index bfcf245..4f20b8f 100644
 3937         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
        4890  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 3938   4891   
@@ -1,4 +1,4 @@
 3939   4892   
AWS4-ECDSA-P256-SHA256
 3940   4893   
20150830T123600Z
 3941   4894   
20150830/service/aws4_request
 3942         -
0d146fed00cdf50d7a87864583b7a33ca75322aab46b0a2d204f5d0c13440917
        4895  +
0d146fed00cdf50d7a87864583b7a33ca75322aab46b0a2d204f5d0c13440917
              \
 No newline at end of file
 3943   4896   
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
 3944   4897   
new file mode 100644
 3945   4898   
index 0000000..2c5ff38
 3946         -
-- /dev/null
        4899  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3947   4900   
@@ -0,0 +1,2 @@
        4901  +
GET /./ HTTP/1.1
        4902  +
Host:example.amazonaws.com
 3948   4903   
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
 3949   4904   
new file mode 100644
 3950   4905   
index 0000000..0468d80
 3951         -
-- /dev/null
        4906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3952   4907   
@@ -0,0 +1,12 @@
        4908  +
{
        4909  +
    "credentials": {
        4910  +
        "access_key_id": "AKIDEXAMPLE",
        4911  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4912  +
    },
        4913  +
    "expiration_in_seconds": 3600,
        4914  +
    "normalize": true,
        4915  +
    "region": "us-east-1",
        4916  +
    "service": "service",
        4917  +
    "sign_body": false,
        4918  +
    "timestamp": "2015-08-30T12:36:00Z"
        4919  +
}
              \
 No newline at end of file
 3953   4920   
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
 3954   4921   
similarity index 99%
 3955   4922   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3956   4923   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3957   4924   
index 47e7128..76db73d 100644
 3958         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
        4925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3959   4926   
@@ -1,9 +1,9 @@
 3960   4927   
GET
 3961   4928   
/
 3962   4929   
 3963   4930   
host:example.amazonaws.com
 3964   4931   
x-amz-date:20150830T123600Z
 3965   4932   
x-amz-region-set:us-east-1
 3966   4933   
 3967   4934   
host;x-amz-date;x-amz-region-set
 3968         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4935  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3969   4936   
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
 3970   4937   
new file mode 100644
 3971   4938   
index 0000000..0c049ca
 3972         -
-- /dev/null
        4939  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3973   4940   
@@ -0,0 +1 @@
        4941  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3974   4942   
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
 3975   4943   
new file mode 100644
 3976   4944   
index 0000000..f4bb1e1
 3977         -
-- /dev/null
        4945  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3978   4946   
@@ -0,0 +1,6 @@
        4947  +
GET // HTTP/1.1
        4948  +
Host:example.amazonaws.com
        4949  +
X-Amz-Date:20150830T123600Z
        4950  +
X-Amz-Region-Set:us-east-1
        4951  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4952  +
 3979   4953   
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
 3980   4954   
similarity index 99%
 3981   4955   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3982   4956   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3983   4957   
index 95d7219..600f1d8 100644
 3984         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
        4958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3985   4959   
@@ -1,4 +1,4 @@
 3986   4960   
AWS4-ECDSA-P256-SHA256
 3987   4961   
20150830T123600Z
 3988   4962   
20150830/service/aws4_request
 3989         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4963  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3990   4964   
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
 3991   4965   
new file mode 100644
 3992   4966   
index 0000000..379dcb2
 3993         -
-- /dev/null
        4967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3994   4968   
@@ -0,0 +1,4 @@
        4969  +
{
        4970  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4971  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4972  +
}
 3995   4973   
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
 3996   4974   
similarity index 99%
 3997   4975   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3998   4976   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3999   4977   
index a34ea26..779c51c 100644
 4000         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
        4978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 4001   4979   
@@ -1,7 +1,7 @@
 4002   4980   
GET
 4003   4981   
/
 4004   4982   
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
 4005   4983   
host:example.amazonaws.com
 4006   4984   
 4007   4985   
host
 4008         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4986  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4009   4987   
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
 4010   4988   
new file mode 100644
 4011   4989   
index 0000000..ca52293
 4012         -
-- /dev/null
        4990  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 4013   4991   
@@ -0,0 +1 @@
        4992  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 4014   4993   
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
 4015   4994   
new file mode 100644
 4016   4995   
index 0000000..4a212a9
 4017         -
-- /dev/null
        4996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 4018   4997   
@@ -0,0 +1,3 @@
        4998  +
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
        4999  +
Host:example.amazonaws.com
        5000  +
 4019   5001   
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
 4020   5002   
similarity index 99%
 4021   5003   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 4022   5004   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 4023   5005   
index 48f855c..6e29a7e 100644
 4024         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
        5006  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 4025   5007   
@@ -1,4 +1,4 @@
 4026   5008   
AWS4-ECDSA-P256-SHA256
 4027   5009   
20150830T123600Z
 4028   5010   
20150830/service/aws4_request
 4029         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        5011  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4030   5012   
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
 4031   5013   
similarity index 61%
 4032   5014   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 4033   5015   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 4034   5016   
index ede8e3c..25bc21e 100644
 4035         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        5017  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 4036   5018   
@@ -1,3 +1,2 @@
 4037   5019   
GET // HTTP/1.1
 4038   5020   
Host:example.amazonaws.com
 4039         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4040   5021   
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
 4041   5022   
new file mode 100644
 4042   5023   
index 0000000..0468d80
 4043         -
-- /dev/null
        5024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 4044   5025   
@@ -0,0 +1,12 @@
        5026  +
{
        5027  +
    "credentials": {
        5028  +
        "access_key_id": "AKIDEXAMPLE",
        5029  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5030  +
    },
        5031  +
    "expiration_in_seconds": 3600,
        5032  +
    "normalize": true,
        5033  +
    "region": "us-east-1",
        5034  +
    "service": "service",
        5035  +
    "sign_body": false,
        5036  +
    "timestamp": "2015-08-30T12:36:00Z"
        5037  +
}
              \
 No newline at end of file
 4045   5038   
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
 4046   5039   
similarity index 99%
 4047   5040   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4048   5041   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4049   5042   
index 2e36c20..a51f1ba 100644
 4050         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
        5043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4051   5044   
@@ -1,9 +1,9 @@
 4052   5045   
GET
 4053   5046   
/example
 4054   5047   
 4055   5048   
host:example.amazonaws.com
 4056   5049   
x-amz-date:20150830T123600Z
 4057   5050   
x-amz-region-set:us-east-1
 4058   5051   
 4059   5052   
host;x-amz-date;x-amz-region-set
 4060         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5053  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4061   5054   
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
 4062   5055   
new file mode 100644
 4063   5056   
index 0000000..f5c871f
 4064         -
-- /dev/null
        5057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 4065   5058   
@@ -0,0 +1 @@
        5059  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 4066   5060   
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
 4067   5061   
new file mode 100644
 4068   5062   
index 0000000..bda4718
 4069         -
-- /dev/null
        5063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 4070   5064   
@@ -0,0 +1,6 @@
        5065  +
GET /./example HTTP/1.1
        5066  +
Host:example.amazonaws.com
        5067  +
X-Amz-Date:20150830T123600Z
        5068  +
X-Amz-Region-Set:us-east-1
        5069  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        5070  +
 4071   5071   
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
 4072   5072   
similarity index 99%
 4073   5073   
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
 4074   5074   
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
 4075   5075   
index cd30e8b..2ffe879 100644
 4076         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-string-to-sign.txt
        5076  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 4077   5077   
@@ -1,4 +1,4 @@
 4078   5078   
AWS4-ECDSA-P256-SHA256
 4079   5079   
20150830T123600Z
 4080   5080   
20150830/service/aws4_request
 4081         -
823cb165e35e124f862c99c89a46414c24e3800f149377591e35a4848317e825
        5081  +
823cb165e35e124f862c99c89a46414c24e3800f149377591e35a4848317e825
              \
 No newline at end of file
 4082   5082   
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
 4083   5083   
new file mode 100644
 4084   5084   
index 0000000..379dcb2
 4085         -
-- /dev/null
        5085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 4086   5086   
@@ -0,0 +1,4 @@
        5087  +
{
        5088  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5089  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5090  +
}
 4087   5091   
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
 4088   5092   
similarity index 99%
 4089   5093   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4090   5094   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4091   5095   
index 77cf28d..45151ea 100644
 4092         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
        5096  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4093   5097   
@@ -1,7 +1,7 @@
 4094   5098   
GET
 4095   5099   
/example
 4096   5100   
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
 4097   5101   
host:example.amazonaws.com
 4098   5102   
 4099   5103   
host
 4100         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5104  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4101   5105   
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
 4102   5106   
new file mode 100644
 4103   5107   
index 0000000..11ad7bf
 4104         -
-- /dev/null
        5108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 4105   5109   
@@ -0,0 +1 @@
        5110  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 4106   5111   
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
 4107   5112   
new file mode 100644
 4108   5113   
index 0000000..a7537b1
 4109         -
-- /dev/null
        5114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 4110   5115   
@@ -0,0 +1,3 @@
        5116  +
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
        5117  +
Host:example.amazonaws.com
        5118  +
 4111   5119   
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
 4112   5120   
similarity index 99%
 4113   5121   
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
 4114   5122   
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
 4115   5123   
index 49d9b24..b486672 100644
 4116         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-string-to-sign.txt
        5124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 4117   5125   
@@ -1,4 +1,4 @@
 4118   5126   
AWS4-ECDSA-P256-SHA256
 4119   5127   
20150830T123600Z
 4120   5128   
20150830/service/aws4_request
 4121         -
0cc67a8acfed5946b645794c649dd98d3485728119cdf17d38985ba0ff55abca
        5129  +
0cc67a8acfed5946b645794c649dd98d3485728119cdf17d38985ba0ff55abca
              \
 No newline at end of file
 4122   5130   
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
 4123   5131   
similarity index 65%
 4124   5132   
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
 4125   5133   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 4126   5134   
index 3c91071..5d919c9 100644
 4127         -
-- 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
        5135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 4128   5136   
@@ -1,3 +1,2 @@
 4129   5137   
GET /./example HTTP/1.1
 4130   5138   
Host:example.amazonaws.com
 4131         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4132   5139   
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
 4133   5140   
new file mode 100644
 4134   5141   
index 0000000..7bee5c7
 4135         -
-- /dev/null
        5142  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 4136   5143   
@@ -0,0 +1,12 @@
        5144  +
{
        5145  +
    "credentials": {
        5146  +
        "access_key_id": "AKIDEXAMPLE",
        5147  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5148  +
    },
        5149  +
    "expiration_in_seconds": 3600,
        5150  +
    "normalize": false,
        5151  +
    "region": "us-east-1",
        5152  +
    "service": "service",
        5153  +
    "sign_body": false,
        5154  +
    "timestamp": "2015-08-30T12:36:00Z"
        5155  +
}
              \
 No newline at end of file
 4137   5156   
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
 4138   5157   
similarity index 99%
 4139   5158   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4140   5159   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4141   5160   
index 4444842..2355a69 100644
 4142         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
        5161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4143   5162   
@@ -1,9 +1,9 @@
 4144   5163   
GET
 4145   5164   
/./example
 4146   5165   
 4147   5166   
host:example.amazonaws.com
 4148   5167   
x-amz-date:20150830T123600Z
 4149   5168   
x-amz-region-set:us-east-1
 4150   5169   
 4151   5170   
host;x-amz-date;x-amz-region-set
 4152         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5171  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4153   5172   
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
 4154   5173   
new file mode 100644
 4155   5174   
index 0000000..9c8f737
 4156         -
-- /dev/null
        5175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 4157   5176   
@@ -0,0 +1 @@
        5177  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 4158   5178   
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
 4159   5179   
new file mode 100644
 4160   5180   
index 0000000..aa5980d
 4161         -
-- /dev/null
        5181  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 4162   5182   
@@ -0,0 +1,6 @@
        5183  +
GET /./example HTTP/1.1
        5184  +
Host:example.amazonaws.com
        5185  +
X-Amz-Date:20150830T123600Z
        5186  +
X-Amz-Region-Set:us-east-1
        5187  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        5188  +
 4163   5189   
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
 4164   5190   
similarity index 99%
 4165   5191   
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
 4166   5192   
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
 4167   5193   
index cc63510..d056816 100644
 4168         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
        5194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 4169   5195   
@@ -1,4 +1,4 @@
 4170   5196   
AWS4-ECDSA-P256-SHA256
 4171   5197   
20150830T123600Z
 4172   5198   
20150830/service/aws4_request
 4173         -
407314cdff397462b2458ba1860907adefcbb73fd630ddbd3de7300d2f773804
        5199  +
407314cdff397462b2458ba1860907adefcbb73fd630ddbd3de7300d2f773804
              \
 No newline at end of file
 4174   5200   
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
 4175   5201   
new file mode 100644
 4176   5202   
index 0000000..379dcb2
 4177         -
-- /dev/null
        5203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 4178   5204   
@@ -0,0 +1,4 @@
        5205  +
{
        5206  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5207  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5208  +
}
 4179   5209   
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
 4180   5210   
similarity index 99%
 4181   5211   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4182   5212   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4183   5213   
index ed2cb2d..df9928e 100644
 4184         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
        5214  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4185   5215   
@@ -1,7 +1,7 @@
 4186   5216   
GET
 4187   5217   
/./example
 4188   5218   
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
 4189   5219   
host:example.amazonaws.com
 4190   5220   
 4191   5221   
host
 4192         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5222  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4193   5223   
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
 4194   5224   
new file mode 100644
 4195   5225   
index 0000000..bb4d86b
 4196         -
-- /dev/null
        5226  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 4197   5227   
@@ -0,0 +1 @@
        5228  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 4198   5229   
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
 4199   5230   
new file mode 100644
 4200   5231   
index 0000000..0061136
 4201         -
-- /dev/null
        5232  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 4202   5233   
@@ -0,0 +1,3 @@
        5234  +
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
        5235  +
Host:example.amazonaws.com
        5236  +
 4203   5237   
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
 4204   5238   
similarity index 99%
 4205   5239   
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
 4206   5240   
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
 4207   5241   
index c9f3b6d..418f2d6 100644
 4208         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
        5242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 4209   5243   
@@ -1,4 +1,4 @@
 4210   5244   
AWS4-ECDSA-P256-SHA256
 4211   5245   
20150830T123600Z
 4212   5246   
20150830/service/aws4_request
 4213         -
efbe4f47c2acbb53fbfd0be6846cfa35a48c21f3f800e741278dae7b721302b4
        5247  +
efbe4f47c2acbb53fbfd0be6846cfa35a48c21f3f800e741278dae7b721302b4
              \
 No newline at end of file
 4214   5248   
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
 4215   5249   
new file mode 100644
 4216   5250   
index 0000000..5d919c9
 4217         -
-- /dev/null
        5251  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 4218   5252   
@@ -0,0 +1,2 @@
        5253  +
GET /./example HTTP/1.1
        5254  +
Host:example.amazonaws.com
 4219   5255   
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
 4220   5256   
new file mode 100644
 4221   5257   
index 0000000..7bee5c7
 4222         -
-- /dev/null
        5258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 4223   5259   
@@ -0,0 +1,12 @@
        5260  +
{
        5261  +
    "credentials": {
        5262  +
        "access_key_id": "AKIDEXAMPLE",
        5263  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5264  +
    },
        5265  +
    "expiration_in_seconds": 3600,
        5266  +
    "normalize": false,
        5267  +
    "region": "us-east-1",
        5268  +
    "service": "service",
        5269  +
    "sign_body": false,
        5270  +
    "timestamp": "2015-08-30T12:36:00Z"
        5271  +
}
              \
 No newline at end of file
 4224   5272   
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
 4225   5273   
similarity index 99%
 4226   5274   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 4227   5275   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 4228   5276   
index 8a4d33b..5f809da 100644
 4229         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
        5277  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 4230   5278   
@@ -1,9 +1,9 @@
 4231   5279   
GET
 4232   5280   
//
 4233   5281   
 4234   5282   
host:example.amazonaws.com
 4235   5283   
x-amz-date:20150830T123600Z
 4236   5284   
x-amz-region-set:us-east-1
 4237   5285   
 4238   5286   
host;x-amz-date;x-amz-region-set
 4239         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5287  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4240   5288   
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
 4241   5289   
new file mode 100644
 4242   5290   
index 0000000..60179e9
 4243         -
-- /dev/null
        5291  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 4244   5292   
@@ -0,0 +1 @@
        5293  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 4245   5294   
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
 4246   5295   
new file mode 100644
 4247   5296   
index 0000000..72bf1b7
 4248         -
-- /dev/null
        5297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 4249   5298   
@@ -0,0 +1,6 @@
        5299  +
GET // HTTP/1.1
        5300  +
Host:example.amazonaws.com
        5301  +
X-Amz-Date:20150830T123600Z
        5302  +
X-Amz-Region-Set:us-east-1
        5303  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        5304  +
 4250   5305   
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
 4251   5306   
similarity index 99%
 4252   5307   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 4253   5308   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 4254   5309   
index 874c01c..2b3bf67 100644
 4255         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
        5310  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 4256   5311   
@@ -1,4 +1,4 @@
 4257   5312   
AWS4-ECDSA-P256-SHA256
 4258   5313   
20150830T123600Z
 4259   5314   
20150830/service/aws4_request
 4260         -
fc8f42c7ce50ba8830a34b16d9fb478170176d78c81339e8d7e31d4baa9ec9f4
        5315  +
fc8f42c7ce50ba8830a34b16d9fb478170176d78c81339e8d7e31d4baa9ec9f4
              \
 No newline at end of file
 4261   5316   
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
 4262   5317   
new file mode 100644
 4263   5318   
index 0000000..379dcb2
 4264         -
-- /dev/null
        5319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 4265   5320   
@@ -0,0 +1,4 @@
        5321  +
{
        5322  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5323  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5324  +
}
 4266   5325   
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
 4267   5326   
similarity index 99%
 4268   5327   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 4269   5328   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 4270   5329   
index 81d7b0b..d10ad29 100644
 4271         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
        5330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 4272   5331   
@@ -1,7 +1,7 @@
 4273   5332   
GET
 4274   5333   
//
 4275   5334   
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
 4276   5335   
host:example.amazonaws.com
 4277   5336   
 4278   5337   
host
 4279         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5338  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4280   5339   
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
 4281   5340   
new file mode 100644
 4282   5341   
index 0000000..d9bd824
 4283         -
-- /dev/null
        5342  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 4284   5343   
@@ -0,0 +1 @@
        5344  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 4285   5345   
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
 4286   5346   
new file mode 100644
 4287   5347   
index 0000000..19d1d46
 4288         -
-- /dev/null
        5348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 4289   5349   
@@ -0,0 +1,3 @@
        5350  +
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
        5351  +
Host:example.amazonaws.com
        5352  +
 4290   5353   
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
 4291   5354   
similarity index 99%
 4292   5355   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 4293   5356   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 4294   5357   
index 17e5279..24c8a5e 100644
 4295         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
        5358  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 4296   5359   
@@ -1,4 +1,4 @@
 4297   5360   
AWS4-ECDSA-P256-SHA256
 4298   5361   
20150830T123600Z
 4299   5362   
20150830/service/aws4_request
 4300         -
633e0570a745c18cc22e43af8be65cfed3e7173061ec403353734bdfae90e0b6
        5363  +
633e0570a745c18cc22e43af8be65cfed3e7173061ec403353734bdfae90e0b6
              \
 No newline at end of file
 4301   5364   
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
 4302   5365   
new file mode 100644
 4303   5366   
index 0000000..25bc21e
 4304         -
-- /dev/null
        5367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 4305   5368   
@@ -0,0 +1,2 @@
        5369  +
GET // HTTP/1.1
        5370  +
Host:example.amazonaws.com
 4306   5371   
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
 4307   5372   
new file mode 100644
 4308   5373   
index 0000000..0468d80
 4309         -
-- /dev/null
        5374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 4310   5375   
@@ -0,0 +1,12 @@
        5376  +
{
        5377  +
    "credentials": {
        5378  +
        "access_key_id": "AKIDEXAMPLE",
        5379  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5380  +
    },
        5381  +
    "expiration_in_seconds": 3600,
        5382  +
    "normalize": true,
        5383  +
    "region": "us-east-1",
        5384  +
    "service": "service",
        5385  +
    "sign_body": false,
        5386  +
    "timestamp": "2015-08-30T12:36:00Z"
        5387  +
}
              \
 No newline at end of file
 4311   5388   
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
 4312   5389   
similarity index 99%
 4313   5390   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 4314   5391   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 4315   5392   
index fdf9c48..a8e9e02 100644
 4316         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
        5393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 4317   5394   
@@ -1,9 +1,9 @@
 4318   5395   
GET
 4319   5396   
/example/
 4320   5397   
 4321   5398   
host:example.amazonaws.com
 4322   5399   
x-amz-date:20150830T123600Z
 4323   5400   
x-amz-region-set:us-east-1
 4324   5401   
 4325   5402   
host;x-amz-date;x-amz-region-set
 4326         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5403  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4327   5404   
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
 4328   5405   
new file mode 100644
 4329   5406   
index 0000000..ffe1b60
 4330         -
-- /dev/null
        5407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 4331   5408   
@@ -0,0 +1 @@
        5409  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 4332   5410   
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
 4333   5411   
new file mode 100644
 4334   5412   
index 0000000..3189f55
 4335         -
-- /dev/null
        5413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 4336   5414   
@@ -0,0 +1,6 @@
        5415  +
GET //example// HTTP/1.1
        5416  +
Host:example.amazonaws.com
        5417  +
X-Amz-Date:20150830T123600Z
        5418  +
X-Amz-Region-Set:us-east-1
        5419  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        5420  +
 4337   5421   
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
 4338   5422   
similarity index 99%
 4339   5423   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 4340   5424   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 4341   5425   
index 8f9c95e..430020e 100644
 4342         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
        5426  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 4343   5427   
@@ -1,4 +1,4 @@
 4344   5428   
AWS4-ECDSA-P256-SHA256
 4345   5429   
20150830T123600Z
 4346   5430   
20150830/service/aws4_request
 4347         -
ea6c9c4bc1e85b94f2579cebbc85a84c3f8eaa055c006697555f074dd68509a6
        5431  +
ea6c9c4bc1e85b94f2579cebbc85a84c3f8eaa055c006697555f074dd68509a6
              \
 No newline at end of file
 4348   5432   
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
 4349   5433   
new file mode 100644
 4350   5434   
index 0000000..379dcb2
 4351         -
-- /dev/null
        5435  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 4352   5436   
@@ -0,0 +1,4 @@
        5437  +
{
        5438  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5439  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5440  +
}
 4353   5441   
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
 4354   5442   
similarity index 99%
 4355   5443   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 4356   5444   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 4357   5445   
index 1046735..8d41e37 100644
 4358         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
        5446  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 4359   5447   
@@ -1,7 +1,7 @@
 4360   5448   
GET
 4361   5449   
/example/
 4362   5450   
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
 4363   5451   
host:example.amazonaws.com
 4364   5452   
 4365   5453   
host
 4366         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5454  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4367   5455   
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
 4368   5456   
new file mode 100644
 4369   5457   
index 0000000..93a0fa4
 4370         -
-- /dev/null
        5458  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 4371   5459   
@@ -0,0 +1 @@
        5460  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 4372   5461   
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
 4373   5462   
new file mode 100644
 4374   5463   
index 0000000..65c8cb6
 4375         -
-- /dev/null
        5464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 4376   5465   
@@ -0,0 +1,3 @@
        5466  +
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
        5467  +
Host:example.amazonaws.com
        5468  +
 4377   5469   
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
 4378   5470   
similarity index 99%
 4379   5471   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 4380   5472   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 4381   5473   
index b293cc2..0f4c4c5 100644
 4382         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
        5474  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 4383   5475   
@@ -1,4 +1,4 @@
 4384   5476   
AWS4-ECDSA-P256-SHA256
 4385   5477   
20150830T123600Z
 4386   5478   
20150830/service/aws4_request
 4387         -
ab3f7b8af0ce16e0faf508160fb13d890874992d74f36214ae9eec7437361f2b
        5479  +
ab3f7b8af0ce16e0faf508160fb13d890874992d74f36214ae9eec7437361f2b
              \
 No newline at end of file
 4388   5480   
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
 4389   5481   
similarity index 65%
 4390   5482   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 4391   5483   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4392   5484   
index a4307ce..12e0931 100644
 4393         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        5485  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4394   5486   
@@ -1,3 +1,2 @@
 4395   5487   
GET //example// HTTP/1.1
 4396   5488   
Host:example.amazonaws.com
 4397         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4398   5489   
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
 4399   5490   
new file mode 100644
 4400   5491   
index 0000000..7bee5c7
 4401         -
-- /dev/null
        5492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 4402   5493   
@@ -0,0 +1,12 @@
        5494  +
{
        5495  +
    "credentials": {
        5496  +
        "access_key_id": "AKIDEXAMPLE",
        5497  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5498  +
    },
        5499  +
    "expiration_in_seconds": 3600,
        5500  +
    "normalize": false,
        5501  +
    "region": "us-east-1",
        5502  +
    "service": "service",
        5503  +
    "sign_body": false,
        5504  +
    "timestamp": "2015-08-30T12:36:00Z"
        5505  +
}
              \
 No newline at end of file
 4403   5506   
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
 4404   5507   
similarity index 99%
 4405   5508   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 4406   5509   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 4407   5510   
index a9c55f6..76f55ed 100644
 4408         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
        5511  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 4409   5512   
@@ -1,9 +1,9 @@
 4410   5513   
GET
 4411   5514   
//example//
 4412   5515   
 4413   5516   
host:example.amazonaws.com
 4414   5517   
x-amz-date:20150830T123600Z
 4415   5518   
x-amz-region-set:us-east-1
 4416   5519   
 4417   5520   
host;x-amz-date;x-amz-region-set
 4418         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5521  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4419   5522   
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
 4420   5523   
new file mode 100644
 4421   5524   
index 0000000..de333b2
 4422         -
-- /dev/null
        5525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 4423   5526   
@@ -0,0 +1 @@
        5527  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 4424   5528   
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
 4425   5529   
new file mode 100644
 4426   5530   
index 0000000..773ce63
 4427         -
-- /dev/null
        5531  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 4428   5532   
@@ -0,0 +1,6 @@
        5533  +
GET //example// HTTP/1.1
        5534  +
Host:example.amazonaws.com
        5535  +
X-Amz-Date:20150830T123600Z
        5536  +
X-Amz-Region-Set:us-east-1
        5537  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        5538  +
 4429   5539   
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
 4430   5540   
similarity index 99%
 4431   5541   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 4432   5542   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 4433   5543   
index 5c4c2cd..46c3265 100644
 4434         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
        5544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 4435   5545   
@@ -1,4 +1,4 @@
 4436   5546   
AWS4-ECDSA-P256-SHA256
 4437   5547   
20150830T123600Z
 4438   5548   
20150830/service/aws4_request
 4439         -
bf8c459a6a7f3879f55bff41e4dca65f69df4628456904e47f83013c0deb7276
        5549  +
bf8c459a6a7f3879f55bff41e4dca65f69df4628456904e47f83013c0deb7276
              \
 No newline at end of file
 4440   5550   
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
 4441   5551   
new file mode 100644
 4442   5552   
index 0000000..379dcb2
 4443         -
-- /dev/null
        5553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 4444   5554   
@@ -0,0 +1,4 @@
        5555  +
{
        5556  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5557  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5558  +
}
 4445   5559   
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
 4446   5560   
similarity index 99%
 4447   5561   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 4448   5562   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 4449   5563   
index c878ab4..6047ccf 100644
 4450         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
        5564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 4451   5565   
@@ -1,7 +1,7 @@
 4452   5566   
GET
 4453   5567   
//example//
 4454   5568   
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
 4455   5569   
host:example.amazonaws.com
 4456   5570   
 4457   5571   
host
 4458         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5572  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4459   5573   
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
 4460   5574   
new file mode 100644
 4461   5575   
index 0000000..d61fcd0
 4462         -
-- /dev/null
        5576  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 4463   5577   
@@ -0,0 +1 @@
        5578  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 4464   5579   
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
 4465   5580   
new file mode 100644
 4466   5581   
index 0000000..3e37b5b
 4467         -
-- /dev/null
        5582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 4468   5583   
@@ -0,0 +1,3 @@
        5584  +
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
        5585  +
Host:example.amazonaws.com
        5586  +
 4469   5587   
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
 4470   5588   
similarity index 99%
 4471   5589   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 4472   5590   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4473   5591   
index 5f59645..2537d28 100644
 4474         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
        5592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4475   5593   
@@ -1,4 +1,4 @@
 4476   5594   
AWS4-ECDSA-P256-SHA256
 4477   5595   
20150830T123600Z
 4478   5596   
20150830/service/aws4_request
 4479         -
660b4a6f0bd53b287cefb21cdf69c1574303de44d2e9f7759b5379b428b70157
        5597  +
660b4a6f0bd53b287cefb21cdf69c1574303de44d2e9f7759b5379b428b70157
              \
 No newline at end of file
 4480   5598   
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
 4481   5599   
new file mode 100644
 4482   5600   
index 0000000..12e0931
 4483         -
-- /dev/null
        5601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 4484   5602   
@@ -0,0 +1,2 @@
        5603  +
GET //example// HTTP/1.1
        5604  +
Host:example.amazonaws.com
 4485   5605   
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
 4486   5606   
new file mode 100644
 4487   5607   
index 0000000..0468d80
 4488         -
-- /dev/null
        5608  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 4489   5609   
@@ -0,0 +1,12 @@
        5610  +
{
        5611  +
    "credentials": {
        5612  +
        "access_key_id": "AKIDEXAMPLE",
        5613  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5614  +
    },
        5615  +
    "expiration_in_seconds": 3600,
        5616  +
    "normalize": true,
        5617  +
    "region": "us-east-1",
        5618  +
    "service": "service",
        5619  +
    "sign_body": false,
        5620  +
    "timestamp": "2015-08-30T12:36:00Z"
        5621  +
}
              \
 No newline at end of file
 4490   5622   
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
 4491   5623   
new file mode 100644
 4492   5624   
index 0000000..0b2b616
 4493         -
-- /dev/null
        5625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 4494   5626   
@@ -0,0 +1,9 @@
        5627  +
GET
        5628  +
/example%20space/
        5629  +
        5630  +
host:example.amazonaws.com
        5631  +
x-amz-date:20150830T123600Z
        5632  +
x-amz-region-set:us-east-1
        5633  +
        5634  +
host;x-amz-date;x-amz-region-set
        5635  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4495   5636   
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
 4496   5637   
new file mode 100644
 4497   5638   
index 0000000..6e7841d
 4498         -
-- /dev/null
        5639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 4499   5640   
@@ -0,0 +1 @@
        5641  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 4500   5642   
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
 4501   5643   
new file mode 100644
 4502   5644   
index 0000000..0969cd3
 4503         -
-- /dev/null
        5645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 4504   5646   
@@ -0,0 +1,6 @@
        5647  +
GET /example space/ HTTP/1.1
        5648  +
Host:example.amazonaws.com
        5649  +
X-Amz-Date:20150830T123600Z
        5650  +
X-Amz-Region-Set:us-east-1
        5651  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        5652  +
 4505   5653   
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
 4506   5654   
new file mode 100644
 4507   5655   
index 0000000..ddae6e2
 4508         -
-- /dev/null
        5656  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 4509   5657   
@@ -0,0 +1,4 @@
        5658  +
AWS4-ECDSA-P256-SHA256
        5659  +
20150830T123600Z
        5660  +
20150830/service/aws4_request
        5661  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4510   5662   
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
 4511   5663   
new file mode 100644
 4512   5664   
index 0000000..379dcb2
 4513         -
-- /dev/null
        5665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 4514   5666   
@@ -0,0 +1,4 @@
        5667  +
{
        5668  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5669  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5670  +
}
 4515   5671   
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
 4516   5672   
new file mode 100644
 4517   5673   
index 0000000..a66b3cb
 4518         -
-- /dev/null
        5674  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 4519   5675   
@@ -0,0 +1,7 @@
        5676  +
GET
        5677  +
/example%20space/
        5678  +
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
        5679  +
host:example.amazonaws.com
        5680  +
        5681  +
host
        5682  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4520   5683   
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
 4521   5684   
new file mode 100644
 4522   5685   
index 0000000..b3253ae
 4523         -
-- /dev/null
        5686  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 4524   5687   
@@ -0,0 +1 @@
        5688  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 4525   5689   
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
 4526   5690   
new file mode 100644
 4527   5691   
index 0000000..9e335b2
 4528         -
-- /dev/null
        5692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 4529   5693   
@@ -0,0 +1,3 @@
        5694  +
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
        5695  +
Host:example.amazonaws.com
        5696  +
 4530   5697   
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
 4531   5698   
new file mode 100644
 4532   5699   
index 0000000..b6ff6fb
 4533         -
-- /dev/null
        5700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 4534   5701   
@@ -0,0 +1,4 @@
        5702  +
AWS4-ECDSA-P256-SHA256
        5703  +
20150830T123600Z
        5704  +
20150830/service/aws4_request
        5705  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4535   5706   
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
 4536   5707   
new file mode 100644
 4537   5708   
index 0000000..ab509ab
 4538         -
-- /dev/null
        5709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 4539   5710   
@@ -0,0 +1,2 @@
        5711  +
GET /example space/ HTTP/1.1
        5712  +
Host:example.amazonaws.com
 4540   5713   
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
 4541   5714   
new file mode 100644
 4542   5715   
index 0000000..7bee5c7
 4543         -
-- /dev/null
        5716  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 4544   5717   
@@ -0,0 +1,12 @@
        5718  +
{
        5719  +
    "credentials": {
        5720  +
        "access_key_id": "AKIDEXAMPLE",
        5721  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5722  +
    },
        5723  +
    "expiration_in_seconds": 3600,
        5724  +
    "normalize": false,
        5725  +
    "region": "us-east-1",
        5726  +
    "service": "service",
        5727  +
    "sign_body": false,
        5728  +
    "timestamp": "2015-08-30T12:36:00Z"
        5729  +
}
              \
 No newline at end of file
 4545   5730   
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
 4546   5731   
new file mode 100644
 4547   5732   
index 0000000..0b2b616
 4548         -
-- /dev/null
        5733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 4549   5734   
@@ -0,0 +1,9 @@
        5735  +
GET
        5736  +
/example%20space/
        5737  +
        5738  +
host:example.amazonaws.com
        5739  +
x-amz-date:20150830T123600Z
        5740  +
x-amz-region-set:us-east-1
        5741  +
        5742  +
host;x-amz-date;x-amz-region-set
        5743  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4550   5744   
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
 4551   5745   
new file mode 100644
 4552   5746   
index 0000000..e75ae08
 4553         -
-- /dev/null
        5747  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 4554   5748   
@@ -0,0 +1 @@
        5749  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 4555   5750   
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
 4556   5751   
new file mode 100644
 4557   5752   
index 0000000..cb089db
 4558         -
-- /dev/null
        5753  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 4559   5754   
@@ -0,0 +1,6 @@
        5755  +
GET /example space/ HTTP/1.1
        5756  +
Host:example.amazonaws.com
        5757  +
X-Amz-Date:20150830T123600Z
        5758  +
X-Amz-Region-Set:us-east-1
        5759  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5760  +
 4560   5761   
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
 4561   5762   
new file mode 100644
 4562   5763   
index 0000000..ddae6e2
 4563         -
-- /dev/null
        5764  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 4564   5765   
@@ -0,0 +1,4 @@
        5766  +
AWS4-ECDSA-P256-SHA256
        5767  +
20150830T123600Z
        5768  +
20150830/service/aws4_request
        5769  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4565   5770   
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
 4566   5771   
new file mode 100644
 4567   5772   
index 0000000..379dcb2
 4568         -
-- /dev/null
        5773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 4569   5774   
@@ -0,0 +1,4 @@
        5775  +
{
        5776  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5777  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5778  +
}
 4570   5779   
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
 4571   5780   
new file mode 100644
 4572   5781   
index 0000000..a66b3cb
 4573         -
-- /dev/null
        5782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 4574   5783   
@@ -0,0 +1,7 @@
        5784  +
GET
        5785  +
/example%20space/
        5786  +
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
        5787  +
host:example.amazonaws.com
        5788  +
        5789  +
host
        5790  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4575   5791   
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
 4576   5792   
new file mode 100644
 4577   5793   
index 0000000..66a80c3
 4578         -
-- /dev/null
        5794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 4579   5795   
@@ -0,0 +1 @@
        5796  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 4580   5797   
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
 4581   5798   
new file mode 100644
 4582   5799   
index 0000000..7d1b9d9
 4583         -
-- /dev/null
        5800  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 4584   5801   
@@ -0,0 +1,3 @@
        5802  +
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
        5803  +
Host:example.amazonaws.com
        5804  +
 4585   5805   
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
 4586   5806   
new file mode 100644
 4587   5807   
index 0000000..b6ff6fb
 4588         -
-- /dev/null
        5808  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 4589   5809   
@@ -0,0 +1,4 @@
        5810  +
AWS4-ECDSA-P256-SHA256
        5811  +
20150830T123600Z
        5812  +
20150830/service/aws4_request
        5813  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4590   5814   
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
 4591   5815   
new file mode 100644
 4592   5816   
index 0000000..ab509ab
 4593         -
-- /dev/null
        5817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 4594   5818   
@@ -0,0 +1,2 @@
        5819  +
GET /example space/ HTTP/1.1
        5820  +
Host:example.amazonaws.com
 4595   5821   
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
 4596   5822   
new file mode 100644
 4597   5823   
index 0000000..0468d80
 4598         -
-- /dev/null
        5824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 4599   5825   
@@ -0,0 +1,12 @@
        5826  +
{
        5827  +
    "credentials": {
        5828  +
        "access_key_id": "AKIDEXAMPLE",
        5829  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5830  +
    },
        5831  +
    "expiration_in_seconds": 3600,
        5832  +
    "normalize": true,
        5833  +
    "region": "us-east-1",
        5834  +
    "service": "service",
        5835  +
    "sign_body": false,
        5836  +
    "timestamp": "2015-08-30T12:36:00Z"
        5837  +
}
              \
 No newline at end of file
 4600   5838   
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
 4601   5839   
similarity index 99%
 4602   5840   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 4603   5841   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4604   5842   
index b0db648..46d76bb 100644
 4605         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
        5843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4606   5844   
@@ -1,9 +1,9 @@
 4607   5845   
GET
 4608   5846   
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4609   5847   
 4610   5848   
host:example.amazonaws.com
 4611   5849   
x-amz-date:20150830T123600Z
 4612   5850   
x-amz-region-set:us-east-1
 4613   5851   
 4614   5852   
host;x-amz-date;x-amz-region-set
 4615         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5853  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4616   5854   
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
 4617   5855   
new file mode 100644
 4618   5856   
index 0000000..53c0cb6
 4619         -
-- /dev/null
        5857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 4620   5858   
@@ -0,0 +1 @@
        5859  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 4621   5860   
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
 4622   5861   
new file mode 100644
 4623   5862   
index 0000000..3bdb653
 4624         -
-- /dev/null
        5863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 4625   5864   
@@ -0,0 +1,6 @@
        5865  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5866  +
Host:example.amazonaws.com
        5867  +
X-Amz-Date:20150830T123600Z
        5868  +
X-Amz-Region-Set:us-east-1
        5869  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5870  +
 4626   5871   
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
 4627   5872   
similarity index 99%
 4628   5873   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 4629   5874   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4630   5875   
index 20c7cd6..3b30173 100644
 4631         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
        5876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4632   5877   
@@ -1,4 +1,4 @@
 4633   5878   
AWS4-ECDSA-P256-SHA256
 4634   5879   
20150830T123600Z
 4635   5880   
20150830/service/aws4_request
 4636         -
b48c0f7d7cdaa2cd05e4b789c913063becd96ccace5296a334c950040e58bcac
        5881  +
b48c0f7d7cdaa2cd05e4b789c913063becd96ccace5296a334c950040e58bcac
              \
 No newline at end of file
 4637   5882   
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
 4638   5883   
new file mode 100644
 4639   5884   
index 0000000..379dcb2
 4640         -
-- /dev/null
        5885  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 4641   5886   
@@ -0,0 +1,4 @@
        5887  +
{
        5888  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5889  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5890  +
}
 4642   5891   
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
 4643   5892   
similarity index 99%
 4644   5893   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 4645   5894   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4646   5895   
index f9fb726..7e93f58 100644
 4647         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
        5896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4648   5897   
@@ -1,7 +1,7 @@
 4649   5898   
GET
 4650   5899   
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4651   5900   
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
 4652   5901   
host:example.amazonaws.com
 4653   5902   
 4654   5903   
host
 4655         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5904  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4656   5905   
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
 4657   5906   
new file mode 100644
 4658   5907   
index 0000000..48311a8
 4659         -
-- /dev/null
        5908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 4660   5909   
@@ -0,0 +1 @@
        5910  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 4661   5911   
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
 4662   5912   
new file mode 100644
 4663   5913   
index 0000000..82da9be
 4664         -
-- /dev/null
        5914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 4665   5915   
@@ -0,0 +1,3 @@
        5916  +
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
        5917  +
Host:example.amazonaws.com
        5918  +
 4666   5919   
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
 4667   5920   
similarity index 99%
 4668   5921   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 4669   5922   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4670   5923   
index ef06e89..4aab9a2 100644
 4671         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
        5924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4672   5925   
@@ -1,4 +1,4 @@
 4673   5926   
AWS4-ECDSA-P256-SHA256
 4674   5927   
20150830T123600Z
 4675   5928   
20150830/service/aws4_request
 4676         -
a967a5035e5dc574f94fb9f0de0faf9d56e889c26d9a65d7d0a15d89690280d1
        5929  +
a967a5035e5dc574f94fb9f0de0faf9d56e889c26d9a65d7d0a15d89690280d1
              \
 No newline at end of file
 4677   5930   
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
 4678   5931   
similarity index 80%
 4679   5932   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 4680   5933   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4681   5934   
index da760cd..a149694 100644
 4682         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5935  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4683   5936   
@@ -1,3 +1,2 @@
 4684   5937   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4685   5938   
Host:example.amazonaws.com
 4686         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4687   5939   
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
 4688   5940   
new file mode 100644
 4689   5941   
index 0000000..0468d80
 4690         -
-- /dev/null
        5942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4691   5943   
@@ -0,0 +1,12 @@
        5944  +
{
        5945  +
    "credentials": {
        5946  +
        "access_key_id": "AKIDEXAMPLE",
        5947  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5948  +
    },
        5949  +
    "expiration_in_seconds": 3600,
        5950  +
    "normalize": true,
        5951  +
    "region": "us-east-1",
        5952  +
    "service": "service",
        5953  +
    "sign_body": false,
        5954  +
    "timestamp": "2015-08-30T12:36:00Z"
        5955  +
}
              \
 No newline at end of file
 4692   5956   
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
 4693   5957   
new file mode 100644
 4694   5958   
index 0000000..0f1afe7
 4695         -
-- /dev/null
        5959  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4696   5960   
@@ -0,0 +1,9 @@
        5961  +
GET
        5962  +
/%E1%88%B4
        5963  +
        5964  +
host:example.amazonaws.com
        5965  +
x-amz-date:20150830T123600Z
        5966  +
x-amz-region-set:us-east-1
        5967  +
        5968  +
host;x-amz-date;x-amz-region-set
        5969  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4697   5970   
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
 4698   5971   
new file mode 100644
 4699   5972   
index 0000000..4b9af6c
 4700         -
-- /dev/null
        5973  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4701   5974   
@@ -0,0 +1 @@
        5975  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 4702   5976   
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
 4703   5977   
new file mode 100644
 4704   5978   
index 0000000..d42d7b3
 4705         -
-- /dev/null
        5979  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4706   5980   
@@ -0,0 +1,6 @@
        5981  +
GET /ሴ HTTP/1.1
        5982  +
Host:example.amazonaws.com
        5983  +
X-Amz-Date:20150830T123600Z
        5984  +
X-Amz-Region-Set:us-east-1
        5985  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5986  +
 4707   5987   
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
 4708   5988   
new file mode 100644
 4709   5989   
index 0000000..0827f62
 4710         -
-- /dev/null
        5990  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4711   5991   
@@ -0,0 +1,4 @@
        5992  +
AWS4-ECDSA-P256-SHA256
        5993  +
20150830T123600Z
        5994  +
20150830/service/aws4_request
        5995  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4712   5996   
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
 4713   5997   
new file mode 100644
 4714   5998   
index 0000000..379dcb2
 4715         -
-- /dev/null
        5999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4716   6000   
@@ -0,0 +1,4 @@
        6001  +
{
        6002  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6003  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6004  +
}
 4717   6005   
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
 4718   6006   
new file mode 100644
 4719   6007   
index 0000000..a41a2f8
 4720         -
-- /dev/null
        6008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4721   6009   
@@ -0,0 +1,7 @@
        6010  +
GET
        6011  +
/%E1%88%B4
        6012  +
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
        6013  +
host:example.amazonaws.com
        6014  +
        6015  +
host
        6016  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4722   6017   
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
 4723   6018   
new file mode 100644
 4724   6019   
index 0000000..a5c7f4f
 4725         -
-- /dev/null
        6020  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4726   6021   
@@ -0,0 +1 @@
        6022  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4727   6023   
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
 4728   6024   
new file mode 100644
 4729   6025   
index 0000000..492ed33
 4730         -
-- /dev/null
        6026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4731   6027   
@@ -0,0 +1,3 @@
        6028  +
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
        6029  +
Host:example.amazonaws.com
        6030  +
 4732   6031   
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
 4733   6032   
new file mode 100644
 4734   6033   
index 0000000..a93108f
 4735         -
-- /dev/null
        6034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4736   6035   
@@ -0,0 +1,4 @@
        6036  +
AWS4-ECDSA-P256-SHA256
        6037  +
20150830T123600Z
        6038  +
20150830/service/aws4_request
        6039  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4737   6040   
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
 4738   6041   
new file mode 100644
 4739   6042   
index 0000000..9e273f6
 4740         -
-- /dev/null
        6043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4741   6044   
@@ -0,0 +1,2 @@
        6045  +
GET /ሴ HTTP/1.1
        6046  +
Host:example.amazonaws.com
 4742   6047   
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
 4743   6048   
new file mode 100644
 4744   6049   
index 0000000..0468d80
 4745         -
-- /dev/null
        6050  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4746   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
 4747   6064   
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
 4748   6065   
similarity index 99%
 4749   6066   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4750   6067   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4751   6068   
index bb9d4bf..edc0bb4 100644
 4752         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
        6069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4753   6070   
@@ -1,9 +1,9 @@
 4754   6071   
GET
 4755   6072   
/
 4756   6073   
Param1=value1
 4757   6074   
host:example.amazonaws.com
 4758   6075   
x-amz-date:20150830T123600Z
 4759   6076   
x-amz-region-set:us-east-1
 4760   6077   
 4761   6078   
host;x-amz-date;x-amz-region-set
 4762         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6079  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4763   6080   
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
 4764   6081   
new file mode 100644
 4765   6082   
index 0000000..ee9a272
 4766         -
-- /dev/null
        6083  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4767   6084   
@@ -0,0 +1 @@
        6085  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4768   6086   
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
 4769   6087   
new file mode 100644
 4770   6088   
index 0000000..2090343
 4771         -
-- /dev/null
        6089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4772   6090   
@@ -0,0 +1,6 @@
        6091  +
GET /?Param1=value1 HTTP/1.1
        6092  +
Host:example.amazonaws.com
        6093  +
X-Amz-Date:20150830T123600Z
        6094  +
X-Amz-Region-Set:us-east-1
        6095  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        6096  +
 4773   6097   
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
 4774   6098   
similarity index 99%
 4775   6099   
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
 4776   6100   
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
 4777   6101   
index a176f1d..06ed74f 100644
 4778         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-string-to-sign.txt
        6102  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-string-to-sign.txt
 4779   6103   
@@ -1,4 +1,4 @@
 4780   6104   
AWS4-ECDSA-P256-SHA256
 4781   6105   
20150830T123600Z
 4782   6106   
20150830/service/aws4_request
 4783         -
894f4237e92aae973c992da1d1f39d7a5913a23e9f7cbcf085e9550685eb498a
        6107  +
894f4237e92aae973c992da1d1f39d7a5913a23e9f7cbcf085e9550685eb498a
              \
 No newline at end of file
 4784   6108   
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
 4785   6109   
new file mode 100644
 4786   6110   
index 0000000..379dcb2
 4787         -
-- /dev/null
        6111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4788   6112   
@@ -0,0 +1,4 @@
        6113  +
{
        6114  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6115  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6116  +
}
 4789   6117   
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
 4790   6118   
similarity index 99%
 4791   6119   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4792   6120   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4793   6121   
index 344384b..a875d70 100644
 4794         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
        6122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4795   6123   
@@ -1,7 +1,7 @@
 4796   6124   
GET
 4797   6125   
/
 4798   6126   
Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4799   6127   
host:example.amazonaws.com
 4800   6128   
 4801   6129   
host
 4802         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6130  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4803   6131   
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
 4804   6132   
new file mode 100644
 4805   6133   
index 0000000..ef93624
 4806         -
-- /dev/null
        6134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4807   6135   
@@ -0,0 +1 @@
        6136  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4808   6137   
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
 4809   6138   
new file mode 100644
 4810   6139   
index 0000000..92829f7
 4811         -
-- /dev/null
        6140  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4812   6141   
@@ -0,0 +1,3 @@
        6142  +
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
        6143  +
Host:example.amazonaws.com
        6144  +
 4813   6145   
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
 4814   6146   
similarity index 99%
 4815   6147   
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
 4816   6148   
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
 4817   6149   
index b625052..4ff9191 100644
 4818         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-string-to-sign.txt
        6150  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-string-to-sign.txt
 4819   6151   
@@ -1,4 +1,4 @@
 4820   6152   
AWS4-ECDSA-P256-SHA256
 4821   6153   
20150830T123600Z
 4822   6154   
20150830/service/aws4_request
 4823         -
07551f1d699afeb50d6811a527ab7b0270b60448ea27d8cbccb9750d68287b3f
        6155  +
07551f1d699afeb50d6811a527ab7b0270b60448ea27d8cbccb9750d68287b3f
              \
 No newline at end of file
 4824   6156   
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
 4825   6157   
similarity index 67%
 4826   6158   
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
 4827   6159   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4828   6160   
index 970d0a0..f4a03bb 100644
 4829         -
-- 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
        6161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4830   6162   
@@ -1,3 +1,2 @@
 4831   6163   
GET /?Param1=value1 HTTP/1.1
 4832   6164   
Host:example.amazonaws.com
 4833         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4834   6165   
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
 4835   6166   
new file mode 100644
 4836   6167   
index 0000000..0468d80
 4837         -
-- /dev/null
        6168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4838   6169   
@@ -0,0 +1,12 @@
        6170  +
{
        6171  +
    "credentials": {
        6172  +
        "access_key_id": "AKIDEXAMPLE",
        6173  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6174  +
    },
        6175  +
    "expiration_in_seconds": 3600,
        6176  +
    "normalize": true,
        6177  +
    "region": "us-east-1",
        6178  +
    "service": "service",
        6179  +
    "sign_body": false,
        6180  +
    "timestamp": "2015-08-30T12:36:00Z"
        6181  +
}
              \
 No newline at end of file
 4839   6182   
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
 4840   6183   
new file mode 100644
 4841   6184   
index 0000000..da07537
 4842         -
-- /dev/null
        6185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4843   6186   
@@ -0,0 +1,9 @@
        6187  +
GET
        6188  +
/
        6189  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        6190  +
host:example.amazonaws.com
        6191  +
x-amz-date:20150830T123600Z
        6192  +
x-amz-region-set:us-east-1
        6193  +
        6194  +
host;x-amz-date;x-amz-region-set
        6195  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4844   6196   
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
 4845   6197   
new file mode 100644
 4846   6198   
index 0000000..edb21e5
 4847         -
-- /dev/null
        6199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4848   6200   
@@ -0,0 +1 @@
        6201  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4849   6202   
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
 4850   6203   
new file mode 100644
 4851   6204   
index 0000000..e60394c
 4852         -
-- /dev/null
        6205  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4853   6206   
@@ -0,0 +1,6 @@
        6207  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        6208  +
Host:example.amazonaws.com
        6209  +
X-Amz-Date:20150830T123600Z
        6210  +
X-Amz-Region-Set:us-east-1
        6211  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        6212  +
 4854   6213   
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
 4855   6214   
new file mode 100644
 4856   6215   
index 0000000..1dfc886
 4857         -
-- /dev/null
        6216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4858   6217   
@@ -0,0 +1,4 @@
        6218  +
AWS4-ECDSA-P256-SHA256
        6219  +
20150830T123600Z
        6220  +
20150830/service/aws4_request
        6221  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4859   6222   
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
 4860   6223   
new file mode 100644
 4861   6224   
index 0000000..379dcb2
 4862         -
-- /dev/null
        6225  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4863   6226   
@@ -0,0 +1,4 @@
        6227  +
{
        6228  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6229  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6230  +
}
 4864   6231   
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
 4865   6232   
new file mode 100644
 4866   6233   
index 0000000..e94dc0c
 4867         -
-- /dev/null
        6234  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4868   6235   
@@ -0,0 +1,7 @@
        6236  +
GET
        6237  +
/
        6238  +
%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
        6239  +
host:example.amazonaws.com
        6240  +
        6241  +
host
        6242  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4869   6243   
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
 4870   6244   
new file mode 100644
 4871   6245   
index 0000000..7489437
 4872         -
-- /dev/null
        6246  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4873   6247   
@@ -0,0 +1 @@
        6248  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4874   6249   
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
 4875   6250   
new file mode 100644
 4876   6251   
index 0000000..90c0e73
 4877         -
-- /dev/null
        6252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4878   6253   
@@ -0,0 +1,3 @@
        6254  +
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
        6255  +
Host:example.amazonaws.com
        6256  +
 4879   6257   
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
 4880   6258   
new file mode 100644
 4881   6259   
index 0000000..ab8a711
 4882         -
-- /dev/null
        6260  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4883   6261   
@@ -0,0 +1,4 @@
        6262  +
AWS4-ECDSA-P256-SHA256
        6263  +
20150830T123600Z
        6264  +
20150830/service/aws4_request
        6265  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4884   6266   
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
 4885   6267   
new file mode 100644
 4886   6268   
index 0000000..368c6e3
 4887         -
-- /dev/null
        6269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4888   6270   
@@ -0,0 +1,2 @@
        6271  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        6272  +
Host:example.amazonaws.com
 4889   6273   
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
 4890   6274   
new file mode 100644
 4891   6275   
index 0000000..0468d80
 4892         -
-- /dev/null
        6276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4893   6277   
@@ -0,0 +1,12 @@
        6278  +
{
        6279  +
    "credentials": {
        6280  +
        "access_key_id": "AKIDEXAMPLE",
        6281  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6282  +
    },
        6283  +
    "expiration_in_seconds": 3600,
        6284  +
    "normalize": true,
        6285  +
    "region": "us-east-1",
        6286  +
    "service": "service",
        6287  +
    "sign_body": false,
        6288  +
    "timestamp": "2015-08-30T12:36:00Z"
        6289  +
}
              \
 No newline at end of file
 4894   6290   
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
 4895   6291   
similarity index 99%
 4896   6292   
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
 4897   6293   
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
 4898   6294   
index 74f625a..3db56f7 100644
 4899         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-canonical-request.txt
        6295  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-canonical-request.txt
 4900   6296   
@@ -1,9 +1,9 @@
 4901   6297   
GET
 4902   6298   
/
 4903   6299   
Param1=value1&Param2=value2
 4904   6300   
host:example.amazonaws.com
 4905   6301   
x-amz-date:20150830T123600Z
 4906   6302   
x-amz-region-set:us-east-1
 4907   6303   
 4908   6304   
host;x-amz-date;x-amz-region-set
 4909         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6305  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4910   6306   
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
 4911   6307   
new file mode 100644
 4912   6308   
index 0000000..e6042bc
 4913         -
-- /dev/null
        6309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4914   6310   
@@ -0,0 +1 @@
        6311  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4915   6312   
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
 4916   6313   
new file mode 100644
 4917   6314   
index 0000000..5505969
 4918         -
-- /dev/null
        6315  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4919   6316   
@@ -0,0 +1,6 @@
        6317  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        6318  +
Host:example.amazonaws.com
        6319  +
X-Amz-Date:20150830T123600Z
        6320  +
X-Amz-Region-Set:us-east-1
        6321  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        6322  +
 4920   6323   
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
 4921   6324   
similarity index 99%
 4922   6325   
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
 4923   6326   
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
 4924   6327   
index 44873b7..e8f5e31 100644
 4925         -
-- 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
        6328  +
++ 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
 4926   6329   
@@ -1,4 +1,4 @@
 4927   6330   
AWS4-ECDSA-P256-SHA256
 4928   6331   
20150830T123600Z
 4929   6332   
20150830/service/aws4_request
 4930         -
cc07b29e0d0f0b2d6aa296621a5608fd9c2271159b9b2f737f682704ebb96482
        6333  +
cc07b29e0d0f0b2d6aa296621a5608fd9c2271159b9b2f737f682704ebb96482
              \
 No newline at end of file
 4931   6334   
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
 4932   6335   
new file mode 100644
 4933   6336   
index 0000000..379dcb2
 4934         -
-- /dev/null
        6337  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4935   6338   
@@ -0,0 +1,4 @@
        6339  +
{
        6340  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6341  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6342  +
}
 4936   6343   
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
 4937   6344   
similarity index 99%
 4938   6345   
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
 4939   6346   
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
 4940   6347   
index 6d30727..3fe6a9f 100644
 4941         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-canonical-request.txt
        6348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-canonical-request.txt
 4942   6349   
@@ -1,7 +1,7 @@
 4943   6350   
GET
 4944   6351   
/
 4945   6352   
Param1=value1&Param2=value2&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4946   6353   
host:example.amazonaws.com
 4947   6354   
 4948   6355   
host
 4949         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6356  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4950   6357   
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
 4951   6358   
new file mode 100644
 4952   6359   
index 0000000..3f35de8
 4953         -
-- /dev/null
        6360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4954   6361   
@@ -0,0 +1 @@
        6362  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4955   6363   
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
 4956   6364   
new file mode 100644
 4957   6365   
index 0000000..30b336b
 4958         -
-- /dev/null
        6366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4959   6367   
@@ -0,0 +1,3 @@
        6368  +
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
        6369  +
Host:example.amazonaws.com
        6370  +
 4960   6371   
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
 4961   6372   
similarity index 99%
 4962   6373   
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
 4963   6374   
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
 4964   6375   
index 99d0510..7f0565f 100644
 4965         -
-- 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
        6376  +
++ 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
 4966   6377   
@@ -1,4 +1,4 @@
 4967   6378   
AWS4-ECDSA-P256-SHA256
 4968   6379   
20150830T123600Z
 4969   6380   
20150830/service/aws4_request
 4970         -
c688584c3dbae2868c4911c825239f2c9375e66b9962f21db60b9b2fcd75bf45
        6381  +
c688584c3dbae2868c4911c825239f2c9375e66b9962f21db60b9b2fcd75bf45
              \
 No newline at end of file
 4971   6382   
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
 4972   6383   
similarity index 100%
 4973   6384   
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
 4974   6385   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4975   6386   
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
 4976   6387   
new file mode 100644
 4977   6388   
index 0000000..0468d80
 4978         -
-- /dev/null
        6389  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4979   6390   
@@ -0,0 +1,12 @@
        6391  +
{
        6392  +
    "credentials": {
        6393  +
        "access_key_id": "AKIDEXAMPLE",
        6394  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6395  +
    },
        6396  +
    "expiration_in_seconds": 3600,
        6397  +
    "normalize": true,
        6398  +
    "region": "us-east-1",
        6399  +
    "service": "service",
        6400  +
    "sign_body": false,
        6401  +
    "timestamp": "2015-08-30T12:36:00Z"
        6402  +
}
              \
 No newline at end of file
 4980   6403   
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
 4981   6404   
similarity index 99%
 4982   6405   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4983   6406   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4984   6407   
index 816c862..cc4537a 100644
 4985         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
        6408  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4986   6409   
@@ -1,9 +1,9 @@
 4987   6410   
GET
 4988   6411   
/
 4989   6412   
-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4990   6413   
host:example.amazonaws.com
 4991   6414   
x-amz-date:20150830T123600Z
 4992   6415   
x-amz-region-set:us-east-1
 4993   6416   
 4994   6417   
host;x-amz-date;x-amz-region-set
 4995         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6418  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4996   6419   
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
 4997   6420   
new file mode 100644
 4998   6421   
index 0000000..70d38c1
 4999         -
-- /dev/null
        6422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 5000   6423   
@@ -0,0 +1 @@
        6424  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 5001   6425   
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
 5002   6426   
new file mode 100644
 5003   6427   
index 0000000..0647eea
 5004         -
-- /dev/null
        6428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 5005   6429   
@@ -0,0 +1,6 @@
        6430  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        6431  +
Host:example.amazonaws.com
        6432  +
X-Amz-Date:20150830T123600Z
        6433  +
X-Amz-Region-Set:us-east-1
        6434  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        6435  +
 5006   6436   
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
 5007   6437   
similarity index 99%
 5008   6438   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 5009   6439   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 5010   6440   
index 6129fc5..cc19d14 100644
 5011         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
        6441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 5012   6442   
@@ -1,4 +1,4 @@
 5013   6443   
AWS4-ECDSA-P256-SHA256
 5014   6444   
20150830T123600Z
 5015   6445   
20150830/service/aws4_request
 5016         -
377b8a3e195894659b84cd1c475dc8a3663a663360a349430c0c3b82bd82b77b
        6446  +
377b8a3e195894659b84cd1c475dc8a3663a663360a349430c0c3b82bd82b77b
              \
 No newline at end of file
 5017   6447   
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
 5018   6448   
new file mode 100644
 5019   6449   
index 0000000..379dcb2
 5020         -
-- /dev/null
        6450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 5021   6451   
@@ -0,0 +1,4 @@
        6452  +
{
        6453  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6454  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6455  +
}
 5022   6456   
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
 5023   6457   
similarity index 99%
 5024   6458   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 5025   6459   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 5026   6460   
index b77ee9f..ed6a10e 100644
 5027         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
        6461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 5028   6462   
@@ -1,7 +1,7 @@
 5029   6463   
GET
 5030   6464   
/
 5031   6465   
-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 5032   6466   
host:example.amazonaws.com
 5033   6467   
 5034   6468   
host
 5035         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6469  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5036   6470   
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
 5037   6471   
new file mode 100644
 5038   6472   
index 0000000..2ceba7b
 5039         -
-- /dev/null
        6473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 5040   6474   
@@ -0,0 +1 @@
        6475  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 5041   6476   
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
 5042   6477   
new file mode 100644
 5043   6478   
index 0000000..0cd6d0a
 5044         -
-- /dev/null
        6479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 5045   6480   
@@ -0,0 +1,3 @@
        6481  +
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
        6482  +
Host:example.amazonaws.com
        6483  +
 5046   6484   
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
 5047   6485   
similarity index 99%
 5048   6486   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 5049   6487   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 5050   6488   
index 1cfed7a..aad1421 100644
 5051         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
        6489  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 5052   6490   
@@ -1,4 +1,4 @@
 5053   6491   
AWS4-ECDSA-P256-SHA256
 5054   6492   
20150830T123600Z
 5055   6493   
20150830/service/aws4_request
 5056         -
5d8923c620c699f856a35a6eb8dd786fd4c8c6ab0a35c552caeb5b648989433f
        6494  +
5d8923c620c699f856a35a6eb8dd786fd4c8c6ab0a35c552caeb5b648989433f
              \
 No newline at end of file
 5057   6495   
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
 5058   6496   
similarity index 86%
 5059   6497   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 5060   6498   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 5061   6499   
index d2833b3..36b2fe3 100644
 5062         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        6500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 5063   6501   
@@ -1,3 +1,2 @@
 5064   6502   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 5065   6503   
Host:example.amazonaws.com
 5066         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5067   6504   
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
 5068   6505   
new file mode 100644
 5069   6506   
index 0000000..0468d80
 5070         -
-- /dev/null
        6507  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 5071   6508   
@@ -0,0 +1,12 @@
        6509  +
{
        6510  +
    "credentials": {
        6511  +
        "access_key_id": "AKIDEXAMPLE",
        6512  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6513  +
    },
        6514  +
    "expiration_in_seconds": 3600,
        6515  +
    "normalize": true,
        6516  +
    "region": "us-east-1",
        6517  +
    "service": "service",
        6518  +
    "sign_body": false,
        6519  +
    "timestamp": "2015-08-30T12:36:00Z"
        6520  +
}
              \
 No newline at end of file
 5072   6521   
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
 5073   6522   
new file mode 100644
 5074   6523   
index 0000000..76db73d
 5075         -
-- /dev/null
        6524  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 5076   6525   
@@ -0,0 +1,9 @@
        6526  +
GET
        6527  +
/
        6528  +
        6529  +
host:example.amazonaws.com
        6530  +
x-amz-date:20150830T123600Z
        6531  +
x-amz-region-set:us-east-1
        6532  +
        6533  +
host;x-amz-date;x-amz-region-set
        6534  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5077   6535   
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
 5078   6536   
new file mode 100644
 5079   6537   
index 0000000..281cc62
 5080         -
-- /dev/null
        6538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 5081   6539   
@@ -0,0 +1 @@
        6540  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 5082   6541   
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
 5083   6542   
new file mode 100644
 5084   6543   
index 0000000..cce9925
 5085         -
-- /dev/null
        6544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 5086   6545   
@@ -0,0 +1,6 @@
        6546  +
GET / HTTP/1.1
        6547  +
Host:example.amazonaws.com
        6548  +
X-Amz-Date:20150830T123600Z
        6549  +
X-Amz-Region-Set:us-east-1
        6550  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        6551  +
 5087   6552   
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
 5088   6553   
new file mode 100644
 5089   6554   
index 0000000..600f1d8
 5090         -
-- /dev/null
        6555  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 5091   6556   
@@ -0,0 +1,4 @@
        6557  +
AWS4-ECDSA-P256-SHA256
        6558  +
20150830T123600Z
        6559  +
20150830/service/aws4_request
        6560  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5092   6561   
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
 5093   6562   
new file mode 100644
 5094   6563   
index 0000000..379dcb2
 5095         -
-- /dev/null
        6564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 5096   6565   
@@ -0,0 +1,4 @@
        6566  +
{
        6567  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6568  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6569  +
}
 5097   6570   
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
 5098   6571   
new file mode 100644
 5099   6572   
index 0000000..779c51c
 5100         -
-- /dev/null
        6573  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 5101   6574   
@@ -0,0 +1,7 @@
        6575  +
GET
        6576  +
/
        6577  +
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
        6578  +
host:example.amazonaws.com
        6579  +
        6580  +
host
        6581  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5102   6582   
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
 5103   6583   
new file mode 100644
 5104   6584   
index 0000000..2979e5e
 5105         -
-- /dev/null
        6585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 5106   6586   
@@ -0,0 +1 @@
        6587  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 5107   6588   
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
 5108   6589   
new file mode 100644
 5109   6590   
index 0000000..1b3179c
 5110         -
-- /dev/null
        6591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 5111   6592   
@@ -0,0 +1,3 @@
        6593  +
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
        6594  +
Host:example.amazonaws.com
        6595  +
 5112   6596   
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
 5113   6597   
new file mode 100644
 5114   6598   
index 0000000..6e29a7e
 5115         -
-- /dev/null
        6599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 5116   6600   
@@ -0,0 +1,4 @@
        6601  +
AWS4-ECDSA-P256-SHA256
        6602  +
20150830T123600Z
        6603  +
20150830/service/aws4_request
        6604  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 5117   6605   
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
 5118   6606   
similarity index 60%
 5119   6607   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 5120   6608   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 5121   6609   
index 0f7a9bf..e659c3b 100644
 5122         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        6610  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 5123   6611   
@@ -1,3 +1,2 @@
 5124   6612   
GET / HTTP/1.1
 5125   6613   
Host:example.amazonaws.com
 5126         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5127   6614   
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
 5128   6615   
new file mode 100644
 5129   6616   
index 0000000..0468d80
 5130         -
-- /dev/null
        6617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 5131   6618   
@@ -0,0 +1,12 @@
        6619  +
{
        6620  +
    "credentials": {
        6621  +
        "access_key_id": "AKIDEXAMPLE",
        6622  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6623  +
    },
        6624  +
    "expiration_in_seconds": 3600,
        6625  +
    "normalize": true,
        6626  +
    "region": "us-east-1",
        6627  +
    "service": "service",
        6628  +
    "sign_body": false,
        6629  +
    "timestamp": "2015-08-30T12:36:00Z"
        6630  +
}
              \
 No newline at end of file
 5132   6631   
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
 5133   6632   
new file mode 100644
 5134   6633   
index 0000000..8841ddf
 5135         -
-- /dev/null
        6634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 5136   6635   
@@ -0,0 +1,9 @@
        6636  +
GET
        6637  +
/
        6638  +
%E1%88%B4=bar
        6639  +
host:example.amazonaws.com
        6640  +
x-amz-date:20150830T123600Z
        6641  +
x-amz-region-set:us-east-1
        6642  +
        6643  +
host;x-amz-date;x-amz-region-set
        6644  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5137   6645   
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
 5138   6646   
new file mode 100644
 5139   6647   
index 0000000..1497add
 5140         -
-- /dev/null
        6648  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 5141   6649   
@@ -0,0 +1 @@
        6650  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 5142   6651   
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
 5143   6652   
new file mode 100644
 5144   6653   
index 0000000..961bc10
 5145         -
-- /dev/null
        6654  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 5146   6655   
@@ -0,0 +1,6 @@
        6656  +
GET /?ሴ=bar HTTP/1.1
        6657  +
Host:example.amazonaws.com
        6658  +
X-Amz-Date:20150830T123600Z
        6659  +
X-Amz-Region-Set:us-east-1
        6660  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        6661  +
 5147   6662   
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
 5148   6663   
new file mode 100644
 5149   6664   
index 0000000..e78ed70
 5150         -
-- /dev/null
        6665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 5151   6666   
@@ -0,0 +1,4 @@
        6667  +
AWS4-ECDSA-P256-SHA256
        6668  +
20150830T123600Z
        6669  +
20150830/service/aws4_request
        6670  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 5152   6671   
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
 5153   6672   
new file mode 100644
 5154   6673   
index 0000000..379dcb2
 5155         -
-- /dev/null
        6674  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 5156   6675   
@@ -0,0 +1,4 @@
        6676  +
{
        6677  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6678  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6679  +
}
 5157   6680   
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
 5158   6681   
new file mode 100644
 5159   6682   
index 0000000..6d5ae93
 5160         -
-- /dev/null
        6683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 5161   6684   
@@ -0,0 +1,7 @@
        6685  +
GET
        6686  +
/
        6687  +
%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
        6688  +
host:example.amazonaws.com
        6689  +
        6690  +
host
        6691  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5162   6692   
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
 5163   6693   
new file mode 100644
 5164   6694   
index 0000000..92107f2
 5165         -
-- /dev/null
        6695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 5166   6696   
@@ -0,0 +1 @@
        6697  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 5167   6698   
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
 5168   6699   
new file mode 100644
 5169   6700   
index 0000000..bb8a75b
 5170         -
-- /dev/null
        6701  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 5171   6702   
@@ -0,0 +1,3 @@
        6703  +
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
        6704  +
Host:example.amazonaws.com
        6705  +
 5172   6706   
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
 5173   6707   
new file mode 100644
 5174   6708   
index 0000000..9fa94c7
 5175         -
-- /dev/null
        6709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 5176   6710   
@@ -0,0 +1,4 @@
        6711  +
AWS4-ECDSA-P256-SHA256
        6712  +
20150830T123600Z
        6713  +
20150830/service/aws4_request
        6714  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 5177   6715   
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
 5178   6716   
new file mode 100644
 5179   6717   
index 0000000..aff333a
 5180         -
-- /dev/null
        6718  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 5181   6719   
@@ -0,0 +1,2 @@
        6720  +
GET /?ሴ=bar HTTP/1.1
        6721  +
Host:example.amazonaws.com
 5182   6722   
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
 5183   6723   
new file mode 100644
 5184   6724   
index 0000000..a334e18
 5185         -
-- /dev/null
        6725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 5186   6726   
@@ -0,0 +1,13 @@
        6727  +
{
        6728  +
    "credentials": {
        6729  +
        "access_key_id": "AKIDEXAMPLE",
        6730  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6731  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        6732  +
    },
        6733  +
    "expiration_in_seconds": 3600,
        6734  +
    "normalize": true,
        6735  +
    "region": "us-east-1",
        6736  +
    "service": "service",
        6737  +
    "sign_body": false,
        6738  +
    "timestamp": "2015-08-30T12:36:00Z"
        6739  +
}
              \
 No newline at end of file
 5187   6740   
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
 5188   6741   
similarity index 99%
 5189   6742   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 5190   6743   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 5191   6744   
index f14defd..0e9ad42 100644
 5192         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
        6745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 5193   6746   
@@ -1,10 +1,10 @@
 5194   6747   
GET
 5195   6748   
/
 5196   6749   
 5197   6750   
host:example.amazonaws.com
 5198   6751   
x-amz-date:20150830T123600Z
 5199   6752   
x-amz-region-set:us-east-1
 5200   6753   
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
 5201   6754   
 5202   6755   
host;x-amz-date;x-amz-region-set;x-amz-security-token
 5203         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6756  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5204   6757   
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
 5205   6758   
new file mode 100644
 5206   6759   
index 0000000..a7673b5
 5207         -
-- /dev/null
        6760  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 5208   6761   
@@ -0,0 +1 @@
        6762  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 5209   6763   
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
 5210   6764   
new file mode 100644
 5211   6765   
index 0000000..ed16e76
 5212         -
-- /dev/null
        6766  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 5213   6767   
@@ -0,0 +1,7 @@
        6768  +
GET / HTTP/1.1
        6769  +
Host:example.amazonaws.com
        6770  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        6771  +
X-Amz-Date:20150830T123600Z
        6772  +
X-Amz-Region-Set:us-east-1
        6773  +
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
        6774  +
 5214   6775   
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
 5215   6776   
similarity index 99%
 5216   6777   
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
 5217   6778   
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
 5218   6779   
index 4edece5..6c1ec65 100644
 5219         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-string-to-sign.txt
        6780  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-string-to-sign.txt
 5220   6781   
@@ -1,4 +1,4 @@
 5221   6782   
AWS4-ECDSA-P256-SHA256
 5222   6783   
20150830T123600Z
 5223   6784   
20150830/service/aws4_request
 5224         -
79893373104239a0547df489af395ec3c1b8873a8601f07f11ffd3f1ac557e7d
        6785  +
79893373104239a0547df489af395ec3c1b8873a8601f07f11ffd3f1ac557e7d
              \
 No newline at end of file
 5225   6786   
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
 5226   6787   
new file mode 100644
 5227   6788   
index 0000000..379dcb2
 5228         -
-- /dev/null
        6789  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 5229   6790   
@@ -0,0 +1,4 @@
        6791  +
{
        6792  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6793  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6794  +
}
 5230   6795   
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
 5231   6796   
similarity index 99%
 5232   6797   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 5233   6798   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 5234   6799   
index 7c042af..1876b42 100644
 5235         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
        6800  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 5236   6801   
@@ -1,7 +1,7 @@
 5237   6802   
GET
 5238   6803   
/
 5239   6804   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Security-Token=6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267&X-Amz-SignedHeaders=host
 5240   6805   
host:example.amazonaws.com
 5241   6806   
 5242   6807   
host
 5243         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6808  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5244   6809   
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
 5245   6810   
new file mode 100644
 5246   6811   
index 0000000..903dfb4
 5247         -
-- /dev/null
        6812  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 5248   6813   
@@ -0,0 +1 @@
        6814  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 5249   6815   
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
 5250   6816   
new file mode 100644
 5251   6817   
index 0000000..bf1d246
 5252         -
-- /dev/null
        6818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 5253   6819   
@@ -0,0 +1,3 @@
        6820  +
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
        6821  +
Host:example.amazonaws.com
        6822  +
 5254   6823   
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
 5255   6824   
similarity index 99%
 5256   6825   
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
 5257   6826   
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
 5258   6827   
index 0fd066a..f1b1790 100644
 5259         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-string-to-sign.txt
        6828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-string-to-sign.txt
 5260   6829   
@@ -1,4 +1,4 @@
 5261   6830   
AWS4-ECDSA-P256-SHA256
 5262   6831   
20150830T123600Z
 5263   6832   
20150830/service/aws4_request
 5264         -
496062b4c2ed2175fe08ad084158783fa8d013c694542af721d49b25d1ebd390
        6833  +
496062b4c2ed2175fe08ad084158783fa8d013c694542af721d49b25d1ebd390
              \
 No newline at end of file
 5265   6834   
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
 5266   6835   
similarity index 60%
 5267   6836   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 5268   6837   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 5269   6838   
index 0f7a9bf..e659c3b 100644
 5270         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 5271   6840   
@@ -1,3 +1,2 @@
 5272   6841   
GET / HTTP/1.1
 5273   6842   
Host:example.amazonaws.com
 5274         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5275   6843   
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
 5276   6844   
new file mode 100644
 5277   6845   
index 0000000..76db73d
 5278         -
-- /dev/null
        6846  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 5279   6847   
@@ -0,0 +1,9 @@
        6848  +
GET
        6849  +
/
        6850  +
        6851  +
host:example.amazonaws.com
        6852  +
x-amz-date:20150830T123600Z
        6853  +
x-amz-region-set:us-east-1
        6854  +
        6855  +
host;x-amz-date;x-amz-region-set
        6856  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5280   6857   
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
 5281   6858   
new file mode 100644
 5282   6859   
index 0000000..0468d80
 5283         -
-- /dev/null
        6860  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 5284   6861   
@@ -0,0 +1,12 @@
        6862  +
{
        6863  +
    "credentials": {
        6864  +
        "access_key_id": "AKIDEXAMPLE",
        6865  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6866  +
    },
        6867  +
    "expiration_in_seconds": 3600,
        6868  +
    "normalize": true,
        6869  +
    "region": "us-east-1",
        6870  +
    "service": "service",
        6871  +
    "sign_body": false,
        6872  +
    "timestamp": "2015-08-30T12:36:00Z"
        6873  +
}
              \
 No newline at end of file
 5285   6874   
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
 5286   6875   
new file mode 100644
 5287   6876   
index 0000000..76db73d
 5288         -
-- /dev/null
        6877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 5289   6878   
@@ -0,0 +1,9 @@
        6879  +
GET
        6880  +
/
        6881  +
        6882  +
host:example.amazonaws.com
        6883  +
x-amz-date:20150830T123600Z
        6884  +
x-amz-region-set:us-east-1
        6885  +
        6886  +
host;x-amz-date;x-amz-region-set
        6887  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5290   6888   
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
 5291   6889   
new file mode 100644
 5292   6890   
index 0000000..a96ff24
 5293         -
-- /dev/null
        6891  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 5294   6892   
@@ -0,0 +1 @@
        6893  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 5295   6894   
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
 5296   6895   
new file mode 100644
 5297   6896   
index 0000000..689078b
 5298         -
-- /dev/null
        6897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 5299   6898   
@@ -0,0 +1,6 @@
        6899  +
GET / HTTP/1.1
        6900  +
Host:example.amazonaws.com
        6901  +
X-Amz-Date:20150830T123600Z
        6902  +
X-Amz-Region-Set:us-east-1
        6903  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6904  +
 5300   6905   
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
 5301   6906   
new file mode 100644
 5302   6907   
index 0000000..600f1d8
 5303         -
-- /dev/null
        6908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 5304   6909   
@@ -0,0 +1,4 @@
        6910  +
AWS4-ECDSA-P256-SHA256
        6911  +
20150830T123600Z
        6912  +
20150830/service/aws4_request
        6913  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5305   6914   
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
 5306   6915   
new file mode 100644
 5307   6916   
index 0000000..379dcb2
 5308         -
-- /dev/null
        6917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 5309   6918   
@@ -0,0 +1,4 @@
        6919  +
{
        6920  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6921  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6922  +
}
 5310   6923   
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
 5311   6924   
new file mode 100644
 5312   6925   
index 0000000..779c51c
 5313         -
-- /dev/null
        6926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 5314   6927   
@@ -0,0 +1,7 @@
        6928  +
GET
        6929  +
/
        6930  +
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
        6931  +
host:example.amazonaws.com
        6932  +
        6933  +
host
        6934  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5315   6935   
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
 5316   6936   
new file mode 100644
 5317   6937   
index 0000000..cc42158
 5318         -
-- /dev/null
        6938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 5319   6939   
@@ -0,0 +1 @@
        6940  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 5320   6941   
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
 5321   6942   
new file mode 100644
 5322   6943   
index 0000000..dc6d01d
 5323         -
-- /dev/null
        6944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 5324   6945   
@@ -0,0 +1,3 @@
        6946  +
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
        6947  +
Host:example.amazonaws.com
        6948  +
 5325   6949   
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
 5326   6950   
new file mode 100644
 5327   6951   
index 0000000..6e29a7e
 5328         -
-- /dev/null
        6952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 5329   6953   
@@ -0,0 +1,4 @@
        6954  +
AWS4-ECDSA-P256-SHA256
        6955  +
20150830T123600Z
        6956  +
20150830/service/aws4_request
        6957  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 5330   6958   
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
 5331   6959   
new file mode 100644
 5332   6960   
index 0000000..e659c3b
 5333         -
-- /dev/null
        6961  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 5334   6962   
@@ -0,0 +1,2 @@
        6963  +
GET / HTTP/1.1
        6964  +
Host:example.amazonaws.com
 5335   6965   
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
 5336   6966   
new file mode 100644
 5337   6967   
index 0000000..600f1d8
 5338         -
-- /dev/null
        6968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 5339   6969   
@@ -0,0 +1,4 @@
        6970  +
AWS4-ECDSA-P256-SHA256
        6971  +
20150830T123600Z
        6972  +
20150830/service/aws4_request
        6973  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5340   6974   
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
 5341   6975   
new file mode 100644
 5342   6976   
index 0000000..0468d80
 5343         -
-- /dev/null
        6977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 5344   6978   
@@ -0,0 +1,12 @@
        6979  +
{
        6980  +
    "credentials": {
        6981  +
        "access_key_id": "AKIDEXAMPLE",
        6982  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6983  +
    },
        6984  +
    "expiration_in_seconds": 3600,
        6985  +
    "normalize": true,
        6986  +
    "region": "us-east-1",
        6987  +
    "service": "service",
        6988  +
    "sign_body": false,
        6989  +
    "timestamp": "2015-08-30T12:36:00Z"
        6990  +
}
              \
 No newline at end of file
 5345   6991   
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
 5346   6992   
similarity index 99%
 5347   6993   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 5348   6994   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 5349   6995   
index a6942c1..e881ac7 100644
 5350         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
        6996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 5351   6997   
@@ -1,9 +1,9 @@
 5352   6998   
POST
 5353   6999   
/
 5354   7000   
 5355   7001   
host:example.amazonaws.com
 5356   7002   
x-amz-date:20150830T123600Z
 5357   7003   
x-amz-region-set:us-east-1
 5358   7004   
 5359   7005   
host;x-amz-date;x-amz-region-set
 5360         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7006  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5361   7007   
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
 5362   7008   
new file mode 100644
 5363   7009   
index 0000000..4210210
 5364         -
-- /dev/null
        7010  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 5365   7011   
@@ -0,0 +1 @@
        7012  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 5366   7013   
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
 5367   7014   
new file mode 100644
 5368   7015   
index 0000000..257b110
 5369         -
-- /dev/null
        7016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 5370   7017   
@@ -0,0 +1,6 @@
        7018  +
POST / HTTP/1.1
        7019  +
Host:example.amazonaws.com
        7020  +
X-Amz-Date:20150830T123600Z
        7021  +
X-Amz-Region-Set:us-east-1
        7022  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        7023  +
 5371   7024   
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
 5372   7025   
similarity index 99%
 5373   7026   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 5374   7027   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 5375   7028   
index d5650cb..f8adf13 100644
 5376         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
        7029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 5377   7030   
@@ -1,4 +1,4 @@
 5378   7031   
AWS4-ECDSA-P256-SHA256
 5379   7032   
20150830T123600Z
 5380   7033   
20150830/service/aws4_request
 5381         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7034  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 5382   7035   
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
 5383   7036   
new file mode 100644
 5384   7037   
index 0000000..379dcb2
 5385         -
-- /dev/null
        7038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 5386   7039   
@@ -0,0 +1,4 @@
        7040  +
{
        7041  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7042  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7043  +
}
 5387   7044   
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
 5388   7045   
similarity index 99%
 5389   7046   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 5390   7047   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 5391   7048   
index e48ce07..5ea8e3c 100644
 5392         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
        7049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 5393   7050   
@@ -1,7 +1,7 @@
 5394   7051   
POST
 5395   7052   
/
 5396   7053   
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
 5397   7054   
host:example.amazonaws.com
 5398   7055   
 5399   7056   
host
 5400         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7057  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5401   7058   
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
 5402   7059   
new file mode 100644
 5403   7060   
index 0000000..9e2069e
 5404         -
-- /dev/null
        7061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 5405   7062   
@@ -0,0 +1 @@
        7063  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 5406   7064   
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
 5407   7065   
new file mode 100644
 5408   7066   
index 0000000..67f5d29
 5409         -
-- /dev/null
        7067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 5410   7068   
@@ -0,0 +1,3 @@
        7069  +
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
        7070  +
Host:example.amazonaws.com
        7071  +
 5411   7072   
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
 5412   7073   
similarity index 99%
 5413   7074   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 5414   7075   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 5415   7076   
index 34e3382..711c162 100644
 5416         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
        7077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 5417   7078   
@@ -1,4 +1,4 @@
 5418   7079   
AWS4-ECDSA-P256-SHA256
 5419   7080   
20150830T123600Z
 5420   7081   
20150830/service/aws4_request
 5421         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7082  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 5422   7083   
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
 5423   7084   
similarity index 61%
 5424   7085   
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
 5425   7086   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 5426   7087   
index 3dc4179..3f0a82a 100644
 5427         -
-- 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
        7088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 5428   7089   
@@ -1,3 +1,2 @@
 5429   7090   
POST / HTTP/1.1
 5430   7091   
Host:example.amazonaws.com
 5431         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5432   7092   
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
 5433   7093   
new file mode 100644
 5434   7094   
index 0000000..0468d80
 5435         -
-- /dev/null
        7095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 5436   7096   
@@ -0,0 +1,12 @@
        7097  +
{
        7098  +
    "credentials": {
        7099  +
        "access_key_id": "AKIDEXAMPLE",
        7100  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7101  +
    },
        7102  +
    "expiration_in_seconds": 3600,
        7103  +
    "normalize": true,
        7104  +
    "region": "us-east-1",
        7105  +
    "service": "service",
        7106  +
    "sign_body": false,
        7107  +
    "timestamp": "2015-08-30T12:36:00Z"
        7108  +
}
              \
 No newline at end of file
 5437   7109   
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
 5438   7110   
similarity index 99%
 5439   7111   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 5440   7112   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 5441   7113   
index a8e1727..2883822 100644
 5442         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
        7114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 5443   7115   
@@ -1,10 +1,10 @@
 5444   7116   
POST
 5445   7117   
/
 5446   7118   
 5447   7119   
host:example.amazonaws.com
 5448   7120   
my-header1:value1
 5449   7121   
x-amz-date:20150830T123600Z
 5450   7122   
x-amz-region-set:us-east-1
 5451   7123   
 5452   7124   
host;my-header1;x-amz-date;x-amz-region-set
 5453         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7125  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5454   7126   
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
 5455   7127   
new file mode 100644
 5456   7128   
index 0000000..e3c2e6e
 5457         -
-- /dev/null
        7129  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 5458   7130   
@@ -0,0 +1 @@
        7131  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 5459   7132   
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
 5460   7133   
new file mode 100644
 5461   7134   
index 0000000..1d6e288
 5462         -
-- /dev/null
        7135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 5463   7136   
@@ -0,0 +1,7 @@
        7137  +
POST / HTTP/1.1
        7138  +
Host:example.amazonaws.com
        7139  +
My-Header1:value1
        7140  +
X-Amz-Date:20150830T123600Z
        7141  +
X-Amz-Region-Set:us-east-1
        7142  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        7143  +
 5464   7144   
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
 5465   7145   
similarity index 99%
 5466   7146   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 5467   7147   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 5468   7148   
index f6e3e9b..7c5236a 100644
 5469         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
        7149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 5470   7150   
@@ -1,4 +1,4 @@
 5471   7151   
AWS4-ECDSA-P256-SHA256
 5472   7152   
20150830T123600Z
 5473   7153   
20150830/service/aws4_request
 5474         -
b92b1e85236a12f9d118f85fb6686c83b0e83fb3428f8d4da3cc9acb2851fcfa
        7154  +
b92b1e85236a12f9d118f85fb6686c83b0e83fb3428f8d4da3cc9acb2851fcfa
              \
 No newline at end of file
 5475   7155   
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
 5476   7156   
new file mode 100644
 5477   7157   
index 0000000..379dcb2
 5478         -
-- /dev/null
        7158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 5479   7159   
@@ -0,0 +1,4 @@
        7160  +
{
        7161  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7162  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7163  +
}
 5480   7164   
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
 5481   7165   
similarity index 99%
 5482   7166   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 5483   7167   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 5484   7168   
index 0ae73e1..2cf3f29 100644
 5485         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
        7169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 5486   7170   
@@ -1,8 +1,8 @@
 5487   7171   
POST
 5488   7172   
/
 5489   7173   
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
 5490   7174   
host:example.amazonaws.com
 5491   7175   
my-header1:value1
 5492   7176   
 5493   7177   
host;my-header1
 5494         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7178  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5495   7179   
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
 5496   7180   
new file mode 100644
 5497   7181   
index 0000000..2a08401
 5498         -
-- /dev/null
        7182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 5499   7183   
@@ -0,0 +1 @@
        7184  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 5500   7185   
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
 5501   7186   
new file mode 100644
 5502   7187   
index 0000000..8d2343f
 5503         -
-- /dev/null
        7188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 5504   7189   
@@ -0,0 +1,4 @@
        7190  +
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
        7191  +
Host:example.amazonaws.com
        7192  +
My-Header1:value1
        7193  +
 5505   7194   
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
 5506   7195   
similarity index 99%
 5507   7196   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 5508   7197   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 5509   7198   
index 8cb96bf..2c4db7a 100644
 5510         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
        7199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 5511   7200   
@@ -1,4 +1,4 @@
 5512   7201   
AWS4-ECDSA-P256-SHA256
 5513   7202   
20150830T123600Z
 5514   7203   
20150830/service/aws4_request
 5515         -
336638ab840d4785edc7db35ab9c036bc15ffb2dc1a4e05b04f3a7cd7407593f
        7204  +
336638ab840d4785edc7db35ab9c036bc15ffb2dc1a4e05b04f3a7cd7407593f
              \
 No newline at end of file
 5516   7205   
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
 5517   7206   
similarity index 69%
 5518   7207   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 5519   7208   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 5520   7209   
index 0253f19..917720e 100644
 5521         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        7210  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 5522   7211   
@@ -1,4 +1,3 @@
 5523   7212   
POST / HTTP/1.1
 5524   7213   
Host:example.amazonaws.com
 5525   7214   
My-Header1:value1
 5526         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5527   7215   
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
 5528   7216   
new file mode 100644
 5529   7217   
index 0000000..0468d80
 5530         -
-- /dev/null
        7218  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 5531   7219   
@@ -0,0 +1,12 @@
        7220  +
{
        7221  +
    "credentials": {
        7222  +
        "access_key_id": "AKIDEXAMPLE",
        7223  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7224  +
    },
        7225  +
    "expiration_in_seconds": 3600,
        7226  +
    "normalize": true,
        7227  +
    "region": "us-east-1",
        7228  +
    "service": "service",
        7229  +
    "sign_body": false,
        7230  +
    "timestamp": "2015-08-30T12:36:00Z"
        7231  +
}
              \
 No newline at end of file
 5532   7232   
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
 5533   7233   
similarity index 99%
 5534   7234   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 5535   7235   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 5536   7236   
index 1dc3ef8..164e65c 100644
 5537         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
        7237  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 5538   7238   
@@ -1,10 +1,10 @@
 5539   7239   
POST
 5540   7240   
/
 5541   7241   
 5542   7242   
host:example.amazonaws.com
 5543   7243   
my-header1:VALUE1
 5544   7244   
x-amz-date:20150830T123600Z
 5545   7245   
x-amz-region-set:us-east-1
 5546   7246   
 5547   7247   
host;my-header1;x-amz-date;x-amz-region-set
 5548         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7248  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5549   7249   
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
 5550   7250   
new file mode 100644
 5551   7251   
index 0000000..7072b0e
 5552         -
-- /dev/null
        7252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 5553   7253   
@@ -0,0 +1 @@
        7254  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 5554   7255   
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
 5555   7256   
new file mode 100644
 5556   7257   
index 0000000..17f5e3e
 5557         -
-- /dev/null
        7258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 5558   7259   
@@ -0,0 +1,7 @@
        7260  +
POST / HTTP/1.1
        7261  +
Host:example.amazonaws.com
        7262  +
My-Header1:VALUE1
        7263  +
X-Amz-Date:20150830T123600Z
        7264  +
X-Amz-Region-Set:us-east-1
        7265  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        7266  +
 5559   7267   
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
 5560   7268   
similarity index 99%
 5561   7269   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 5562   7270   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 5563   7271   
index 59c7e45..620f54e 100644
 5564         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
        7272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 5565   7273   
@@ -1,4 +1,4 @@
 5566   7274   
AWS4-ECDSA-P256-SHA256
 5567   7275   
20150830T123600Z
 5568   7276   
20150830/service/aws4_request
 5569         -
7de5a74bc45fb5c8a90faada2ab9538e69e4a5eb7f330f62387715669cecd492
        7277  +
7de5a74bc45fb5c8a90faada2ab9538e69e4a5eb7f330f62387715669cecd492
              \
 No newline at end of file
 5570   7278   
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
 5571   7279   
new file mode 100644
 5572   7280   
index 0000000..379dcb2
 5573         -
-- /dev/null
        7281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 5574   7282   
@@ -0,0 +1,4 @@
        7283  +
{
        7284  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7285  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7286  +
}
 5575   7287   
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
 5576   7288   
similarity index 99%
 5577   7289   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 5578   7290   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 5579   7291   
index 377e6f3..23e0da3 100644
 5580         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
        7292  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 5581   7293   
@@ -1,8 +1,8 @@
 5582   7294   
POST
 5583   7295   
/
 5584   7296   
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
 5585   7297   
host:example.amazonaws.com
 5586   7298   
my-header1:VALUE1
 5587   7299   
 5588   7300   
host;my-header1
 5589         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7301  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5590   7302   
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
 5591   7303   
new file mode 100644
 5592   7304   
index 0000000..a18acb8
 5593         -
-- /dev/null
        7305  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 5594   7306   
@@ -0,0 +1 @@
        7307  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 5595   7308   
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
 5596   7309   
new file mode 100644
 5597   7310   
index 0000000..7cbdcfa
 5598         -
-- /dev/null
        7311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 5599   7312   
@@ -0,0 +1,4 @@
        7313  +
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
        7314  +
Host:example.amazonaws.com
        7315  +
My-Header1:VALUE1
        7316  +
 5600   7317   
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
 5601   7318   
similarity index 99%
 5602   7319   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 5603   7320   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 5604   7321   
index 84a7afd..0c90627 100644
 5605         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
        7322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 5606   7323   
@@ -1,4 +1,4 @@
 5607   7324   
AWS4-ECDSA-P256-SHA256
 5608   7325   
20150830T123600Z
 5609   7326   
20150830/service/aws4_request
 5610         -
949fb555e05d3289760ff0f0566ad73a69ed865000d9843b93a15b916dbc8b6f
        7327  +
949fb555e05d3289760ff0f0566ad73a69ed865000d9843b93a15b916dbc8b6f
              \
 No newline at end of file
 5611   7328   
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
 5612   7329   
similarity index 69%
 5613   7330   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 5614   7331   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 5615   7332   
index 3f9987a..5f14c91 100644
 5616         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        7333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 5617   7334   
@@ -1,4 +1,3 @@
 5618   7335   
POST / HTTP/1.1
 5619   7336   
Host:example.amazonaws.com
 5620   7337   
My-Header1:VALUE1
 5621         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5622   7338   
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
 5623   7339   
new file mode 100644
 5624   7340   
index 0000000..8f1d5ce
 5625         -
-- /dev/null
        7341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 5626   7342   
@@ -0,0 +1,14 @@
        7343  +
{
        7344  +
    "credentials": {
        7345  +
        "access_key_id": "AKIDEXAMPLE",
        7346  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        7347  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        7348  +
    },
        7349  +
    "expiration_in_seconds": 3600,
        7350  +
    "normalize": true,
        7351  +
    "region": "us-east-1",
        7352  +
    "service": "service",
        7353  +
    "sign_body": false,
        7354  +
    "timestamp": "2015-08-30T12:36:00Z",
        7355  +
    "omit_session_token": true
        7356  +
}
 5627   7357   
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
 5628   7358   
similarity index 99%
 5629   7359   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 5630   7360   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 5631   7361   
index a6942c1..e881ac7 100644
 5632         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
        7362  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 5633   7363   
@@ -1,9 +1,9 @@
 5634   7364   
POST
 5635   7365   
/
 5636   7366   
 5637   7367   
host:example.amazonaws.com
 5638   7368   
x-amz-date:20150830T123600Z
 5639   7369   
x-amz-region-set:us-east-1
 5640   7370   
 5641   7371   
host;x-amz-date;x-amz-region-set
 5642         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7372  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5643   7373   
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
 5644   7374   
new file mode 100644
 5645   7375   
index 0000000..9c5ecb9
 5646         -
-- /dev/null
        7376  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 5647   7377   
@@ -0,0 +1 @@
        7378  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 5648   7379   
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
 5649   7380   
similarity index 52%
 5650   7381   
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
 5651   7382   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 5652   7383   
index 9d91775..61b6527 100644
 5653         -
-- 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
        7384  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 5654   7385   
@@ -1,4 +1,7 @@
 5655   7386   
POST / HTTP/1.1
 5656   7387   
Host:example.amazonaws.com
        7388  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 5657   7389   
X-Amz-Date:20150830T123600Z
 5658         -
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 No newline at end of file
        7390  +
X-Amz-Region-Set:us-east-1
        7391  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        7392  +
 5659   7393   
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
 5660   7394   
similarity index 99%
 5661   7395   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 5662   7396   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 5663   7397   
index d5650cb..f8adf13 100644
 5664         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
        7398  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 5665   7399   
@@ -1,4 +1,4 @@
 5666   7400   
AWS4-ECDSA-P256-SHA256
 5667   7401   
20150830T123600Z
 5668   7402   
20150830/service/aws4_request
 5669         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7403  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 5670   7404   
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
 5671   7405   
new file mode 100644
 5672   7406   
index 0000000..379dcb2
 5673         -
-- /dev/null
        7407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 5674   7408   
@@ -0,0 +1,4 @@
        7409  +
{
        7410  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7411  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7412  +
}
 5675   7413   
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
 5676   7414   
similarity index 99%
 5677   7415   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 5678   7416   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 5679   7417   
index e48ce07..5ea8e3c 100644
 5680         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
        7418  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 5681   7419   
@@ -1,7 +1,7 @@
 5682   7420   
POST
 5683   7421   
/
 5684   7422   
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
 5685   7423   
host:example.amazonaws.com
 5686   7424   
 5687   7425   
host
 5688         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7426  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5689   7427   
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
 5690   7428   
new file mode 100644
 5691   7429   
index 0000000..ff8823a
 5692         -
-- /dev/null
        7430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 5693   7431   
@@ -0,0 +1 @@
        7432  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 5694   7433   
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
 5695   7434   
new file mode 100644
 5696   7435   
index 0000000..cfac41b
 5697         -
-- /dev/null
        7436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 5698   7437   
@@ -0,0 +1,3 @@
        7438  +
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
        7439  +
Host:example.amazonaws.com
        7440  +
 5699   7441   
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
 5700   7442   
similarity index 99%
 5701   7443   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 5702   7444   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 5703   7445   
index 34e3382..711c162 100644
 5704         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
        7446  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 5705   7447   
@@ -1,4 +1,4 @@
 5706   7448   
AWS4-ECDSA-P256-SHA256
 5707   7449   
20150830T123600Z
 5708   7450   
20150830/service/aws4_request
 5709         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7451  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 5710   7452   
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
 5711   7453   
similarity index 61%
 5712   7454   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 5713   7455   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5714   7456   
index 3dc4179..3f0a82a 100644
 5715         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        7457  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5716   7458   
@@ -1,3 +1,2 @@
 5717   7459   
POST / HTTP/1.1
 5718   7460   
Host:example.amazonaws.com
 5719         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5720   7461   
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
 5721   7462   
new file mode 100644
 5722   7463   
index 0000000..5187392
 5723         -
-- /dev/null
        7464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 5724   7465   
@@ -0,0 +1,14 @@
        7466  +
{
        7467  +
    "credentials": {
        7468  +
        "access_key_id": "AKIDEXAMPLE",
        7469  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        7470  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        7471  +
    },
        7472  +
    "expiration_in_seconds": 3600,
        7473  +
    "normalize": true,
        7474  +
    "region": "us-east-1",
        7475  +
    "service": "service",
        7476  +
    "sign_body": false,
        7477  +
    "timestamp": "2015-08-30T12:36:00Z",
        7478  +
    "omit_session_token": false
        7479  +
}
 5725   7480   
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
 5726   7481   
similarity index 99%
 5727   7482   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 5728   7483   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 5729   7484   
index dd408c8..e95924e 100644
 5730         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
        7485  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 5731   7486   
@@ -1,10 +1,10 @@
 5732   7487   
POST
 5733   7488   
/
 5734   7489   
 5735   7490   
host:example.amazonaws.com
 5736   7491   
x-amz-date:20150830T123600Z
 5737   7492   
x-amz-region-set:us-east-1
 5738   7493   
x-amz-security-token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 5739   7494   
 5740   7495   
host;x-amz-date;x-amz-region-set;x-amz-security-token
 5741         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7496  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5742   7497   
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
 5743   7498   
new file mode 100644
 5744   7499   
index 0000000..1573f07
 5745         -
-- /dev/null
        7500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 5746   7501   
@@ -0,0 +1 @@
        7502  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 5747   7503   
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
 5748   7504   
new file mode 100644
 5749   7505   
index 0000000..6ef9a08
 5750         -
-- /dev/null
        7506  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 5751   7507   
@@ -0,0 +1,7 @@
        7508  +
POST / HTTP/1.1
        7509  +
Host:example.amazonaws.com
        7510  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        7511  +
X-Amz-Date:20150830T123600Z
        7512  +
X-Amz-Region-Set:us-east-1
        7513  +
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
        7514  +
 5752   7515   
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
 5753   7516   
similarity index 99%
 5754   7517   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 5755   7518   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 5756   7519   
index f352b54..3c3235f 100644
 5757         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
        7520  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 5758   7521   
@@ -1,4 +1,4 @@
 5759   7522   
AWS4-ECDSA-P256-SHA256
 5760   7523   
20150830T123600Z
 5761   7524   
20150830/service/aws4_request
 5762         -
964c15d46a67b327b877c02d680c81cb75df04e85144142e190da565ff0d029f
        7525  +
964c15d46a67b327b877c02d680c81cb75df04e85144142e190da565ff0d029f
              \
 No newline at end of file
 5763   7526   
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
 5764   7527   
new file mode 100644
 5765   7528   
index 0000000..379dcb2
 5766         -
-- /dev/null
        7529  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 5767   7530   
@@ -0,0 +1,4 @@
        7531  +
{
        7532  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7533  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7534  +
}
 5768   7535   
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
 5769   7536   
similarity index 99%
 5770   7537   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 5771   7538   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 5772   7539   
index 832cdc0..63b7de5 100644
 5773         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
        7540  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 5774   7541   
@@ -1,7 +1,7 @@
 5775   7542   
POST
 5776   7543   
/
 5777   7544   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-SignedHeaders=host
 5778   7545   
host:example.amazonaws.com
 5779   7546   
 5780   7547   
host
 5781         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7548  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5782   7549   
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
 5783   7550   
new file mode 100644
 5784   7551   
index 0000000..713f57c
 5785         -
-- /dev/null
        7552  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 5786   7553   
@@ -0,0 +1 @@
        7554  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 5787   7555   
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
 5788   7556   
new file mode 100644
 5789   7557   
index 0000000..32c3bb3
 5790         -
-- /dev/null
        7558  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 5791   7559   
@@ -0,0 +1,3 @@
        7560  +
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
        7561  +
Host:example.amazonaws.com
        7562  +
 5792   7563   
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
 5793   7564   
similarity index 99%
 5794   7565   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 5795   7566   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5796   7567   
index d7f3668..b46cd8c 100644
 5797         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
        7568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5798   7569   
@@ -1,4 +1,4 @@
 5799   7570   
AWS4-ECDSA-P256-SHA256
 5800   7571   
20150830T123600Z
 5801   7572   
20150830/service/aws4_request
 5802         -
c3a8ba26c461df46b5010b756fb8644fd922a2aea95d77b56295e5e4d3bb155f
        7573  +
c3a8ba26c461df46b5010b756fb8644fd922a2aea95d77b56295e5e4d3bb155f
              \
 No newline at end of file
 5803   7574   
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
 5804   7575   
similarity index 60%
 5805   7576   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 5806   7577   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5807   7578   
index 8b5efc8..3f0a82a 100644
 5808         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        7579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5809   7580   
@@ -1,3 +1,2 @@
 5810   7581   
POST / HTTP/1.1
 5811   7582   
Host:example.amazonaws.com
 5812         -
X-Amz-Date:20150830T123600Z
 5813   7583   
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
 5814   7584   
new file mode 100644
 5815   7585   
index 0000000..0468d80
 5816         -
-- /dev/null
        7586  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 5817   7587   
@@ -0,0 +1,12 @@
        7588  +
{
        7589  +
    "credentials": {
        7590  +
        "access_key_id": "AKIDEXAMPLE",
        7591  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7592  +
    },
        7593  +
    "expiration_in_seconds": 3600,
        7594  +
    "normalize": true,
        7595  +
    "region": "us-east-1",
        7596  +
    "service": "service",
        7597  +
    "sign_body": false,
        7598  +
    "timestamp": "2015-08-30T12:36:00Z"
        7599  +
}
              \
 No newline at end of file
 5818   7600   
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
 5819   7601   
similarity index 99%
 5820   7602   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 5821   7603   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5822   7604   
index 02af60f..34b8c11 100644
 5823         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
        7605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5824   7606   
@@ -1,9 +1,9 @@
 5825   7607   
POST
 5826   7608   
/
 5827   7609   
Param1=value1
 5828   7610   
host:example.amazonaws.com
 5829   7611   
x-amz-date:20150830T123600Z
 5830   7612   
x-amz-region-set:us-east-1
 5831   7613   
 5832   7614   
host;x-amz-date;x-amz-region-set
 5833         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7615  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5834   7616   
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
 5835   7617   
new file mode 100644
 5836   7618   
index 0000000..aac6427
 5837         -
-- /dev/null
        7619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 5838   7620   
@@ -0,0 +1 @@
        7621  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 5839   7622   
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
 5840   7623   
new file mode 100644
 5841   7624   
index 0000000..a611436
 5842         -
-- /dev/null
        7625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 5843   7626   
@@ -0,0 +1,6 @@
        7627  +
POST /?Param1=value1 HTTP/1.1
        7628  +
Host:example.amazonaws.com
        7629  +
X-Amz-Date:20150830T123600Z
        7630  +
X-Amz-Region-Set:us-east-1
        7631  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        7632  +
 5844   7633   
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
 5845   7634   
similarity index 99%
 5846   7635   
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
 5847   7636   
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
 5848   7637   
index 4256b4f..ad88dff 100644
 5849         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-string-to-sign.txt
        7638  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-string-to-sign.txt
 5850   7639   
@@ -1,4 +1,4 @@
 5851   7640   
AWS4-ECDSA-P256-SHA256
 5852   7641   
20150830T123600Z
 5853   7642   
20150830/service/aws4_request
 5854         -
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
        7643  +
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
              \
 No newline at end of file
 5855   7644   
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
 5856   7645   
new file mode 100644
 5857   7646   
index 0000000..379dcb2
 5858         -
-- /dev/null
        7647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 5859   7648   
@@ -0,0 +1,4 @@
        7649  +
{
        7650  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7651  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7652  +
}
 5860   7653   
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
 5861   7654   
similarity index 99%
 5862   7655   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 5863   7656   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5864   7657   
index fa84bbd..76d5ad6 100644
 5865         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
        7658  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5866   7659   
@@ -1,7 +1,7 @@
 5867   7660   
POST
 5868   7661   
/
 5869   7662   
Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 5870   7663   
host:example.amazonaws.com
 5871   7664   
 5872   7665   
host
 5873         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7666  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5874   7667   
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
 5875   7668   
new file mode 100644
 5876   7669   
index 0000000..4cb1c94
 5877         -
-- /dev/null
        7670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 5878   7671   
@@ -0,0 +1 @@
        7672  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 5879   7673   
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
 5880   7674   
new file mode 100644
 5881   7675   
index 0000000..bd22b97
 5882         -
-- /dev/null
        7676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 5883   7677   
@@ -0,0 +1,3 @@
        7678  +
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
        7679  +
Host:example.amazonaws.com
        7680  +
 5884   7681   
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
 5885   7682   
similarity index 99%
 5886   7683   
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
 5887   7684   
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
 5888   7685   
index de270ef..8c9d319 100644
 5889         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-string-to-sign.txt
        7686  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-string-to-sign.txt
 5890   7687   
@@ -1,4 +1,4 @@
 5891   7688   
AWS4-ECDSA-P256-SHA256
 5892   7689   
20150830T123600Z
 5893   7690   
20150830/service/aws4_request
 5894         -
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
        7691  +
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
              \
 No newline at end of file
 5895   7692   
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
 5896   7693   
similarity index 67%
 5897   7694   
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
 5898   7695   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5899   7696   
index 9157bc7..c9d6e5d 100644
 5900         -
-- 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
        7697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5901   7698   
@@ -1,3 +1,2 @@
 5902   7699   
POST /?Param1=value1 HTTP/1.1
 5903   7700   
Host:example.amazonaws.com
 5904         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5905   7701   
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
 5906   7702   
new file mode 100644
 5907   7703   
index 0000000..0468d80
 5908         -
-- /dev/null
        7704  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 5909   7705   
@@ -0,0 +1,12 @@
        7706  +
{
        7707  +
    "credentials": {
        7708  +
        "access_key_id": "AKIDEXAMPLE",
        7709  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7710  +
    },
        7711  +
    "expiration_in_seconds": 3600,
        7712  +
    "normalize": true,
        7713  +
    "region": "us-east-1",
        7714  +
    "service": "service",
        7715  +
    "sign_body": false,
        7716  +
    "timestamp": "2015-08-30T12:36:00Z"
        7717  +
}
              \
 No newline at end of file
 5910   7718   
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
 5911   7719   
similarity index 99%
 5912   7720   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 5913   7721   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5914   7722   
index 02af60f..34b8c11 100644
 5915         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
        7723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5916   7724   
@@ -1,9 +1,9 @@
 5917   7725   
POST
 5918   7726   
/
 5919   7727   
Param1=value1
 5920   7728   
host:example.amazonaws.com
 5921   7729   
x-amz-date:20150830T123600Z
 5922   7730   
x-amz-region-set:us-east-1
 5923   7731   
 5924   7732   
host;x-amz-date;x-amz-region-set
 5925         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7733  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5926   7734   
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
 5927   7735   
new file mode 100644
 5928   7736   
index 0000000..34f75c8
 5929         -
-- /dev/null
        7737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 5930   7738   
@@ -0,0 +1 @@
        7739  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 5931   7740   
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
 5932   7741   
new file mode 100644
 5933   7742   
index 0000000..c731408
 5934         -
-- /dev/null
        7743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 5935   7744   
@@ -0,0 +1,6 @@
        7745  +
POST /?Param1=value1 HTTP/1.1
        7746  +
Host:example.amazonaws.com
        7747  +
X-Amz-Date:20150830T123600Z
        7748  +
X-Amz-Region-Set:us-east-1
        7749  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        7750  +
 5936   7751   
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
 5937   7752   
similarity index 99%
 5938   7753   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 5939   7754   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5940   7755   
index 4256b4f..ad88dff 100644
 5941         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
        7756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5942   7757   
@@ -1,4 +1,4 @@
 5943   7758   
AWS4-ECDSA-P256-SHA256
 5944   7759   
20150830T123600Z
 5945   7760   
20150830/service/aws4_request
 5946         -
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
        7761  +
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
              \
 No newline at end of file
 5947   7762   
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
 5948   7763   
new file mode 100644
 5949   7764   
index 0000000..379dcb2
 5950         -
-- /dev/null
        7765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 5951   7766   
@@ -0,0 +1,4 @@
        7767  +
{
        7768  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7769  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7770  +
}
 5952   7771   
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
 5953   7772   
similarity index 99%
 5954   7773   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 5955   7774   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 5956   7775   
index fa84bbd..76d5ad6 100644
 5957         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
        7776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 5958   7777   
@@ -1,7 +1,7 @@
 5959   7778   
POST
 5960   7779   
/
 5961   7780   
Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 5962   7781   
host:example.amazonaws.com
 5963   7782   
 5964   7783   
host
 5965         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7784  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5966   7785   
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
 5967   7786   
new file mode 100644
 5968   7787   
index 0000000..ae000d6
 5969         -
-- /dev/null
        7788  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 5970   7789   
@@ -0,0 +1 @@
        7790  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 5971   7791   
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
 5972   7792   
new file mode 100644
 5973   7793   
index 0000000..a868f7d
 5974         -
-- /dev/null
        7794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 5975   7795   
@@ -0,0 +1,3 @@
        7796  +
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
        7797  +
Host:example.amazonaws.com
        7798  +
 5976   7799   
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
 5977   7800   
similarity index 99%
 5978   7801   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 5979   7802   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 5980   7803   
index de270ef..8c9d319 100644
 5981         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
        7804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 5982   7805   
@@ -1,4 +1,4 @@
 5983   7806   
AWS4-ECDSA-P256-SHA256
 5984   7807   
20150830T123600Z
 5985   7808   
20150830/service/aws4_request
 5986         -
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
        7809  +
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
              \
 No newline at end of file
 5987   7810   
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
 5988   7811   
similarity index 67%
 5989   7812   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 5990   7813   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5991   7814   
index 9157bc7..c9d6e5d 100644
 5992         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        7815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5993   7816   
@@ -1,3 +1,2 @@
 5994   7817   
POST /?Param1=value1 HTTP/1.1
 5995   7818   
Host:example.amazonaws.com
 5996         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5997   7819   
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
 5998   7820   
new file mode 100644
 5999   7821   
index 0000000..0468d80
 6000         -
-- /dev/null
        7822  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 6001   7823   
@@ -0,0 +1,12 @@
        7824  +
{
        7825  +
    "credentials": {
        7826  +
        "access_key_id": "AKIDEXAMPLE",
        7827  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7828  +
    },
        7829  +
    "expiration_in_seconds": 3600,
        7830  +
    "normalize": true,
        7831  +
    "region": "us-east-1",
        7832  +
    "service": "service",
        7833  +
    "sign_body": false,
        7834  +
    "timestamp": "2015-08-30T12:36:00Z"
        7835  +
}
              \
 No newline at end of file
 6002   7836   
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
 6003   7837   
similarity index 99%
 6004   7838   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 6005   7839   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 6006   7840   
index a6942c1..e881ac7 100644
 6007         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
        7841  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 6008   7842   
@@ -1,9 +1,9 @@
 6009   7843   
POST
 6010   7844   
/
 6011   7845   
 6012   7846   
host:example.amazonaws.com
 6013   7847   
x-amz-date:20150830T123600Z
 6014   7848   
x-amz-region-set:us-east-1
 6015   7849   
 6016   7850   
host;x-amz-date;x-amz-region-set
 6017         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7851  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 6018   7852   
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
 6019   7853   
new file mode 100644
 6020   7854   
index 0000000..7c5e47b
 6021         -
-- /dev/null
        7855  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 6022   7856   
@@ -0,0 +1 @@
        7857  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 6023   7858   
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
 6024   7859   
new file mode 100644
 6025   7860   
index 0000000..c0e50a0
 6026         -
-- /dev/null
        7861  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 6027   7862   
@@ -0,0 +1,6 @@
        7863  +
POST / HTTP/1.1
        7864  +
Host:example.amazonaws.com
        7865  +
X-Amz-Date:20150830T123600Z
        7866  +
X-Amz-Region-Set:us-east-1
        7867  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        7868  +
 6028   7869   
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
 6029   7870   
similarity index 99%
 6030   7871   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 6031   7872   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 6032   7873   
index d5650cb..f8adf13 100644
 6033         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
        7874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 6034   7875   
@@ -1,4 +1,4 @@
 6035   7876   
AWS4-ECDSA-P256-SHA256
 6036   7877   
20150830T123600Z
 6037   7878   
20150830/service/aws4_request
 6038         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7879  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 6039   7880   
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
 6040   7881   
new file mode 100644
 6041   7882   
index 0000000..379dcb2
 6042         -
-- /dev/null
        7883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 6043   7884   
@@ -0,0 +1,4 @@
        7885  +
{
        7886  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7887  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7888  +
}
 6044   7889   
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
 6045   7890   
similarity index 99%
 6046   7891   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 6047   7892   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 6048   7893   
index e48ce07..5ea8e3c 100644
 6049         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
        7894  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 6050   7895   
@@ -1,7 +1,7 @@
 6051   7896   
POST
 6052   7897   
/
 6053   7898   
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
 6054   7899   
host:example.amazonaws.com
 6055   7900   
 6056   7901   
host
 6057         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7902  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 6058   7903   
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
 6059   7904   
new file mode 100644
 6060   7905   
index 0000000..ea8e3b4
 6061         -
-- /dev/null
        7906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 6062   7907   
@@ -0,0 +1 @@
        7908  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 6063   7909   
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
 6064   7910   
new file mode 100644
 6065   7911   
index 0000000..616973f
 6066         -
-- /dev/null
        7912  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 6067   7913   
@@ -0,0 +1,3 @@
        7914  +
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
        7915  +
Host:example.amazonaws.com
        7916  +
 6068   7917   
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
 6069   7918   
similarity index 99%
 6070   7919   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 6071   7920   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 6072   7921   
index 34e3382..711c162 100644
 6073         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
        7922  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 6074   7923   
@@ -1,4 +1,4 @@
 6075   7924   
AWS4-ECDSA-P256-SHA256
 6076   7925   
20150830T123600Z
 6077   7926   
20150830/service/aws4_request
 6078         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7927  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 6079   7928   
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
 6080   7929   
new file mode 100644
 6081   7930   
index 0000000..3f0a82a
 6082         -
-- /dev/null
        7931  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 6083   7932   
@@ -0,0 +1,2 @@
        7933  +
POST / HTTP/1.1
        7934  +
Host:example.amazonaws.com
 6084   7935   
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
 6085   7936   
new file mode 100644
 6086   7937   
index 0000000..0db1df1
 6087         -
-- /dev/null
        7938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 6088   7939   
@@ -0,0 +1,12 @@
        7940  +
{
        7941  +
    "credentials": {
        7942  +
        "access_key_id": "AKIDEXAMPLE",
        7943  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7944  +
    },
        7945  +
    "expiration_in_seconds": 3600,
        7946  +
    "normalize": true,
        7947  +
    "region": "us-east-1",
        7948  +
    "service": "service",
        7949  +
    "sign_body": true,
        7950  +
    "timestamp": "2015-08-30T12:36:00Z"
        7951  +
}
              \
 No newline at end of file
 6089   7952   
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
 6090   7953   
similarity index 62%
 6091   7954   
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
 6092   7955   
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
 6093   7956   
index 05ab787..62639b2 100644
 6094         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        7957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 6095   7958   
@@ -1,12 +1,12 @@
 6096   7959   
POST
 6097   7960   
/
 6098   7961   
 6099   7962   
content-length:13
 6100   7963   
content-type:application/x-www-form-urlencoded; charset=utf-8
 6101   7964   
host:example.amazonaws.com
 6102         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7965  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 6103   7966   
x-amz-date:20150830T123600Z
 6104   7967   
x-amz-region-set:us-east-1
 6105   7968   
 6106   7969   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 6107         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7970  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6108   7971   
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
 6109   7972   
new file mode 100644
 6110   7973   
index 0000000..006ec2e
 6111         -
-- /dev/null
        7974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 6112   7975   
@@ -0,0 +1 @@
        7976  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 6113   7977   
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
 6114   7978   
new file mode 100644
 6115   7979   
index 0000000..87a11f2
 6116         -
-- /dev/null
        7980  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 6117   7981   
@@ -0,0 +1,10 @@
        7982  +
POST / HTTP/1.1
        7983  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        7984  +
Host:example.amazonaws.com
        7985  +
Content-Length:13
        7986  +
X-Amz-Date:20150830T123600Z
        7987  +
X-Amz-Region-Set:us-east-1
        7988  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7989  +
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
        7990  +
        7991  +
Param1=value1
              \
 No newline at end of file
 6118   7992   
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
 6119   7993   
new file mode 100644
 6120   7994   
index 0000000..c047afb
 6121         -
-- /dev/null
        7995  +
++ 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
 6122   7996   
@@ -0,0 +1,4 @@
        7997  +
AWS4-ECDSA-P256-SHA256
        7998  +
20150830T123600Z
        7999  +
20150830/service/aws4_request
        8000  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 6123   8001   
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
 6124   8002   
new file mode 100644
 6125   8003   
index 0000000..379dcb2
 6126         -
-- /dev/null
        8004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 6127   8005   
@@ -0,0 +1,4 @@
        8006  +
{
        8007  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        8008  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        8009  +
}
 6128   8010   
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
 6129   8011   
similarity index 85%
 6130   8012   
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
 6131   8013   
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
 6132   8014   
index fcc454f..6933a8c 100644
 6133         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        8015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 6134   8016   
@@ -1,9 +1,9 @@
 6135   8017   
POST
 6136   8018   
/
 6137   8019   
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
 6138   8020   
content-length:13
 6139   8021   
content-type:application/x-www-form-urlencoded; charset=utf-8
 6140   8022   
host:example.amazonaws.com
 6141   8023   
 6142   8024   
content-length;content-type;host
 6143         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8025  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6144   8026   
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
 6145   8027   
new file mode 100644
 6146   8028   
index 0000000..34a2e12
 6147         -
-- /dev/null
        8029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 6148   8030   
@@ -0,0 +1 @@
        8031  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 6149   8032   
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
 6150   8033   
new file mode 100644
 6151   8034   
index 0000000..197b99e
 6152         -
-- /dev/null
        8035  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 6153   8036   
@@ -0,0 +1,6 @@
        8037  +
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
        8038  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        8039  +
Host:example.amazonaws.com
        8040  +
Content-Length:13
        8041  +
        8042  +
Param1=value1
              \
 No newline at end of file
 6154   8043   
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
 6155   8044   
new file mode 100644
 6156   8045   
index 0000000..9d2bc74
 6157         -
-- /dev/null
        8046  +
++ 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
 6158   8047   
@@ -0,0 +1,4 @@
        8048  +
AWS4-ECDSA-P256-SHA256
        8049  +
20150830T123600Z
        8050  +
20150830/service/aws4_request
        8051  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 6159   8052   
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
 6160   8053   
similarity index 80%
 6161   8054   
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
 6162   8055   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 6163   8056   
index 36015f1..8289eaa 100644
 6164         -
-- 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
        8057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 6165   8058   
@@ -1,6 +1,6 @@
 6166   8059   
POST / HTTP/1.1
 6167   8060   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 6168   8061   
Host:example.amazonaws.com
 6169         -
X-Amz-Date:20150830T123600Z
        8062  +
Content-Length:13
 6170   8063   
 6171   8064   
Param1=value1
              \
 No newline at end of file
 6172   8065   
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
 6173   8066   
new file mode 100644
 6174   8067   
index 0000000..0db1df1
 6175         -
-- /dev/null
        8068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 6176   8069   
@@ -0,0 +1,12 @@
        8070  +
{
        8071  +
    "credentials": {
        8072  +
        "access_key_id": "AKIDEXAMPLE",
        8073  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        8074  +
    },
        8075  +
    "expiration_in_seconds": 3600,
        8076  +
    "normalize": true,
        8077  +
    "region": "us-east-1",
        8078  +
    "service": "service",
        8079  +
    "sign_body": true,
        8080  +
    "timestamp": "2015-08-30T12:36:00Z"
        8081  +
}
              \
 No newline at end of file
 6177   8082   
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
 6178   8083   
similarity index 61%
 6179   8084   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 6180   8085   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 6181   8086   
index 69009dc..797632b 100644
 6182         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        8087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 6183   8088   
@@ -1,12 +1,12 @@
 6184   8089   
POST
 6185   8090   
/
 6186   8091   
 6187   8092   
content-length:13
 6188   8093   
content-type:application/x-www-form-urlencoded
 6189   8094   
host:example.amazonaws.com
 6190         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8095  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 6191   8096   
x-amz-date:20150830T123600Z
 6192   8097   
x-amz-region-set:us-east-1
 6193   8098   
 6194   8099   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 6195         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8100  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6196   8101   
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
 6197   8102   
new file mode 100644
 6198   8103   
index 0000000..f5a641c
 6199         -
-- /dev/null
        8104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 6200   8105   
@@ -0,0 +1 @@
        8106  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 6201   8107   
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
 6202   8108   
new file mode 100644
 6203   8109   
index 0000000..7bd94a7
 6204         -
-- /dev/null
        8110  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 6205   8111   
@@ -0,0 +1,10 @@
        8112  +
POST / HTTP/1.1
        8113  +
Content-Type:application/x-www-form-urlencoded
        8114  +
Host:example.amazonaws.com
        8115  +
Content-Length:13
        8116  +
X-Amz-Date:20150830T123600Z
        8117  +
X-Amz-Region-Set:us-east-1
        8118  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        8119  +
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
        8120  +
        8121  +
Param1=value1
              \
 No newline at end of file
 6206   8122   
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
 6207   8123   
new file mode 100644
 6208   8124   
index 0000000..8d25ba9
 6209         -
-- /dev/null
        8125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 6210   8126   
@@ -0,0 +1,4 @@
        8127  +
AWS4-ECDSA-P256-SHA256
        8128  +
20150830T123600Z
        8129  +
20150830/service/aws4_request
        8130  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 6211   8131   
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
 6212   8132   
new file mode 100644
 6213   8133   
index 0000000..379dcb2
 6214         -
-- /dev/null
        8134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 6215   8135   
@@ -0,0 +1,4 @@
        8136  +
{
        8137  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        8138  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        8139  +
}
 6216   8140   
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
 6217   8141   
similarity index 99%
 6218   8142   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 6219   8143   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 6220   8144   
index 9ed065b..563ff58 100644
 6221         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
        8145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 6222   8146   
@@ -1,9 +1,9 @@
 6223   8147   
POST
 6224   8148   
/
 6225   8149   
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
 6226   8150   
content-length:13
 6227   8151   
content-type:application/x-www-form-urlencoded
 6228   8152   
host:example.amazonaws.com
 6229   8153   
 6230   8154   
content-length;content-type;host
 6231         -
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        8155  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6232   8156   
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
 6233   8157   
new file mode 100644
 6234   8158   
index 0000000..0c77daf
 6235         -
-- /dev/null
        8159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 6236   8160   
@@ -0,0 +1 @@
        8161  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 6237   8162   
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
 6238   8163   
new file mode 100644
 6239   8164   
index 0000000..71d6de9
 6240         -
-- /dev/null
        8165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 6241   8166   
@@ -0,0 +1,6 @@
        8167  +
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
        8168  +
Content-Type:application/x-www-form-urlencoded
        8169  +
Host:example.amazonaws.com
        8170  +
Content-Length:13
        8171  +
        8172  +
Param1=value1
              \
 No newline at end of file
 6242   8173   
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
 6243   8174   
similarity index 99%
 6244   8175   
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
 6245   8176   
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
 6246   8177   
index bef3143..cc7a224 100644
 6247         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-string-to-sign.txt
        8178  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-string-to-sign.txt
 6248   8179   
@@ -1,4 +1,4 @@
 6249   8180   
AWS4-ECDSA-P256-SHA256
 6250   8181   
20150830T123600Z
 6251   8182   
20150830/service/aws4_request
 6252         -
4e4122984d30d13170a298ece62cc30f8da12578fb3b482616b1f11036b13934
        8183  +
4e4122984d30d13170a298ece62cc30f8da12578fb3b482616b1f11036b13934
              \
 No newline at end of file
 6253   8184   
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
 6254   8185   
new file mode 100644
 6255   8186   
index 0000000..760b2d3
 6256         -
-- /dev/null
        8187  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 6257   8188   
@@ -0,0 +1,6 @@
        8189  +
POST / HTTP/1.1
        8190  +
Content-Type:application/x-www-form-urlencoded
        8191  +
Host:example.amazonaws.com
        8192  +
Content-Length:13
        8193  +
        8194  +
Param1=value1
              \
 No newline at end of file
 6258   8195   
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
 6259   8196   
index 9bd636f..b53f33f 100644
 6260         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        8197  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 6261   8198   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 6262   8199   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 6263   8200   
        }
 6264   8201   
 6265   8202   
        if let SignatureValues::QueryParams(values) = values {
 6266   8203   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 6267   8204   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 6268   8205   
 6269   8206   
            #[cfg(feature = "sigv4a")]
 6270   8207   
            if let Some(regions) = values.region_set {
 6271   8208   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 6272   8209   
            }
 6273   8210   
 6274   8211   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 6275   8212   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 6276   8213   
            add_param(
 6277   8214   
                &mut params,
 6278   8215   
                param::X_AMZ_SIGNED_HEADERS,
 6279   8216   
                values.signed_headers.as_str(),
 6280   8217   
            );
 6281   8218   
 6282   8219   
            if let Some(security_token) = values.security_token {
 6283   8220   
                add_param(
 6284   8221   
                    &mut params,
 6285   8222   
                    settings
 6286   8223   
                        .session_token_name_override
 6287   8224   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 6288   8225   
                    security_token,
 6289   8226   
                );
 6290   8227   
            }
 6291   8228   
        }
 6292         -
        // Sort by param name, and then by param value
        8229  +
        8230  +
        // Sort on the _encoded_ key/value pairs
        8231  +
        let mut params: Vec<(String, String)> = params
        8232  +
            .into_iter()
        8233  +
            .map(|x| {
        8234  +
                use aws_smithy_http::query::fmt_string;
        8235  +
                let enc_k = fmt_string(&x.0);
        8236  +
                let enc_v = fmt_string(&x.1);
        8237  +
                (enc_k, enc_v)
        8238  +
            })
        8239  +
            .collect();
        8240  +
 6293   8241   
        params.sort();
 6294   8242   
 6295   8243   
        let mut query = QueryWriter::new(uri);
 6296   8244   
        query.clear_params();
 6297   8245   
        for (key, value) in params {
 6298         -
            query.insert(&key, &value);
        8246  +
            query.insert_encoded(&key, &value);
 6299   8247   
        }
 6300   8248   
 6301   8249   
        let query = query.build_query();
 6302   8250   
        if query.is_empty() {
 6303   8251   
            None
 6304   8252   
        } else {
 6305   8253   
            Some(query)
 6306   8254   
        }
 6307   8255   
    }
 6308   8256   
 6309   8257   
    fn insert_host_header(
 6310   8258   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 6311   8259   
        uri: &Uri,
 6312   8260   
    ) -> HeaderValue {
 6313   8261   
        match canonical_headers.get(&HOST) {
 6314   8262   
            Some(header) => header.clone(),
 6315   8263   
            None => {
 6316   8264   
                let port = uri.port();
 6317   8265   
                let scheme = uri.scheme();
 6318   8266   
                let authority = uri
 6319   8267   
                    .authority()
 6320   8268   
                    .expect("request uri authority must be set for signing")
 6321   8269   
                    .as_str();
 6322   8270   
                let host = uri
 6323   8271   
                    .host()
 6324   8272   
                    .expect("request uri host must be set for signing");
 6325   8273   
 6326   8274   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 6327   8275   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 6328   8276   
                // sent in the Host header (and Hyper strips default ports if they are present)
 6329   8277   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 6330   8278   
            service,
 6331   8279   
            hashed_creq,
 6332   8280   
            signature_version: SignatureVersion::V4a,
 6333   8281   
        }
 6334   8282   
    }
 6335   8283   
}
 6336   8284   
 6337   8285   
impl fmt::Display for StringToSign<'_> {
 6338   8286   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 6339   8287   
        write!(
 6340   8288   
            f,
 6341   8289   
            "{}\n{}\n{}\n{}",
 6342   8290   
            self.algorithm,
 6343   8291   
            format_date_time(self.time),
 6344   8292   
            match self.signature_version {
 6345   8293   
                SignatureVersion::V4 => self.scope.to_string(),
 6346   8294   
                SignatureVersion::V4a => self.scope.v4a_display(),
 6347   8295   
            },
 6348   8296   
            self.hashed_creq
 6349   8297   
        )
 6350   8298   
    }
 6351   8299   
}
 6352   8300   
 6353   8301   
#[cfg(test)]
 6354   8302   
mod tests {
 6355   8303   
    use crate::date_time::test_parsers::parse_date_time;
 6356   8304   
    use crate::http_request::canonical_request::{
 6357   8305   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 6358   8306   
    };
 6359   8307   
    use crate::http_request::test;
        8308  +
    use crate::http_request::test::SigningSuiteTest;
 6360   8309   
    use crate::http_request::{
 6361   8310   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 6362   8311   
        SigningParams, SigningSettings,
 6363   8312   
    };
 6364   8313   
    use crate::sign::v4;
 6365   8314   
    use crate::sign::v4::sha256_hex_string;
 6366   8315   
    use aws_credential_types::Credentials;
 6367   8316   
    use aws_smithy_http::query_writer::QueryWriter;
 6368   8317   
    use aws_smithy_runtime_api::client::identity::Identity;
 6369   8318   
    use http0::{HeaderValue, Uri};
 6370   8319   
    use pretty_assertions::assert_eq;
 6371   8320   
    use proptest::{prelude::*, proptest};
 6372   8321   
    use std::borrow::Cow;
 6373   8322   
    use std::time::Duration;
 6374   8323   
 6375   8324   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 6376   8325   
        v4::signing_params::Builder::default()
 6377   8326   
            .identity(identity)
 6378   8327   
            .region("test-region")
 6379   8328   
            .name("testservicename")
 6380   8329   
            .time(parse_date_time("20210511T154045Z").unwrap())
 6381   8330   
            .settings(settings)
 6382   8331   
            .build()
 6383   8332   
            .unwrap()
 6384   8333   
            .into()
 6385   8334   
    }
 6386   8335   
 6387   8336   
    #[test]
 6388   8337   
    fn test_repeated_header() {
 6389         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8338  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8339  +
        let mut req = test.request();
 6390   8340   
        req.headers.push((
 6391   8341   
            "x-amz-object-attributes".to_string(),
 6392   8342   
            "Checksum".to_string(),
 6393   8343   
        ));
 6394   8344   
        req.headers.push((
 6395   8345   
            "x-amz-object-attributes".to_string(),
 6396   8346   
            "ObjectSize".to_string(),
 6397   8347   
        ));
 6398   8348   
        let req = SignableRequest::from(&req);
 6399   8349   
        let settings = SigningSettings {
 6400   8350   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6401   8351   
            session_token_mode: SessionTokenMode::Exclude,
 6402   8352   
            ..Default::default()
 6403   8353   
        };
 6404   8354   
        let identity = Credentials::for_tests().into();
 6405   8355   
        let signing_params = signing_params(&identity, settings);
 6406   8356   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6407   8357   
 6408   8358   
        assert_eq!(
 6409   8359   
            creq.values.signed_headers().to_string(),
 6410   8360   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 6411   8361   
        );
 6412   8362   
        assert_eq!(
 6413   8363   
            creq.header_values_for("x-amz-object-attributes"),
 6414   8364   
            "Checksum,ObjectSize",
 6415   8365   
        );
 6416   8366   
    }
 6417   8367   
 6418   8368   
    #[test]
 6419   8369   
    fn test_host_header_properly_handles_ports() {
 6420   8370   
        fn host_header_test_setup(endpoint: String) -> String {
 6421         -
            let mut req = test::v4::test_request("get-vanilla");
        8371  +
            let test = SigningSuiteTest::v4("get-vanilla");
        8372  +
            let mut req = test.request();
 6422   8373   
            req.uri = endpoint;
 6423   8374   
            let req = SignableRequest::from(&req);
 6424   8375   
            let settings = SigningSettings {
 6425   8376   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6426   8377   
                session_token_mode: SessionTokenMode::Exclude,
 6427   8378   
                ..Default::default()
 6428   8379   
            };
 6429   8380   
            let identity = Credentials::for_tests().into();
 6430   8381   
            let signing_params = signing_params(&identity, settings);
 6431   8382   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6432   8383   
            creq.header_values_for("host")
 6433   8384   
        }
 6434   8385   
 6435   8386   
        // HTTP request with 80 port should not be signed with that port
 6436   8387   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 6437   8388   
        assert_eq!(http_80_host_header, "localhost",);
 6438   8389   
 6439   8390   
        // HTTP request with non-80 port should be signed with that port
 6440   8391   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 6441   8392   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 6442   8393   
 6443   8394   
        // HTTPS request with 443 port should not be signed with that port
 6444   8395   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 6445   8396   
        assert_eq!(https_443_host_header, "localhost",);
 6446   8397   
 6447   8398   
        // HTTPS request with non-443 port should be signed with that port
 6448   8399   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 6449   8400   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 6450   8401   
    }
 6451   8402   
 6452   8403   
    #[test]
 6453   8404   
    fn test_set_xamz_sha_256() {
 6454         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        8405  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8406  +
        let req = test.request();
 6455   8407   
        let req = SignableRequest::from(&req);
 6456   8408   
        let settings = SigningSettings {
 6457   8409   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6458   8410   
            session_token_mode: SessionTokenMode::Exclude,
 6459   8411   
            ..Default::default()
 6460   8412   
        };
 6461   8413   
        let identity = Credentials::for_tests().into();
 6462   8414   
        let mut signing_params = signing_params(&identity, settings);
 6463   8415   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6464   8416   
        assert_eq!(
 6465   8417   
            creq.values.content_sha256(),
 6466   8418   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 6467   8419   
        );
 6468   8420   
        // assert that the sha256 header was added
 6469   8421   
        assert_eq!(
 6470   8422   
            creq.values.signed_headers().as_str(),
 6471   8423   
            "host;x-amz-content-sha256;x-amz-date"
 6472   8424   
        );
 6473   8425   
 6474   8426   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 6475   8427   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6476   8428   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 6477   8429   
    }
 6478   8430   
 6479   8431   
    #[test]
 6480   8432   
    fn test_unsigned_payload() {
 6481         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8433  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8434  +
        let mut req = test.request();
 6482   8435   
        req.set_body(SignableBody::UnsignedPayload);
 6483   8436   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 6484   8437   
 6485   8438   
        let settings = SigningSettings {
 6486   8439   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6487   8440   
            ..Default::default()
 6488   8441   
        };
 6489   8442   
        let identity = Credentials::for_tests().into();
 6490   8443   
        let signing_params = signing_params(&identity, settings);
 6491   8444   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6492   8445   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 6493   8446   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 6494   8447   
    }
 6495   8448   
 6496   8449   
    #[test]
 6497   8450   
    fn test_precomputed_payload() {
 6498   8451   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 6499         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8452  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8453  +
        let mut req = test.request();
 6500   8454   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 6501   8455   
        let req = SignableRequest::from(&req);
 6502   8456   
        let settings = SigningSettings {
 6503   8457   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6504   8458   
            ..Default::default()
 6505   8459   
        };
 6506   8460   
        let identity = Credentials::for_tests().into();
 6507   8461   
        let signing_params = signing_params(&identity, settings);
 6508   8462   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6509   8463   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 6510   8464   
        assert!(creq.to_string().ends_with(payload_hash));
 6511   8465   
    }
 6512   8466   
 6513   8467   
    #[test]
 6514   8468   
    fn test_generate_scope() {
 6515   8469   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 6516   8470   
        let scope = SigningScope {
 6517   8471   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6518   8472   
            region: "us-east-1",
 6519   8473   
            service: "iam",
 6520   8474   
        };
 6521   8475   
        assert_eq!(format!("{}\n", scope), expected);
 6522   8476   
    }
 6523   8477   
 6524   8478   
    #[test]
 6525   8479   
    fn test_string_to_sign() {
 6526   8480   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6527         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 6528         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        8481  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8482  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        8483  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 6529   8484   
        let encoded = sha256_hex_string(creq.as_bytes());
 6530   8485   
 6531   8486   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 6532   8487   
        assert_eq!(expected_sts, actual.to_string());
 6533   8488   
    }
 6534   8489   
 6535   8490   
    #[test]
 6536   8491   
    fn test_digest_of_canonical_request() {
 6537         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        8492  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8493  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 6538   8494   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 6539   8495   
        let actual = sha256_hex_string(creq.as_bytes());
 6540   8496   
        assert_eq!(expected, actual);
 6541   8497   
    }
 6542   8498   
 6543   8499   
    #[test]
 6544   8500   
    fn test_double_url_encode_path() {
 6545         -
        let req = test::v4::test_request("double-encode-path");
        8501  +
        let test = SigningSuiteTest::v4("double-encode-path");
        8502  +
        let req = test.request();
 6546   8503   
        let req = SignableRequest::from(&req);
 6547   8504   
        let identity = Credentials::for_tests().into();
 6548   8505   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6549   8506   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6550   8507   
 6551         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        8508  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 6552   8509   
        let actual = format!("{}", creq);
 6553   8510   
        assert_eq!(actual, expected);
 6554   8511   
    }
 6555   8512   
 6556   8513   
    #[test]
 6557   8514   
    fn test_double_url_encode() {
 6558         -
        let req = test::v4::test_request("double-url-encode");
        8515  +
        let test = SigningSuiteTest::v4("double-url-encode");
        8516  +
        let req = test.request();
 6559   8517   
        let req = SignableRequest::from(&req);
 6560   8518   
        let identity = Credentials::for_tests().into();
 6561   8519   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6562   8520   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6563         -
 6564         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        8521  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 6565   8522   
        let actual = format!("{}", creq);
 6566   8523   
        assert_eq!(actual, expected);
 6567   8524   
    }
 6568   8525   
 6569   8526   
    #[test]
 6570   8527   
    fn test_tilde_in_uri() {
 6571   8528   
        let req = http0::Request::builder()
 6572   8529   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 6573   8530   
        let req = SignableRequest::from(&req);
 6574   8531   
        let identity = Credentials::for_tests().into();
 6575   8532   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6576   8533   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6577   8534   
        assert_eq!(
 6578   8535   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 6579   8536   
            creq.params.as_deref(),
 6580   8537   
        );
 6581   8538   
    }
 6582   8539   
 6583   8540   
    #[test]
 6584   8541   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 6585   8542   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 6586   8543   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 6587   8544   
 6588   8545   
        let mut query_writer = QueryWriter::new(&uri);
 6589   8546   
        query_writer.insert("list-type", "2");
 6590   8547   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 6591   8548   
 6592   8549   
        let req = http0::Request::builder()
 6593   8550   
            .uri(query_writer.build_uri())
 6594   8551   
            .body("")
 6595   8552   
            .unwrap()
 6596   8553   
            .into();
 6597   8554   
        let req = SignableRequest::from(&req);
 6598   8555   
        let identity = Credentials::for_tests().into();
 6599   8556   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6600   8557   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6601   8558   
 6602   8559   
        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~";
 6603   8560   
        let actual = creq.params.unwrap();
 6604   8561   
        assert_eq!(expected, actual);
 6605   8562   
    }
 6606   8563   
 6607   8564   
    #[test]
 6608   8565   
    fn test_omit_session_token() {
 6609         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        8566  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8567  +
        let req = test.request();
 6610   8568   
        let req = SignableRequest::from(&req);
 6611   8569   
        let settings = SigningSettings {
 6612   8570   
            session_token_mode: SessionTokenMode::Include,
 6613   8571   
            ..Default::default()
 6614   8572   
        };
 6615   8573   
        let identity = Credentials::for_tests_with_session_token().into();
 6616   8574   
        let mut signing_params = signing_params(&identity, settings);
 6617   8575   
 6618   8576   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6619   8577   
        assert_eq!(
 6620   8578   
            creq.values.signed_headers().as_str(),
 6621   8579   
            "host;x-amz-date;x-amz-security-token"
 6622   8580   
        );
 6623   8581   
        assert_eq!(
 6624   8582   
            creq.headers.get("x-amz-security-token").unwrap(),
 6625   8583   
            "notarealsessiontoken"
 6626   8584   
        );
 6627   8585   
 6628   8586   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 6629   8587   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6630   8588   
        assert_eq!(
 6631   8589   
            creq.headers.get("x-amz-security-token").unwrap(),
 6632   8590   
            "notarealsessiontoken"
 6633   8591   
        );
 6634   8592   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 6635   8593   
    }
 6636   8594   
 6637   8595   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 6638   8596   
    #[test]
 6639   8597   
    fn non_presigning_header_exclusion() {
 6640   8598   
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
 6641   8599   
index c4bbbee..363fc2c 100644
 6642         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        8600  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 6643   8601   
@@ -6,60 +6,62 @@
 6644   8602   
use super::error::SigningError;
 6645   8603   
use super::{PayloadChecksumKind, SignatureLocation};
 6646   8604   
use crate::http_request::canonical_request::header;
 6647   8605   
use crate::http_request::canonical_request::param;
 6648   8606   
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 6649   8607   
use crate::http_request::error::CanonicalRequestError;
 6650   8608   
use crate::http_request::SigningParams;
 6651   8609   
use crate::sign::v4;
 6652   8610   
#[cfg(feature = "sigv4a")]
 6653   8611   
use crate::sign::v4a;
 6654   8612   
use crate::{SignatureVersion, SigningOutput};
 6655   8613   
use http0::Uri;
 6656   8614   
use std::borrow::Cow;
 6657   8615   
use std::fmt::{Debug, Formatter};
 6658   8616   
use std::str;
 6659   8617   
 6660   8618   
const LOG_SIGNABLE_BODY: &str = "LOG_SIGNABLE_BODY";
 6661   8619   
 6662   8620   
/// Represents all of the information necessary to sign an HTTP request.
 6663   8621   
#[derive(Debug)]
 6664   8622   
#[non_exhaustive]
 6665   8623   
pub struct SignableRequest<'a> {
 6666   8624   
    method: &'a str,
 6667   8625   
    uri: Uri,
 6668   8626   
    headers: Vec<(&'a str, &'a str)>,
 6669   8627   
    body: SignableBody<'a>,
 6670   8628   
}
 6671   8629   
 6672   8630   
impl<'a> SignableRequest<'a> {
 6673   8631   
    /// Creates a new `SignableRequest`.
        8632  +
    ///
        8633  +
    /// NOTE: The `uri` is expected to already in encoded form.
 6674   8634   
    pub fn new(
 6675   8635   
        method: &'a str,
 6676   8636   
        uri: impl Into<Cow<'a, str>>,
 6677   8637   
        headers: impl Iterator<Item = (&'a str, &'a str)>,
 6678   8638   
        body: SignableBody<'a>,
 6679   8639   
    ) -> Result<Self, SigningError> {
 6680   8640   
        let uri = uri
 6681   8641   
            .into()
 6682   8642   
            .parse()
 6683   8643   
            .map_err(|e| SigningError::from(CanonicalRequestError::from(e)))?;
 6684   8644   
        let headers = headers.collect();
 6685   8645   
        Ok(Self {
 6686   8646   
            method,
 6687   8647   
            uri,
 6688   8648   
            headers,
 6689   8649   
            body,
 6690   8650   
        })
 6691   8651   
    }
 6692   8652   
 6693   8653   
    /// Returns the signable URI
 6694   8654   
    pub(crate) fn uri(&self) -> &Uri {
 6695   8655   
        &self.uri
 6696   8656   
    }
 6697   8657   
 6698   8658   
    /// Returns the signable HTTP method
 6699   8659   
    pub(crate) fn method(&self) -> &str {
 6700   8660   
        self.method
 6701   8661   
    }
 6702   8662   
 6703   8663   
    /// Returns the request headers
 6704   8664   
@@ -478,436 +480,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 6705   8665   
        sensitive,
 6706   8666   
    });
 6707   8667   
}
 6708   8668   
 6709   8669   
// add signature to authorization header
 6710   8670   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 6711   8671   
fn build_authorization_header(
 6712   8672   
    access_key: &str,
 6713   8673   
    creq: &CanonicalRequest<'_>,
 6714   8674   
    sts: StringToSign<'_>,
 6715   8675   
    signature: &str,
 6716   8676   
    signature_version: SignatureVersion,
 6717   8677   
) -> String {
 6718   8678   
    let scope = match signature_version {
 6719   8679   
        SignatureVersion::V4 => sts.scope.to_string(),
 6720   8680   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 6721   8681   
    };
 6722   8682   
    format!(
 6723   8683   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 6724   8684   
        sts.algorithm,
 6725   8685   
        access_key,
 6726   8686   
        scope,
 6727   8687   
        creq.values.signed_headers().as_str(),
 6728   8688   
        signature
 6729   8689   
    )
 6730   8690   
}
 6731   8691   
#[cfg(test)]
 6732   8692   
mod tests {
 6733   8693   
    use crate::date_time::test_parsers::parse_date_time;
 6734   8694   
    use crate::http_request::sign::{add_header, SignableRequest};
        8695  +
    use crate::http_request::test::SigningSuiteTest;
 6735   8696   
    use crate::http_request::{
 6736         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        8697  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 6737   8698   
        SigningSettings,
 6738   8699   
    };
 6739   8700   
    use crate::sign::v4;
 6740   8701   
    use aws_credential_types::Credentials;
 6741   8702   
    use http0::{HeaderValue, Request};
 6742   8703   
    use pretty_assertions::assert_eq;
 6743   8704   
    use proptest::proptest;
 6744   8705   
    use std::borrow::Cow;
 6745   8706   
    use std::iter;
 6746         -
    use std::time::Duration;
 6747   8707   
 6748   8708   
    macro_rules! assert_req_eq {
 6749   8709   
        (http: $expected:expr, $actual:expr) => {
 6750   8710   
            let mut expected = ($expected).map(|_b|"body");
 6751   8711   
            let mut actual = ($actual).map(|_b|"body");
 6752   8712   
            make_headers_comparable(&mut expected);
 6753   8713   
            make_headers_comparable(&mut actual);
 6754   8714   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 6755   8715   
        };
 6756   8716   
        ($expected:tt, $actual:tt) => {
 6757   8717   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 6758   8718   
        };
 6759   8719   
    }
 6760   8720   
 6761   8721   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 6762   8722   
        for (_name, value) in request.headers_mut() {
 6763   8723   
            value.set_sensitive(false);
 6764   8724   
        }
 6765   8725   
    }
 6766   8726   
 6767         -
    #[test]
 6768         -
    fn test_sign_vanilla_with_headers() {
 6769         -
        let settings = SigningSettings::default();
 6770         -
        let identity = &Credentials::for_tests().into();
 6771         -
        let params = v4::SigningParams {
 6772         -
            identity,
 6773         -
            region: "us-east-1",
 6774         -
            name: "service",
 6775         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 6776         -
            settings,
 6777         -
        }
 6778         -
        .into();
 6779         -
 6780         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 6781         -
        let signable = SignableRequest::from(&original);
 6782         -
        let out = sign(signable, &params).unwrap();
 6783         -
        assert_eq!(
 6784         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 6785         -
            out.signature
 6786         -
        );
 6787         -
 6788         -
        let mut signed = original.as_http_request();
 6789         -
        out.output.apply_to_request_http0x(&mut signed);
 6790         -
 6791         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 6792         -
        assert_req_eq!(expected, signed);
 6793         -
    }
 6794         -
        8727  +
    // Sigv4A suite tests
 6795   8728   
    #[cfg(feature = "sigv4a")]
 6796         -
    mod sigv4a_tests {
 6797         -
        use super::*;
 6798         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 6799         -
        use crate::http_request::{sign, test, SigningParams};
 6800         -
        use crate::sign::v4a;
 6801         -
        use p256::ecdsa::signature::{Signature, Verifier};
 6802         -
        use p256::ecdsa::{DerSignature, SigningKey};
 6803         -
        use pretty_assertions::assert_eq;
 6804         -
 6805         -
        fn new_v4a_signing_params_from_context(
 6806         -
            test_context: &'_ test::v4a::TestContext,
 6807         -
            signature_location: SignatureLocation,
 6808         -
        ) -> SigningParams<'_> {
 6809         -
            let mut params = v4a::SigningParams::from(test_context);
 6810         -
            params.settings.signature_location = signature_location;
 6811         -
 6812         -
            params.into()
 6813         -
        }
 6814         -
 6815         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 6816         -
            let tc = test::v4a::test_context(test_name);
 6817         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 6818         -
 6819         -
            let req = test::v4a::test_request(test_name);
 6820         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 6821         -
            let signable_req = SignableRequest::from(&req);
 6822         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
 6823         -
 6824         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 6825         -
 6826         -
            let expected_string_to_sign =
 6827         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 6828         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 6829         -
            let actual_string_to_sign = StringToSign::new_v4a(
 6830         -
                *params.time(),
 6831         -
                params.region_set().unwrap(),
 6832         -
                params.name(),
 6833         -
                hashed_creq,
 6834         -
            )
 6835         -
            .to_string();
        8729  +
    mod v4a_suite {
        8730  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 6836   8731   
 6837         -
            assert_eq!(
 6838         -
                expected_string_to_sign, actual_string_to_sign,
 6839         -
                "'string to sign' didn't match"
 6840         -
            );
 6841         -
 6842         -
            let out = sign(signable_req, &params).unwrap();
 6843         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 6844         -
            out.output
 6845         -
                .apply_to_request_http0x(&mut req.as_http_request());
 6846         -
 6847         -
            let creds = params.credentials().unwrap();
 6848         -
            let signing_key =
 6849         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 6850         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 6851         -
            let sig = sig
 6852         -
                .try_into()
 6853         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 6854         -
 6855         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 6856         -
            let peer_public_key = signing_key.verifying_key();
 6857         -
            let sts = actual_string_to_sign.as_bytes();
 6858         -
            peer_public_key.verify(sts, &sig).unwrap();
        8732  +
        #[test]
        8733  +
        fn test_get_header_key_duplicate() {
        8734  +
            run_test_suite_v4a("get-header-key-duplicate")
 6859   8735   
        }
 6860   8736   
 6861   8737   
        #[test]
 6862         -
        fn test_get_header_key_duplicate() {
 6863         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        8738  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        8739  +
        fn test_get_header_value_multiline() {
        8740  +
            run_test_suite_v4a("get-header-value-multiline")
 6864   8741   
        }
 6865   8742   
 6866   8743   
        #[test]
 6867   8744   
        fn test_get_header_value_order() {
 6868         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        8745  +
            run_test_suite_v4a("get-header-value-order")
 6869   8746   
        }
 6870   8747   
 6871   8748   
        #[test]
 6872   8749   
        fn test_get_header_value_trim() {
 6873         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        8750  +
            run_test_suite_v4a("get-header-value-trim");
 6874   8751   
        }
 6875   8752   
 6876   8753   
        #[test]
 6877   8754   
        fn test_get_relative_normalized() {
 6878         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        8755  +
            run_test_suite_v4a("get-relative-normalized");
 6879   8756   
        }
 6880   8757   
 6881   8758   
        #[test]
 6882   8759   
        fn test_get_relative_relative_normalized() {
 6883         -
            run_v4a_test_suite(
 6884         -
                "get-relative-relative-normalized",
 6885         -
                SignatureLocation::Headers,
 6886         -
            );
        8760  +
            run_test_suite_v4a("get-relative-relative-normalized");
 6887   8761   
        }
 6888   8762   
 6889   8763   
        #[test]
 6890   8764   
        fn test_get_relative_relative_unnormalized() {
 6891         -
            run_v4a_test_suite(
 6892         -
                "get-relative-relative-unnormalized",
 6893         -
                SignatureLocation::Headers,
 6894         -
            );
        8765  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 6895   8766   
        }
 6896   8767   
 6897   8768   
        #[test]
 6898   8769   
        fn test_get_relative_unnormalized() {
 6899         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        8770  +
            run_test_suite_v4a("get-relative-unnormalized");
 6900   8771   
        }
 6901   8772   
 6902   8773   
        #[test]
 6903   8774   
        fn test_get_slash_dot_slash_normalized() {
 6904         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        8775  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 6905   8776   
        }
 6906   8777   
 6907   8778   
        #[test]
 6908   8779   
        fn test_get_slash_dot_slash_unnormalized() {
 6909         -
            run_v4a_test_suite(
 6910         -
                "get-slash-dot-slash-unnormalized",
 6911         -
                SignatureLocation::Headers,
 6912         -
            );
        8780  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 6913   8781   
        }
 6914   8782   
 6915   8783   
        #[test]
 6916   8784   
        fn test_get_slash_normalized() {
 6917         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        8785  +
            run_test_suite_v4a("get-slash-normalized");
 6918   8786   
        }
 6919   8787   
 6920   8788   
        #[test]
 6921   8789   
        fn test_get_slash_pointless_dot_normalized() {
 6922         -
            run_v4a_test_suite(
 6923         -
                "get-slash-pointless-dot-normalized",
 6924         -
                SignatureLocation::Headers,
 6925         -
            );
        8790  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 6926   8791   
        }
 6927   8792   
 6928   8793   
        #[test]
 6929   8794   
        fn test_get_slash_pointless_dot_unnormalized() {
 6930         -
            run_v4a_test_suite(
 6931         -
                "get-slash-pointless-dot-unnormalized",
 6932         -
                SignatureLocation::Headers,
 6933         -
            );
        8795  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 6934   8796   
        }
 6935   8797   
 6936   8798   
        #[test]
 6937   8799   
        fn test_get_slash_unnormalized() {
 6938         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        8800  +
            run_test_suite_v4a("get-slash-unnormalized");
 6939   8801   
        }
 6940   8802   
 6941   8803   
        #[test]
 6942   8804   
        fn test_get_slashes_normalized() {
 6943         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        8805  +
            run_test_suite_v4a("get-slashes-normalized");
 6944   8806   
        }
 6945   8807   
 6946   8808   
        #[test]
 6947   8809   
        fn test_get_slashes_unnormalized() {
 6948         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        8810  +
            run_test_suite_v4a("get-slashes-unnormalized");
        8811  +
        }
        8812  +
        8813  +
        #[test]
        8814  +
        #[ignore = "relies on single encode of path segments"]
        8815  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        8816  +
        // skipped until we add control over double_uri_encode in context.json
        8817  +
        fn test_get_space_normalized() {
        8818  +
            run_test_suite_v4a("get-space-normalized");
        8819  +
        }
        8820  +
        8821  +
        #[test]
        8822  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        8823  +
        // the input request has unencoded space ' ' in the path which fails to parse
        8824  +
        fn test_get_space_unnormalized() {
        8825  +
            run_test_suite_v4a("get-space-unnormalized");
 6949   8826   
        }
 6950   8827   
 6951   8828   
        #[test]
 6952   8829   
        fn test_get_unreserved() {
 6953         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        8830  +
            run_test_suite_v4a("get-unreserved");
        8831  +
        }
        8832  +
        8833  +
        #[test]
        8834  +
        #[ignore = "httparse fails on invalid uri character"]
        8835  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8836  +
        fn test_get_utf8() {
        8837  +
            run_test_suite_v4a("get-utf8");
 6954   8838   
        }
 6955   8839   
 6956   8840   
        #[test]
 6957   8841   
        fn test_get_vanilla() {
 6958         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        8842  +
            run_test_suite_v4a("get-vanilla");
 6959   8843   
        }
 6960   8844   
 6961   8845   
        #[test]
 6962   8846   
        fn test_get_vanilla_empty_query_key() {
 6963         -
            run_v4a_test_suite(
 6964         -
                "get-vanilla-empty-query-key",
 6965         -
                SignatureLocation::QueryParams,
 6966         -
            );
        8847  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 6967   8848   
        }
 6968   8849   
 6969   8850   
        #[test]
 6970   8851   
        fn test_get_vanilla_query() {
 6971         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        8852  +
            run_test_suite_v4a("get-vanilla-query");
        8853  +
        }
        8854  +
        8855  +
        #[test]
        8856  +
        fn test_get_vanilla_query_order_encoded() {
        8857  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 6972   8858   
        }
 6973   8859   
 6974   8860   
        #[test]
 6975   8861   
        fn test_get_vanilla_query_order_key_case() {
 6976         -
            run_v4a_test_suite(
 6977         -
                "get-vanilla-query-order-key-case",
 6978         -
                SignatureLocation::QueryParams,
 6979         -
            );
        8862  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 6980   8863   
        }
 6981   8864   
 6982   8865   
        #[test]
 6983   8866   
        fn test_get_vanilla_query_unreserved() {
 6984         -
            run_v4a_test_suite(
 6985         -
                "get-vanilla-query-unreserved",
 6986         -
                SignatureLocation::QueryParams,
 6987         -
            );
        8867  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        8868  +
        }
        8869  +
        8870  +
        #[test]
        8871  +
        #[ignore = "httparse fails on invalid uri character"]
        8872  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8873  +
        fn test_get_vanilla_utf8_query() {
        8874  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 6988   8875   
        }
 6989   8876   
 6990   8877   
        #[test]
 6991   8878   
        fn test_get_vanilla_with_session_token() {
 6992         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        8879  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 6993   8880   
        }
 6994   8881   
 6995   8882   
        #[test]
 6996   8883   
        fn test_post_header_key_case() {
 6997         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        8884  +
            run_test_suite_v4a("post-header-key-case");
 6998   8885   
        }
 6999   8886   
 7000   8887   
        #[test]
 7001   8888   
        fn test_post_header_key_sort() {
 7002         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        8889  +
            run_test_suite_v4a("post-header-key-sort");
 7003   8890   
        }
 7004   8891   
 7005   8892   
        #[test]
 7006   8893   
        fn test_post_header_value_case() {
 7007         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        8894  +
            run_test_suite_v4a("post-header-value-case");
 7008   8895   
        }
 7009   8896   
 7010   8897   
        #[test]
 7011   8898   
        fn test_post_sts_header_after() {
 7012         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        8899  +
            run_test_suite_v4a("post-sts-header-after");
 7013   8900   
        }
 7014   8901   
 7015   8902   
        #[test]
 7016   8903   
        fn test_post_sts_header_before() {
 7017         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        8904  +
            run_test_suite_v4a("post-sts-header-before");
 7018   8905   
        }
 7019   8906   
 7020   8907   
        #[test]
 7021   8908   
        fn test_post_vanilla() {
 7022         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        8909  +
            run_test_suite_v4a("post-vanilla");
 7023   8910   
        }
 7024   8911   
 7025   8912   
        #[test]
 7026   8913   
        fn test_post_vanilla_empty_query_value() {
 7027         -
            run_v4a_test_suite(
 7028         -
                "post-vanilla-empty-query-value",
 7029         -
                SignatureLocation::QueryParams,
 7030         -
            );
        8914  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 7031   8915   
        }
 7032   8916   
 7033   8917   
        #[test]
 7034   8918   
        fn test_post_vanilla_query() {
 7035         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        8919  +
            run_test_suite_v4a("post-vanilla-query");
 7036   8920   
        }
 7037   8921   
 7038   8922   
        #[test]
 7039   8923   
        fn test_post_x_www_form_urlencoded() {
 7040         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        8924  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 7041   8925   
        }
 7042   8926   
 7043   8927   
        #[test]
 7044   8928   
        fn test_post_x_www_form_urlencoded_parameters() {
 7045         -
            run_v4a_test_suite(
 7046         -
                "post-x-www-form-urlencoded-parameters",
 7047         -
                SignatureLocation::QueryParams,
 7048         -
            );
        8929  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 7049   8930   
        }
 7050   8931   
    }
 7051   8932   
 7052   8933   
    #[test]
 7053   8934   
    fn test_sign_url_escape() {
 7054         -
        let test = "double-encode-path";
        8935  +
        let test = SigningSuiteTest::v4("double-encode-path");
 7055   8936   
        let settings = SigningSettings::default();
 7056   8937   
        let identity = &Credentials::for_tests().into();
 7057   8938   
        let params = v4::SigningParams {
 7058   8939   
            identity,
 7059   8940   
            region: "us-east-1",
 7060   8941   
            name: "service",
 7061   8942   
            time: parse_date_time("20150830T123600Z").unwrap(),
 7062   8943   
            settings,
 7063   8944   
        }
 7064   8945   
        .into();
 7065   8946   
 7066         -
        let original = test::v4::test_request(test);
        8947  +
        let original = test.request();
 7067   8948   
        let signable = SignableRequest::from(&original);
 7068   8949   
        let out = sign(signable, &params).unwrap();
 7069   8950   
        assert_eq!(
 7070   8951   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 7071   8952   
            out.signature
 7072   8953   
        );
 7073   8954   
 7074   8955   
        let mut signed = original.as_http_request();
 7075   8956   
        out.output.apply_to_request_http0x(&mut signed);
 7076   8957   
 7077         -
        let expected = test::v4::test_signed_request(test);
 7078         -
        assert_req_eq!(expected, signed);
 7079         -
    }
 7080         -
 7081         -
    #[test]
 7082         -
    fn test_sign_vanilla_with_query_params() {
 7083         -
        let settings = SigningSettings {
 7084         -
            signature_location: SignatureLocation::QueryParams,
 7085         -
            expires_in: Some(Duration::from_secs(35)),
 7086         -
            ..Default::default()
 7087         -
        };
 7088         -
        let identity = &Credentials::for_tests().into();
 7089         -
        let params = v4::SigningParams {
 7090         -
            identity,
 7091         -
            region: "us-east-1",
 7092         -
            name: "service",
 7093         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 7094         -
            settings,
 7095         -
        }
 7096         -
        .into();
 7097         -
 7098         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 7099         -
        let signable = SignableRequest::from(&original);
 7100         -
        let out = sign(signable, &params).unwrap();
 7101         -
        assert_eq!(
 7102         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 7103         -
            out.signature
 7104         -
        );
 7105         -
 7106         -
        let mut signed = original.as_http_request();
 7107         -
        out.output.apply_to_request_http0x(&mut signed);
 7108         -
 7109         -
        let expected =
 7110         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        8958  +
        let expected = test.signed_request(SignatureLocation::Headers);
 7111   8959   
        assert_req_eq!(expected, signed);
 7112   8960   
    }
 7113   8961   
 7114   8962   
    #[test]
 7115   8963   
    fn test_sign_headers_utf8() {
 7116   8964   
        let settings = SigningSettings::default();
 7117   8965   
        let identity = &Credentials::for_tests().into();
 7118   8966   
        let params = v4::SigningParams {
 7119   8967   
            identity,
 7120   8968   
            region: "us-east-1",
 7121   8969   
            name: "service",
 7122   8970   
            time: parse_date_time("20150830T123600Z").unwrap(),
 7123   8971   
            settings,
 7124   8972   
        }
 7125   8973   
        .into();
 7126   8974   
 7127   8975   
        let original = http0::Request::builder()
 7128   8976   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 7129   8977   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 7130   8978   
            .body("")
 7131   8979   
            .unwrap()
 7132   8980   
            .into();
 7133   8981   
        let signable = SignableRequest::from(&original);
 7134   8982   
        let out = sign(signable, &params).unwrap();
 7135   8983   
        assert_eq!(
 7136   8984   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 7137   8985   
            out.signature
 7138   8986   
        );
 7139   8987   
 7140   8988   
        let mut signed = original.as_http_request();
 7141   8989   
@@ -1138,31 +1028,236 @@ mod tests {
 7142   8990   
        let mut request = http::Request::builder()
 7143   8991   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 7144   8992   
            .body("")
 7145   8993   
            .unwrap();
 7146   8994   
 7147   8995   
        instructions.apply_to_request_http1x(&mut request);
 7148   8996   
 7149   8997   
        assert_eq!(
 7150   8998   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 7151   8999   
            request.uri().path_and_query().unwrap().to_string()
 7152   9000   
        );
 7153   9001   
    }
 7154   9002   
 7155   9003   
    #[test]
 7156   9004   
    fn test_debug_signable_body() {
 7157   9005   
        let sut = SignableBody::Bytes(b"hello signable body");
 7158   9006   
        assert_eq!(
 7159   9007   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 7160   9008   
            format!("{sut:?}")
 7161   9009   
        );
 7162   9010   
 7163   9011   
        let sut = SignableBody::UnsignedPayload;
 7164   9012   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 7165   9013   
 7166   9014   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 7167   9015   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 7168   9016   
 7169   9017   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 7170   9018   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 7171   9019   
    }
        9020  +
        9021  +
    // v4 test suite
        9022  +
    mod v4_suite {
        9023  +
        use crate::http_request::test::run_test_suite_v4;
        9024  +
        9025  +
        #[test]
        9026  +
        fn test_get_header_key_duplicate() {
        9027  +
            run_test_suite_v4("get-header-key-duplicate");
        9028  +
        }
        9029  +
        9030  +
        #[test]
        9031  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        9032  +
        fn test_get_header_value_multiline() {
        9033  +
            run_test_suite_v4("get-header-value-multiline");
        9034  +
        }
        9035  +
        9036  +
        #[test]
        9037  +
        fn test_get_header_value_order() {
        9038  +
            run_test_suite_v4("get-header-value-order");
        9039  +
        }
        9040  +
        9041  +
        #[test]
        9042  +
        fn test_get_header_value_trim() {
        9043  +
            run_test_suite_v4("get-header-value-trim");
        9044  +
        }
        9045  +
        9046  +
        #[test]
        9047  +
        fn test_get_relative_normalized() {
        9048  +
            run_test_suite_v4("get-relative-normalized");
        9049  +
        }
        9050  +
        9051  +
        #[test]
        9052  +
        fn test_get_relative_relative_normalized() {
        9053  +
            run_test_suite_v4("get-relative-relative-normalized");
        9054  +
        }
        9055  +
        9056  +
        #[test]
        9057  +
        fn test_get_relative_relative_unnormalized() {
        9058  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        9059  +
        }
        9060  +
        9061  +
        #[test]
        9062  +
        fn test_get_relative_unnormalized() {
        9063  +
            run_test_suite_v4("get-relative-unnormalized");
        9064  +
        }
        9065  +
        9066  +
        #[test]
        9067  +
        fn test_get_slash_dot_slash_normalized() {
        9068  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        9069  +
        }
        9070  +
        9071  +
        #[test]
        9072  +
        fn test_get_slash_dot_slash_unnormalized() {
        9073  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        9074  +
        }
        9075  +
        9076  +
        #[test]
        9077  +
        fn test_get_slash_normalized() {
        9078  +
            run_test_suite_v4("get-slash-normalized");
        9079  +
        }
        9080  +
        9081  +
        #[test]
        9082  +
        fn test_get_slash_pointless_dot_normalized() {
        9083  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        9084  +
        }
        9085  +
        9086  +
        #[test]
        9087  +
        fn test_get_slash_pointless_dot_unnormalized() {
        9088  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        9089  +
        }
        9090  +
        9091  +
        #[test]
        9092  +
        fn test_get_slash_unnormalized() {
        9093  +
            run_test_suite_v4("get-slash-unnormalized");
        9094  +
        }
        9095  +
        9096  +
        #[test]
        9097  +
        fn test_get_slashes_normalized() {
        9098  +
            run_test_suite_v4("get-slashes-normalized");
        9099  +
        }
        9100  +
        9101  +
        #[test]
        9102  +
        fn test_get_slashes_unnormalized() {
        9103  +
            run_test_suite_v4("get-slashes-unnormalized");
        9104  +
        }
        9105  +
        9106  +
        #[test]
        9107  +
        #[ignore = "relies on single encode of path segments"]
        9108  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        9109  +
        // skipped until we add control over double_uri_encode in context.json
        9110  +
        fn test_get_space_normalized() {
        9111  +
            run_test_suite_v4("get-space-normalized");
        9112  +
        }
        9113  +
        9114  +
        #[test]
        9115  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        9116  +
        // the input request has unencoded space ' ' in the path which fails to parse
        9117  +
        fn test_get_space_unnormalized() {
        9118  +
            run_test_suite_v4("get-space-unnormalized");
        9119  +
        }
        9120  +
        9121  +
        #[test]
        9122  +
        fn test_get_unreserved() {
        9123  +
            run_test_suite_v4("get-unreserved");
        9124  +
        }
        9125  +
        9126  +
        #[test]
        9127  +
        #[ignore = "httparse fails on invalid uri character"]
        9128  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        9129  +
        fn test_get_utf8() {
        9130  +
            run_test_suite_v4("get-utf8");
        9131  +
        }
        9132  +
        9133  +
        #[test]
        9134  +
        fn test_get_vanilla() {
        9135  +
            run_test_suite_v4("get-vanilla");
        9136  +
        }
        9137  +
        9138  +
        #[test]
        9139  +
        fn test_get_vanilla_empty_query_key() {
        9140  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        9141  +
        }
        9142  +
        9143  +
        #[test]
        9144  +
        fn test_get_vanilla_query() {
        9145  +
            run_test_suite_v4("get-vanilla-query");
        9146  +
        }
        9147  +
        9148  +
        #[test]
        9149  +
        fn test_get_vanilla_query_order_encoded() {
        9150  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        9151  +
        }
        9152  +
        9153  +
        #[test]
        9154  +
        fn test_get_vanilla_query_order_key_case() {
        9155  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        9156  +
        }
        9157  +
        9158  +
        #[test]
        9159  +
        fn test_get_vanilla_query_unreserved() {
        9160  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        9161  +
        }
        9162  +
        9163  +
        #[test]
        9164  +
        #[ignore = "httparse fails on invalid uri character"]
        9165  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        9166  +
        fn test_get_vanilla_utf8_query() {
        9167  +
            run_test_suite_v4("get-vanilla-utf8-query");
        9168  +
        }
        9169  +
        9170  +
        #[test]
        9171  +
        fn test_get_vanilla_with_session_token() {
        9172  +
            run_test_suite_v4("get-vanilla-with-session-token");
        9173  +
        }
        9174  +
        9175  +
        #[test]
        9176  +
        fn test_post_header_key_case() {
        9177  +
            run_test_suite_v4("post-header-key-case");
        9178  +
        }
        9179  +
        9180  +
        #[test]
        9181  +
        fn test_post_header_key_sort() {
        9182  +
            run_test_suite_v4("post-header-key-sort");
        9183  +
        }
        9184  +
        9185  +
        #[test]
        9186  +
        fn test_post_header_value_case() {
        9187  +
            run_test_suite_v4("post-header-value-case");
        9188  +
        }
        9189  +
        9190  +
        #[test]
        9191  +
        fn test_post_sts_header_after() {
        9192  +
            run_test_suite_v4("post-sts-header-after");
        9193  +
        }
        9194  +
        9195  +
        #[test]
        9196  +
        fn test_post_sts_header_before() {
        9197  +
            run_test_suite_v4("post-sts-header-before");
        9198  +
        }
        9199  +
        9200  +
        #[test]
        9201  +
        fn test_post_vanilla() {
        9202  +
            run_test_suite_v4("post-vanilla");
        9203  +
        }
        9204  +
        9205  +
        #[test]
        9206  +
        fn test_post_vanilla_empty_query_value() {
        9207  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        9208  +
        }
        9209  +
        9210  +
        #[test]
        9211  +
        fn test_post_vanilla_query() {
        9212  +
            run_test_suite_v4("post-vanilla-query");
        9213  +
        }
        9214  +
        9215  +
        #[test]
        9216  +
        fn test_post_x_www_form_urlencoded() {
        9217  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        9218  +
        }
        9219  +
        9220  +
        #[test]
        9221  +
        fn test_post_x_www_form_urlencoded_parameters() {
        9222  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        9223  +
        }
        9224  +
    }
 7172   9225   
}
 7173   9226   
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
 7174   9227   
index be6c496..86eec20 100644
 7175         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        9228  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 7176   9229   
@@ -1,242 +1,453 @@
 7177   9230   
/*
 7178   9231   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 7179   9232   
 * SPDX-License-Identifier: Apache-2.0
 7180   9233   
 */
 7181   9234   
 7182   9235   
//! Functions shared between the tests of several modules.
 7183   9236   
 7184         -
use crate::http_request::{SignableBody, SignableRequest};
        9237  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        9238  +
use crate::http_request::{
        9239  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        9240  +
    SigningSettings,
        9241  +
};
        9242  +
use aws_credential_types::Credentials;
        9243  +
use aws_smithy_runtime_api::client::identity::Identity;
 7185   9244   
use http0::{Method, Uri};
        9245  +
use std::borrow::Cow;
 7186   9246   
use std::error::Error as StdError;
        9247  +
use std::time::{Duration, SystemTime};
        9248  +
use time::format_description::well_known::Rfc3339;
        9249  +
use time::OffsetDateTime;
        9250  +
        9251  +
/// Common test suite collection
        9252  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        9253  +
enum Collection {
        9254  +
    V4,
        9255  +
    V4A,
        9256  +
}
 7187   9257   
 7188         -
pub(crate) mod v4 {
 7189         -
    use super::*;
        9258  +
/// A test from the common CRT test suite
        9259  +
#[derive(Debug, Clone)]
        9260  +
pub(crate) struct SigningSuiteTest {
        9261  +
    test_name: &'static str,
        9262  +
    collection: Collection,
        9263  +
}
 7190   9264   
 7191         -
    fn path(name: &str, ext: &str) -> String {
 7192         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        9265  +
impl SigningSuiteTest {
        9266  +
    /// Create a new test from the V4 test suite
        9267  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        9268  +
        Self {
        9269  +
            test_name,
        9270  +
            collection: Collection::V4,
        9271  +
        }
 7193   9272   
    }
 7194   9273   
 7195         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 7196         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 7197         -
        read(&path(name, "creq")).trim().to_string()
        9274  +
    /// Create a new test from the V4a test suite
        9275  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        9276  +
        Self {
        9277  +
            test_name,
        9278  +
            collection: Collection::V4A,
        9279  +
        }
 7198   9280   
    }
 7199   9281   
 7200         -
    pub(crate) fn test_sts(name: &str) -> String {
 7201         -
        read(&path(name, "sts"))
        9282  +
    /// Get the path to a file in this test suite directory
        9283  +
    fn path(&self, filename: &str) -> String {
        9284  +
        let dir = match self.collection {
        9285  +
            Collection::V4 => "v4",
        9286  +
            Collection::V4A => "v4a",
        9287  +
        };
        9288  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 7202   9289   
    }
 7203   9290   
 7204         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 7205         -
        test_parsed_request(name, "req")
        9291  +
    /// Get the HTTP request for the test
        9292  +
    pub(crate) fn request(&self) -> TestRequest {
        9293  +
        test_parsed_request(&self.path("request.txt"))
 7206   9294   
    }
 7207   9295   
 7208         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 7209         -
        test_parsed_request(name, "sreq")
        9296  +
    /// Get the signed HTTP request for the test
        9297  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        9298  +
        match signature_location {
        9299  +
            SignatureLocation::QueryParams => {
        9300  +
                test_parsed_request(&self.path("query-signed-request.txt"))
        9301  +
            }
        9302  +
            SignatureLocation::Headers => {
        9303  +
                test_parsed_request(&self.path("header-signed-request.txt"))
        9304  +
            }
        9305  +
        }
 7210   9306   
    }
 7211   9307   
 7212         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 7213         -
        test_parsed_request(name, "qpsreq")
        9308  +
    /// Get the canonical request for the test
        9309  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        9310  +
        match signature_location {
        9311  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        9312  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
        9313  +
        }
 7214   9314   
    }
 7215   9315   
 7216         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 7217         -
        let path = path(name, ext);
 7218         -
        match parse_request(read(&path).as_bytes()) {
 7219         -
            Ok(parsed) => parsed,
 7220         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        9316  +
    /// Get the string to sign for the test
        9317  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
        9318  +
        match signature_location {
        9319  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        9320  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 7221   9321   
        }
 7222   9322   
    }
 7223   9323   
 7224         -
    #[test]
 7225         -
    fn test_parse() {
 7226         -
        test_request("post-header-key-case");
        9324  +
    /// Get the signature for the test
        9325  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
        9326  +
        match signature_location {
        9327  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        9328  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        9329  +
        }
 7227   9330   
    }
 7228   9331   
 7229         -
    #[test]
 7230         -
    fn test_read_query_params() {
 7231         -
        test_request("get-vanilla-query-order-key-case");
        9332  +
    /// Get the test context for the test
        9333  +
    pub(crate) fn context(&self) -> TestContext {
        9334  +
        let context = read(&self.path("context.json"));
        9335  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        9336  +
        tc_builder.build()
 7232   9337   
    }
 7233   9338   
}
 7234   9339   
 7235         -
#[cfg(feature = "sigv4a")]
 7236         -
pub(crate) mod v4a {
 7237         -
    use super::*;
 7238         -
    use crate::http_request::{
 7239         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 7240         -
    };
 7241         -
    use aws_credential_types::Credentials;
 7242         -
    use aws_smithy_runtime_api::client::identity::Identity;
 7243         -
    use serde_derive::Deserialize;
 7244         -
    use std::time::{Duration, SystemTime};
 7245         -
    use time::format_description::well_known::Rfc3339;
 7246         -
    use time::OffsetDateTime;
 7247         -
 7248         -
    fn path(test_name: &str, definition_name: &str) -> String {
 7249         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        9340  +
fn test_parsed_request(path: &str) -> TestRequest {
        9341  +
    match parse_request(read(path).as_bytes()) {
        9342  +
        Ok(parsed) => parsed,
        9343  +
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 7250   9344   
    }
        9345  +
}
 7251   9346   
 7252         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 7253         -
        test_parsed_request(&path(name, "request"))
 7254         -
    }
        9347  +
fn new_v4_signing_params_from_context(
        9348  +
    test_context: &'_ TestContext,
        9349  +
    signature_location: SignatureLocation,
        9350  +
) -> crate::http_request::SigningParams<'_> {
        9351  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        9352  +
    params.settings.signature_location = signature_location;
        9353  +
    params.into()
        9354  +
}
 7255   9355   
 7256         -
    pub(crate) fn test_canonical_request(
 7257         -
        name: &str,
 7258         -
        signature_location: SignatureLocation,
 7259         -
    ) -> String {
 7260         -
        match signature_location {
 7261         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 7262         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        9356  +
/// Run the given test from the v4 suite for both header and query
        9357  +
/// signature locations
        9358  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        9359  +
    run_v4_test(test_name, SignatureLocation::Headers);
        9360  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        9361  +
}
        9362  +
        9363  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        9364  +
    assert_eq!(expected.scheme(), actual.scheme());
        9365  +
    assert_eq!(expected.authority(), actual.authority());
        9366  +
    assert_eq!(expected.path(), actual.path());
        9367  +
        9368  +
    // query params may be out of order
        9369  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        9370  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        9371  +
    expected_params.sort();
        9372  +
        9373  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        9374  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        9375  +
    actual_params.sort();
        9376  +
        9377  +
    assert_eq!(expected_params, actual_params);
        9378  +
}
        9379  +
        9380  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        9381  +
    let expected = expected.as_http_request();
        9382  +
    let actual = actual;
        9383  +
    assert_eq!(expected.method(), actual.method());
        9384  +
    assert_eq!(
        9385  +
        expected.headers().len(),
        9386  +
        actual.headers().len(),
        9387  +
        "extra or missing headers"
        9388  +
    );
        9389  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        9390  +
    assert_uri_eq(expected.uri(), actual.uri());
        9391  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        9392  +
}
        9393  +
        9394  +
/// Run the given test from the v4 suite for the given signature location
        9395  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        9396  +
    let test = SigningSuiteTest::v4(test_name);
        9397  +
    let tc = test.context();
        9398  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        9399  +
        9400  +
    let req = test.request();
        9401  +
    let expected_creq = test.canonical_request(signature_location);
        9402  +
    let signable_req = SignableRequest::from(&req);
        9403  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        9404  +
        9405  +
    // check canonical request
        9406  +
    assert_eq!(
        9407  +
        expected_creq,
        9408  +
        actual_creq.to_string(),
        9409  +
        "canonical request didn't match (signature location: {signature_location:?})"
        9410  +
    );
        9411  +
        9412  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        9413  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        9414  +
    let actual_string_to_sign = StringToSign::new_v4(
        9415  +
        *params.time(),
        9416  +
        params.region().unwrap(),
        9417  +
        params.name(),
        9418  +
        hashed_creq,
        9419  +
    )
        9420  +
    .to_string();
        9421  +
        9422  +
    // check string to sign
        9423  +
    assert_eq!(
        9424  +
        expected_string_to_sign, actual_string_to_sign,
        9425  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        9426  +
    );
        9427  +
        9428  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        9429  +
    let mut signed = req.as_http_request();
        9430  +
    out.output.apply_to_request_http0x(&mut signed);
        9431  +
        9432  +
    // check signature
        9433  +
    assert_eq!(
        9434  +
        test.signature(signature_location),
        9435  +
        out.signature,
        9436  +
        "signature didn't match (signature location: {signature_location:?})"
        9437  +
    );
        9438  +
        9439  +
    let expected = test.signed_request(signature_location);
        9440  +
    assert_requests_eq(expected, signed);
        9441  +
}
        9442  +
        9443  +
/// Test suite context.json
        9444  +
pub(crate) struct TestContext {
        9445  +
    pub(crate) identity: Identity,
        9446  +
    pub(crate) expiration_in_seconds: u64,
        9447  +
    pub(crate) normalize: bool,
        9448  +
    pub(crate) region: String,
        9449  +
    pub(crate) service: String,
        9450  +
    pub(crate) timestamp: String,
        9451  +
    pub(crate) omit_session_token: bool,
        9452  +
    pub(crate) sign_body: bool,
        9453  +
}
        9454  +
        9455  +
// Serde has limitations requiring this odd workaround.
        9456  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        9457  +
fn return_true() -> bool {
        9458  +
    true
        9459  +
}
        9460  +
        9461  +
#[derive(serde_derive::Deserialize)]
        9462  +
pub(crate) struct TestContextBuilder {
        9463  +
    credentials: TestContextCreds,
        9464  +
    expiration_in_seconds: u64,
        9465  +
    normalize: bool,
        9466  +
    region: String,
        9467  +
    service: String,
        9468  +
    timestamp: String,
        9469  +
    #[serde(default)]
        9470  +
    omit_session_token: bool,
        9471  +
    #[serde(default = "return_true")]
        9472  +
    sign_body: bool,
        9473  +
}
        9474  +
        9475  +
impl TestContextBuilder {
        9476  +
    pub(crate) fn build(self) -> TestContext {
        9477  +
        let identity = Identity::new(
        9478  +
            Credentials::from_keys(
        9479  +
                &self.credentials.access_key_id,
        9480  +
                &self.credentials.secret_access_key,
        9481  +
                self.credentials.token.clone(),
        9482  +
            ),
        9483  +
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
        9484  +
        );
        9485  +
        9486  +
        TestContext {
        9487  +
            identity,
        9488  +
            expiration_in_seconds: self.expiration_in_seconds,
        9489  +
            normalize: self.normalize,
        9490  +
            region: self.region,
        9491  +
            service: self.service,
        9492  +
            timestamp: self.timestamp,
        9493  +
            omit_session_token: self.omit_session_token,
        9494  +
            sign_body: self.sign_body,
 7263   9495   
        }
 7264   9496   
    }
        9497  +
}
 7265   9498   
 7266         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
 7267         -
        match signature_location {
 7268         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 7269         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        9499  +
#[derive(serde_derive::Deserialize)]
        9500  +
pub(crate) struct TestContextCreds {
        9501  +
    access_key_id: String,
        9502  +
    secret_access_key: String,
        9503  +
    token: Option<String>,
        9504  +
}
        9505  +
        9506  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        9507  +
    fn from(tc: &'a TestContext) -> Self {
        9508  +
        crate::sign::v4::SigningParams {
        9509  +
            identity: &tc.identity,
        9510  +
            region: &tc.region,
        9511  +
            name: &tc.service,
        9512  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        9513  +
                .unwrap()
        9514  +
                .into(),
        9515  +
            settings: SigningSettings {
        9516  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        9517  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        9518  +
                uri_path_normalization_mode: tc.normalize.into(),
        9519  +
                session_token_mode: if tc.omit_session_token {
        9520  +
                    SessionTokenMode::Exclude
        9521  +
                } else {
        9522  +
                    SessionTokenMode::Include
        9523  +
                },
        9524  +
                payload_checksum_kind: if tc.sign_body {
        9525  +
                    PayloadChecksumKind::XAmzSha256
        9526  +
                } else {
        9527  +
                    PayloadChecksumKind::NoHeader
        9528  +
                },
        9529  +
                ..Default::default()
        9530  +
            },
 7270   9531   
        }
 7271   9532   
    }
        9533  +
}
 7272   9534   
 7273         -
    fn test_parsed_request(path: &str) -> TestRequest {
 7274         -
        match parse_request(read(path).as_bytes()) {
 7275         -
            Ok(parsed) => parsed,
 7276         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
 7277         -
        }
        9535  +
#[cfg(feature = "sigv4a")]
        9536  +
pub(crate) mod v4a {
        9537  +
    use super::*;
        9538  +
    use crate::http_request::{
        9539  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        9540  +
    };
        9541  +
    use crate::sign::v4a;
        9542  +
    use p256::ecdsa::signature::{Signature, Verifier};
        9543  +
    use p256::ecdsa::{DerSignature, SigningKey};
        9544  +
    use std::time::Duration;
        9545  +
    use time::format_description::well_known::Rfc3339;
        9546  +
    use time::OffsetDateTime;
        9547  +
        9548  +
    fn new_v4a_signing_params_from_context(
        9549  +
        test_context: &'_ TestContext,
        9550  +
        signature_location: SignatureLocation,
        9551  +
    ) -> crate::http_request::SigningParams<'_> {
        9552  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        9553  +
        params.settings.signature_location = signature_location;
        9554  +
        params.into()
 7278   9555   
    }
 7279   9556   
 7280         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 7281         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 7282         -
        let context = read(&path);
 7283         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 7284         -
        tc_builder.build()
        9557  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        9558  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        9559  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
 7285   9560   
    }
 7286   9561   
 7287         -
    pub(crate) struct TestContext {
 7288         -
        pub(crate) identity: Identity,
 7289         -
        pub(crate) expiration_in_seconds: u64,
 7290         -
        pub(crate) normalize: bool,
 7291         -
        pub(crate) region: String,
 7292         -
        pub(crate) service: String,
 7293         -
        pub(crate) timestamp: String,
 7294         -
        pub(crate) omit_session_token: bool,
 7295         -
        pub(crate) sign_body: bool,
        9562  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        9563  +
        let test = SigningSuiteTest::v4a(test_name);
        9564  +
        let tc = test.context();
        9565  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        9566  +
        9567  +
        let req = test.request();
        9568  +
        let expected_creq = test.canonical_request(signature_location);
        9569  +
        let signable_req = SignableRequest::from(&req);
        9570  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        9571  +
        9572  +
        assert_eq!(
        9573  +
            expected_creq,
        9574  +
            actual_creq.to_string(),
        9575  +
            "canonical request didn't match (signature location: {signature_location:?})"
        9576  +
        );
        9577  +
        9578  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        9579  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        9580  +
        let actual_string_to_sign = StringToSign::new_v4a(
        9581  +
            *params.time(),
        9582  +
            params.region_set().unwrap(),
        9583  +
            params.name(),
        9584  +
            hashed_creq,
        9585  +
        )
        9586  +
        .to_string();
        9587  +
        9588  +
        assert_eq!(
        9589  +
            expected_string_to_sign, actual_string_to_sign,
        9590  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        9591  +
        );
        9592  +
        9593  +
        let out = sign(signable_req, &params).unwrap();
        9594  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        9595  +
        out.output
        9596  +
            .apply_to_request_http0x(&mut req.as_http_request());
        9597  +
        9598  +
        let creds = params.credentials().unwrap();
        9599  +
        let signing_key =
        9600  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        9601  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        9602  +
        let sig = sig
        9603  +
            .try_into()
        9604  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        9605  +
        9606  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        9607  +
        let peer_public_key = signing_key.verifying_key();
        9608  +
        let sts = actual_string_to_sign.as_bytes();
        9609  +
        peer_public_key.verify(sts, &sig).unwrap();
        9610  +
        // TODO(sigv4a) - use public.key.json as verifying key?
 7296   9611   
    }
 7297   9612   
 7298   9613   
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 7299   9614   
        fn from(tc: &'a TestContext) -> Self {
 7300   9615   
            crate::sign::v4a::SigningParams {
 7301   9616   
                identity: &tc.identity,
 7302   9617   
                region_set: &tc.region,
 7303   9618   
                name: &tc.service,
 7304   9619   
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 7305   9620   
                    .unwrap()
 7306   9621   
                    .into(),
 7307   9622   
                settings: SigningSettings {
 7308   9623   
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 7309   9624   
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 7310   9625   
                    uri_path_normalization_mode: tc.normalize.into(),
 7311   9626   
                    session_token_mode: if tc.omit_session_token {
 7312   9627   
                        SessionTokenMode::Exclude
 7313   9628   
                    } else {
 7314   9629   
                        SessionTokenMode::Include
 7315   9630   
                    },
 7316   9631   
                    payload_checksum_kind: if tc.sign_body {
 7317   9632   
                        PayloadChecksumKind::XAmzSha256
 7318   9633   
                    } else {
 7319   9634   
                        PayloadChecksumKind::NoHeader
 7320   9635   
                    },
 7321   9636   
                    ..Default::default()
 7322   9637   
                },
 7323   9638   
            }
 7324   9639   
        }
 7325   9640   
    }
 7326   9641   
 7327         -
    // Serde has limitations requiring this odd workaround.
 7328         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 7329         -
    fn return_true() -> bool {
 7330         -
        true
 7331         -
    }
 7332         -
 7333         -
    #[derive(Deserialize)]
 7334         -
    pub(crate) struct TestContextBuilder {
 7335         -
        credentials: TestContextCreds,
 7336         -
        expiration_in_seconds: u64,
 7337         -
        normalize: bool,
 7338         -
        region: String,
 7339         -
        service: String,
 7340         -
        timestamp: String,
 7341         -
        #[serde(default)]
 7342         -
        omit_session_token: bool,
 7343         -
        #[serde(default = "return_true")]
 7344         -
        sign_body: bool,
 7345         -
    }
 7346         -
 7347         -
    impl TestContextBuilder {
 7348         -
        pub(crate) fn build(self) -> TestContext {
 7349         -
            let identity = Identity::new(
 7350         -
                Credentials::from_keys(
 7351         -
                    &self.credentials.access_key_id,
 7352         -
                    &self.credentials.secret_access_key,
 7353         -
                    self.credentials.token.clone(),
 7354         -
                ),
 7355         -
                Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 7356         -
            );
 7357         -
 7358         -
            TestContext {
 7359         -
                identity,
 7360         -
                expiration_in_seconds: self.expiration_in_seconds,
 7361         -
                normalize: self.normalize,
 7362         -
                region: self.region,
 7363         -
                service: self.service,
 7364         -
                timestamp: self.timestamp,
 7365         -
                omit_session_token: self.omit_session_token,
 7366         -
                sign_body: self.sign_body,
 7367         -
            }
 7368         -
        }
 7369         -
    }
 7370         -
 7371         -
    #[derive(Deserialize)]
 7372         -
    pub(crate) struct TestContextCreds {
 7373         -
        access_key_id: String,
 7374         -
        secret_access_key: String,
 7375         -
        token: Option<String>,
 7376         -
    }
 7377         -
 7378   9642   
    #[test]
 7379   9643   
    fn test_parse() {
 7380         -
        let req = test_request("post-header-key-case");
        9644  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 7381   9645   
        assert_eq!(req.method, "POST");
 7382   9646   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 7383   9647   
        assert!(req.headers.is_empty());
 7384   9648   
    }
 7385   9649   
 7386   9650   
    #[test]
 7387   9651   
    fn test_read_query_params() {
 7388         -
        let req = test_request("get-header-value-trim");
        9652  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 7389   9653   
        assert_eq!(req.method, "GET");
 7390   9654   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 7391   9655   
        assert!(!req.headers.is_empty());
 7392   9656   
    }
 7393   9657   
}
 7394   9658   
 7395   9659   
fn read(path: &str) -> String {
 7396   9660   
    println!("Loading `{}` for test case...", path);
 7397   9661   
    let v = {
 7398   9662   
        match std::fs::read_to_string(path) {
 7399   9663   
            // This replacement is necessary for tests to pass on Windows, as reading the
 7400   9664   
            // test snapshots from the file system results in CRLF line endings being inserted.
 7401   9665   
            Ok(value) => value.replace("\r\n", "\n"),
 7402   9666   
            Err(err) => {
 7403   9667   
                panic!("failed to load test case `{}`: {}", path, err);
 7404   9668   
            }
 7405   9669   
        }
 7406   9670   
    };
 7407   9671   
 7408   9672   
    v.trim().to_string()
 7409   9673   
}
 7410   9674   
 7411   9675   
pub(crate) struct TestRequest {
 7412   9676   
    pub(crate) uri: String,
 7413   9677   
    pub(crate) method: String,
 7414   9678   
    pub(crate) headers: Vec<(String, String)>,
 7415   9679   
    pub(crate) body: TestSignedBody,
 7416   9680   
}
 7417   9681   
 7418   9682   
pub(crate) enum TestSignedBody {
 7419   9683   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 7420   9684   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 7421   9685   
                    )
 7422   9686   
                })
 7423   9687   
                .collect::<Vec<_>>(),
 7424   9688   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 7425   9689   
        }
 7426   9690   
    }
 7427   9691   
}
 7428   9692   
 7429   9693   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 7430   9694   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 7431   9695   
        SignableRequest::new(
 7432   9696   
            &request.method,
 7433   9697   
            &request.uri,
 7434   9698   
            request
 7435   9699   
                .headers
 7436   9700   
                .iter()
 7437   9701   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 7438   9702   
            request.body.as_signable_body(),
 7439   9703   
        )
 7440   9704   
        .expect("URI MUST be valid")
 7441   9705   
    }
 7442   9706   
}
 7443   9707   
 7444   9708   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 7445   9709   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 7446   9710   
    // httparse 1.5 requires two trailing newlines to head the header section.
 7447   9711   
    let mut with_newline = Vec::from(s);
 7448   9712   
    with_newline.push(b'\n');
 7449   9713   
    let mut req = httparse::Request::new(&mut headers);
 7450         -
    let _ = req.parse(&with_newline).unwrap();
        9714  +
    let status = req.parse(&with_newline).unwrap();
        9715  +
        9716  +
    let body = if status.is_complete() {
        9717  +
        let body_offset = status.unwrap();
        9718  +
        // ignore the newline we added, take from original
        9719  +
        &s[body_offset..]
        9720  +
    } else {
        9721  +
        &[]
        9722  +
    };
 7451   9723   
 7452   9724   
    let mut uri_builder = Uri::builder().scheme("https");
 7453   9725   
    if let Some(path) = req.path {
 7454   9726   
        uri_builder = uri_builder.path_and_query(path);
 7455   9727   
    }
 7456   9728   
 7457   9729   
    let mut headers = vec![];
 7458   9730   
    for header in req.headers {
 7459   9731   
        let name = header.name.to_lowercase();
 7460   9732   
        if name == "host" {
 7461   9733   
            uri_builder = uri_builder.authority(header.value);
 7462   9734   
        } else if !name.is_empty() {
 7463   9735   
            headers.push((
 7464   9736   
                header.name.to_string(),
 7465   9737   
                std::str::from_utf8(header.value)?.to_string(),
 7466   9738   
            ));
 7467   9739   
        }
 7468   9740   
    }
 7469   9741   
 7470   9742   
    Ok(TestRequest {
 7471   9743   
        uri: uri_builder.build()?.to_string(),
 7472   9744   
        method: req.method.unwrap().to_string(),
 7473   9745   
        headers,
 7474         -
        body: TestSignedBody::Bytes(vec![]),
        9746  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 7475   9747   
    })
 7476   9748   
}
 7477   9749   
 7478   9750   
#[test]
 7479   9751   
fn test_parse_headers() {
 7480   9752   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 7481   9753   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 7482   9754   
    assert_eq!(
 7483   9755   
        httparse::parse_headers(buf, &mut headers),
 7484   9756   
        Ok(httparse::Status::Complete((
 7485   9757   
            56,
 7486   9758   
            &[
 7487   9759   
                httparse::Header {
 7488   9760   
                    name: "Host",
 7489   9761   
                    value: b"example.amazonaws.com",
 7490   9762   
                },
 7491   9763   
                httparse::Header {
 7492   9764   
                    name: "X-Amz-Date",
 7493   9765   
                    value: b"20150830T123600Z",
 7494   9766   
                }
 7495   9767   
            ][..]
 7496   9768   
        )))
 7497   9769   
    );
 7498   9770   
}
 7499   9771   
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
 7500   9772   
index a208453..fc00249 100644
 7501         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        9773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 7502   9774   
@@ -168,52 +168,54 @@ pub mod signing_params {
 7503   9775   
        );
 7504   9776   
 7505   9777   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 7506   9778   
        /// a required argument was not given.
 7507   9779   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 7508   9780   
            Ok(SigningParams {
 7509   9781   
                identity: self
 7510   9782   
                    .identity
 7511   9783   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 7512   9784   
                region: self
 7513   9785   
                    .region
 7514   9786   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 7515   9787   
                name: self
 7516   9788   
                    .name
 7517   9789   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 7518   9790   
                time: self
 7519   9791   
                    .time
 7520   9792   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 7521   9793   
                settings: self
 7522   9794   
                    .settings
 7523   9795   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 7524   9796   
            })
 7525   9797   
        }
 7526   9798   
    }
 7527   9799   
}
 7528   9800   
 7529   9801   
#[cfg(test)]
 7530   9802   
mod tests {
 7531   9803   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 7532   9804   
    use crate::date_time::test_parsers::parse_date_time;
 7533         -
    use crate::http_request::test;
 7534   9805   
 7535   9806   
    #[test]
 7536   9807   
    fn test_signature_calculation() {
 7537   9808   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 7538         -
        let creq = test::v4::test_canonical_request("iam");
        9809  +
        let creq = r#"AWS4-HMAC-SHA256
        9810  +
20150830T123600Z
        9811  +
20150830/us-east-1/iam/aws4_request
        9812  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 7539   9813   
        let time = parse_date_time("20150830T123600Z").unwrap();
 7540   9814   
 7541   9815   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 7542   9816   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 7543   9817   
 7544   9818   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 7545   9819   
        assert_eq!(expected, &signature);
 7546   9820   
    }
 7547   9821   
 7548   9822   
    #[test]
 7549   9823   
    fn sign_payload_empty_string() {
 7550   9824   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 7551   9825   
        let actual = sha256_hex_string([]);
 7552   9826   
        assert_eq!(expected, actual);
 7553   9827   
    }
 7554   9828   
}
 7555   9829   
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
 7556   9830   
index ce78c38..8c2f591 100644
 7557         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        9831  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 7558   9832   
@@ -1,43 +1,43 @@
 7559   9833   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7560   9834   
[package]
 7561   9835   
name = "aws-smithy-checksums"
 7562   9836   
version = "0.63.5"
 7563   9837   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 7564   9838   
description = "Checksum calculation and verification callbacks"
 7565   9839   
edition = "2021"
 7566   9840   
license = "Apache-2.0"
 7567   9841   
repository = "https://github.com/smithy-lang/smithy-rs"
 7568   9842   
[package.metadata.docs.rs]
 7569   9843   
all-features = true
 7570   9844   
targets = ["x86_64-unknown-linux-gnu"]
 7571   9845   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7572   9846   
rustdoc-args = ["--cfg", "docsrs"]
 7573   9847   
 7574   9848   
[dependencies]
 7575   9849   
bytes = "1.10.0"
 7576   9850   
crc-fast = "1.3.0"
 7577   9851   
hex = "0.4.3"
 7578   9852   
http = "0.2.9"
 7579   9853   
http-body = "0.4.5"
 7580   9854   
md-5 = "0.10"
 7581   9855   
pin-project-lite = "0.2.14"
 7582   9856   
sha1 = "0.10"
 7583   9857   
sha2 = "0.10"
 7584   9858   
tracing = "0.1.40"
 7585   9859   
 7586   9860   
[dependencies.aws-smithy-http]
 7587   9861   
path = "../aws-smithy-http"
 7588         -
version = "0.62.2"
        9862  +
version = "0.62.3"
 7589   9863   
 7590   9864   
[dependencies.aws-smithy-types]
 7591   9865   
path = "../aws-smithy-types"
 7592   9866   
version = "1.3.2"
 7593   9867   
 7594   9868   
[dev-dependencies]
 7595   9869   
bytes-utils = "0.1.2"
 7596   9870   
pretty_assertions = "1.3"
 7597   9871   
tracing-test = "0.2.1"
 7598   9872   
 7599   9873   
[dev-dependencies.tokio]
 7600   9874   
version = "1.23.1"
 7601   9875   
features = ["macros", "rt"]
 7602   9876   
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
 7603   9877   
index 970c99e..d3c7a49 100644
 7604         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        9878  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 7605   9879   
@@ -1,34 +1,34 @@
 7606   9880   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7607   9881   
[package]
 7608   9882   
name = "aws-smithy-http"
 7609         -
version = "0.62.2"
        9883  +
version = "0.62.3"
 7610   9884   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7611   9885   
description = "Smithy HTTP logic for smithy-rs."
 7612   9886   
edition = "2021"
 7613   9887   
license = "Apache-2.0"
 7614   9888   
repository = "https://github.com/smithy-lang/smithy-rs"
 7615   9889   
[package.metadata.docs.rs]
 7616   9890   
all-features = true
 7617   9891   
targets = ["x86_64-unknown-linux-gnu"]
 7618   9892   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7619   9893   
rustdoc-args = ["--cfg", "docsrs"]
 7620   9894   
 7621   9895   
[features]
 7622   9896   
event-stream = ["aws-smithy-eventstream"]
 7623   9897   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 7624   9898   
 7625   9899   
[dependencies]
 7626   9900   
bytes = "1.10.0"
 7627   9901   
bytes-utils = "0.1"
 7628   9902   
percent-encoding = "2.3.1"
 7629   9903   
pin-project-lite = "0.2.14"
 7630   9904   
pin-utils = "0.1.0"
 7631   9905   
tracing = "0.1.40"
 7632   9906   
futures-core = "0.3.31"
 7633   9907   
 7634   9908   
[dependencies.aws-smithy-eventstream]
 7635   9909   
path = "../aws-smithy-eventstream"
 7636   9910   
optional = true
 7637   9911   
version = "0.60.10"
 7638   9912   
 7639   9913   
[dependencies.aws-smithy-runtime-api]
 7640   9914   
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
 7641   9915   
index 508f7a2..361545e 100644
 7642         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        9916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 7643   9917   
@@ -1,27 +1,27 @@
 7644   9918   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7645   9919   
[[bin]]
 7646   9920   
name = "read_many_from_str"
 7647   9921   
path = "fuzz_targets/read_many_from_str.rs"
 7648   9922   
test = false
 7649   9923   
doc = false
 7650   9924   
 7651   9925   
[package]
 7652   9926   
name = "aws-smithy-http-fuzz"
 7653   9927   
version = "0.0.0"
 7654   9928   
authors = ["Automatically generated"]
 7655   9929   
publish = false
 7656   9930   
edition = "2021"
 7657   9931   
 7658   9932   
[package.metadata]
 7659   9933   
cargo-fuzz = true
 7660   9934   
 7661   9935   
[dependencies]
 7662   9936   
libfuzzer-sys = "=0.4.7"
 7663   9937   
http = "0.2.3"
 7664   9938   
 7665   9939   
[dependencies.aws-smithy-http]
 7666   9940   
path = ".."
 7667         -
version = "0.62.2"
        9941  +
version = "0.62.3"
 7668   9942   
 7669   9943   
[workspace]
 7670   9944   
members = ["."]
 7671   9945   
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
 7672   9946   
index fef41d0..7694da6 100644
 7673         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        9947  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 7674   9948   
@@ -25,68 +25,73 @@ impl QueryWriter {
 7675   9949   
    pub fn new(uri: &Uri) -> Self {
 7676   9950   
        let new_path_and_query = uri
 7677   9951   
            .path_and_query()
 7678   9952   
            .map(|pq| pq.to_string())
 7679   9953   
            .unwrap_or_default();
 7680   9954   
        let prefix = if uri.query().is_none() {
 7681   9955   
            Some('?')
 7682   9956   
        } else if !uri.query().unwrap_or_default().is_empty() {
 7683   9957   
            Some('&')
 7684   9958   
        } else {
 7685   9959   
            None
 7686   9960   
        };
 7687   9961   
        QueryWriter {
 7688   9962   
            base_uri: uri.clone(),
 7689   9963   
            new_path_and_query,
 7690   9964   
            prefix,
 7691   9965   
        }
 7692   9966   
    }
 7693   9967   
 7694   9968   
    /// Clears all query parameters.
 7695   9969   
    pub fn clear_params(&mut self) {
 7696   9970   
        if let Some(index) = self.new_path_and_query.find('?') {
 7697   9971   
            self.new_path_and_query.truncate(index);
 7698   9972   
            self.prefix = Some('?');
 7699   9973   
        }
 7700   9974   
    }
 7701   9975   
 7702   9976   
    /// Inserts a new query parameter. The key and value are percent encoded
 7703   9977   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 7704   9978   
    pub fn insert(&mut self, k: &str, v: &str) {
        9979  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        9980  +
    }
        9981  +
        9982  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        9983  +
    /// as is.
        9984  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 7705   9985   
        if let Some(prefix) = self.prefix {
 7706   9986   
            self.new_path_and_query.push(prefix);
 7707   9987   
        }
 7708   9988   
        self.prefix = Some('&');
 7709         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        9989  +
        self.new_path_and_query.push_str(encoded_k);
 7710   9990   
        self.new_path_and_query.push('=');
 7711         -
 7712         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
        9991  +
        self.new_path_and_query.push_str(encoded_v)
 7713   9992   
    }
 7714   9993   
 7715   9994   
    /// Returns just the built query string.
 7716   9995   
    pub fn build_query(self) -> String {
 7717   9996   
        self.build_uri().query().unwrap_or_default().to_string()
 7718   9997   
    }
 7719   9998   
 7720   9999   
    /// Returns a full [`Uri`] with the query string updated.
 7721  10000   
    pub fn build_uri(self) -> Uri {
 7722  10001   
        let mut parts = self.base_uri.into_parts();
 7723  10002   
        parts.path_and_query = Some(
 7724  10003   
            self.new_path_and_query
 7725  10004   
                .parse()
 7726  10005   
                .expect("adding query should not invalidate URI"),
 7727  10006   
        );
 7728  10007   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 7729  10008   
    }
 7730  10009   
}
 7731  10010   
 7732  10011   
#[cfg(test)]
 7733  10012   
mod test {
 7734  10013   
    use super::QueryWriter;
 7735  10014   
    use http_02x::Uri;
 7736  10015   
 7737  10016   
    #[test]
 7738  10017   
    fn empty_uri() {
 7739  10018   
        let uri = Uri::from_static("http://www.example.com");
 7740  10019   
        let mut query_writer = QueryWriter::new(&uri);
 7741  10020   
        query_writer.insert("key", "val%ue");
 7742  10021   
        query_writer.insert("another", "value");
 7743  10022   
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
 7744  10023   
index f108978..df7a9fe 100644
 7745         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
       10024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 7746  10025   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 7747  10026   
 7748  10027   
[package.metadata.smithy-rs-release-tooling]
 7749  10028   
stable = true
 7750  10029   
[package.metadata.cargo-udeps.ignore]
 7751  10030   
normal = ["aws-smithy-http"]
 7752  10031   
 7753  10032   
[features]
 7754  10033   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 7755  10034   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 7756  10035   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 7757  10036   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 7758  10037   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 7759  10038   
rt-tokio = ["tokio/rt"]
 7760  10039   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 7761  10040   
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"]
 7762  10041   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 7763  10042   
 7764  10043   
[dependencies]
 7765  10044   
bytes = "1.10.0"
 7766  10045   
fastrand = "2.3.0"
 7767  10046   
pin-project-lite = "0.2.14"
 7768  10047   
pin-utils = "0.1.0"
 7769  10048   
tracing = "0.1.40"
 7770  10049   
 7771  10050   
[dependencies.aws-smithy-async]
 7772  10051   
path = "../aws-smithy-async"
 7773  10052   
version = "1.2.5"
 7774  10053   
 7775  10054   
[dependencies.aws-smithy-http]
 7776  10055   
path = "../aws-smithy-http"
 7777         -
version = "0.62.2"
       10056  +
version = "0.62.3"
 7778  10057   
 7779  10058   
[dependencies.aws-smithy-observability]
 7780  10059   
path = "../aws-smithy-observability"
 7781  10060   
version = "0.1.3"
 7782  10061   
 7783  10062   
[dependencies.aws-smithy-runtime-api]
 7784  10063   
path = "../aws-smithy-runtime-api"
 7785  10064   
version = "1.8.5"
 7786  10065   
 7787  10066   
[dependencies.aws-smithy-types]
 7788  10067   
path = "../aws-smithy-types"
 7789  10068   
features = ["http-body-0-4-x"]
 7790  10069   
version = "1.3.2"
 7791  10070   
 7792  10071   
[dependencies.aws-smithy-http-client]
 7793  10072   
path = "../aws-smithy-http-client"
 7794  10073   
optional = true
 7795  10074   
version = "1.0.6"
 7796  10075   
 7797  10076   
[dependencies.http-02x]
 7798  10077   
package = "http"
 7799  10078   
version = "0.2.9"
 7800  10079   
 7801  10080   
[dependencies.http-1x]
 7802  10081   
package = "http"
 7803  10082   
version = "1"
 7804  10083   
 7805  10084   
[dependencies.http-body-04x]
 7806  10085   
package = "http-body"
 7807  10086   
version = "0.4.5"
 7808  10087   
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
 7809  10088   
index 4e050c6..f58eb1c 100644
 7810         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
       10089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 7811  10090   
@@ -1,33 +1,33 @@
 7812  10091   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7813  10092   
[package]
 7814  10093   
name = "aws-smithy-wasm"
 7815  10094   
version = "0.1.4"
 7816  10095   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 7817  10096   
description = "Smithy WebAssembly configuration for smithy-rs."
 7818  10097   
edition = "2021"
 7819  10098   
license = "Apache-2.0"
 7820  10099   
repository = "https://github.com/awslabs/smithy-rs"
 7821  10100   
[package.metadata.docs.rs]
 7822  10101   
all-features = true
 7823  10102   
targets = ["x86_64-unknown-linux-gnu"]
 7824  10103   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7825  10104   
rustdoc-args = ["--cfg", "docsrs"]
 7826  10105   
 7827  10106   
[dependencies]
 7828  10107   
bytes = "1.10.0"
 7829  10108   
http = "1.0.0"
 7830  10109   
tracing = "0.1.40"
 7831  10110   
wasi = "0.12.1"
 7832  10111   
 7833  10112   
[dependencies.aws-smithy-runtime-api]
 7834  10113   
path = "../aws-smithy-runtime-api"
 7835  10114   
features = ["http-1x"]
 7836  10115   
version = "1.8.5"
 7837  10116   
 7838  10117   
[dependencies.aws-smithy-http]
 7839  10118   
path = "../aws-smithy-http"
 7840         -
version = "0.62.2"
       10119  +
version = "0.62.3"
 7841  10120   
 7842  10121   
[dependencies.aws-smithy-types]
 7843  10122   
path = "../aws-smithy-types"
 7844  10123   
version = "1.3.2"
 7845  10124   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 7846  10125   
index a880648..139e808 100644
 7847         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
       10126  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 7848  10127   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 7849  10128   
edition = "2021"
 7850  10129   
license = "Apache-2.0"
 7851  10130   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7852  10131   
rust-version = "1.86.0"
 7853  10132   
readme = "README.md"
 7854  10133   
[package.metadata.smithy]
 7855  10134   
codegen-version = "ci"
 7856  10135   
[package.metadata.docs.rs]
 7857  10136   
all-features = true
 7858  10137   
targets = ["x86_64-unknown-linux-gnu"]
 7859  10138   
[dependencies.aws-credential-types]
 7860  10139   
path = "../aws-credential-types"
 7861  10140   
version = "1.2.4"
 7862  10141   
 7863  10142   
[dependencies.aws-runtime]
 7864  10143   
path = "../aws-runtime"
 7865  10144   
features = ["event-stream"]
 7866  10145   
version = "1.5.9"
 7867  10146   
 7868  10147   
[dependencies.aws-smithy-async]
 7869  10148   
path = "../aws-smithy-async"
 7870  10149   
version = "1.2.5"
 7871  10150   
 7872  10151   
[dependencies.aws-smithy-eventstream]
 7873  10152   
path = "../aws-smithy-eventstream"
 7874  10153   
version = "0.60.10"
 7875  10154   
 7876  10155   
[dependencies.aws-smithy-http]
 7877  10156   
path = "../aws-smithy-http"
 7878  10157   
features = ["event-stream"]
 7879         -
version = "0.62.2"
       10158  +
version = "0.62.3"
 7880  10159   
 7881  10160   
[dependencies.aws-smithy-json]
 7882  10161   
path = "../aws-smithy-json"
 7883  10162   
version = "0.61.4"
 7884  10163   
 7885  10164   
[dependencies.aws-smithy-runtime]
 7886  10165   
path = "../aws-smithy-runtime"
 7887  10166   
features = ["client"]
 7888  10167   
version = "1.8.5"
 7889  10168   
 7890  10169   
[dependencies.aws-smithy-runtime-api]
 7891  10170   
path = "../aws-smithy-runtime-api"
 7892  10171   
features = ["client", "http-02x"]
 7893  10172   
version = "1.8.5"
 7894  10173   
 7895  10174   
[dependencies.aws-smithy-types]
 7896  10175   
path = "../aws-smithy-types"
 7897  10176   
version = "1.3.2"
 7898  10177   
 7899  10178   
[dependencies.aws-types]
 7900  10179   
path = "../aws-types"
 7901  10180   
version = "1.3.8"
 7902  10181   
 7903  10182   
[dependencies.bytes]
 7904  10183   
version = "1.4.0"
 7905  10184   
 7906  10185   
[dependencies.fastrand]
 7907  10186   
version = "2.0.0"
 7908  10187   
 7909  10188   
[dependencies.http]
 7910  10189   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 7911  10190   
index 415ecc9..667d12b 100644
 7912         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
       10191  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 7913  10192   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 7914  10193   
edition = "2021"
 7915  10194   
license = "Apache-2.0"
 7916  10195   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7917  10196   
rust-version = "1.86.0"
 7918  10197   
readme = "README.md"
 7919  10198   
[package.metadata.smithy]
 7920  10199   
codegen-version = "ci"
 7921  10200   
[package.metadata.docs.rs]
 7922  10201   
all-features = true
 7923  10202   
targets = ["x86_64-unknown-linux-gnu"]
 7924  10203   
[dependencies.aws-credential-types]
 7925  10204   
path = "../aws-credential-types"
 7926  10205   
version = "1.2.4"
 7927  10206   
 7928  10207   
[dependencies.aws-runtime]
 7929  10208   
path = "../aws-runtime"
 7930  10209   
features = ["event-stream"]
 7931  10210   
version = "1.5.9"
 7932  10211   
 7933  10212   
[dependencies.aws-smithy-async]
 7934  10213   
path = "../aws-smithy-async"
 7935  10214   
version = "1.2.5"
 7936  10215   
 7937  10216   
[dependencies.aws-smithy-eventstream]
 7938  10217   
path = "../aws-smithy-eventstream"
 7939  10218   
version = "0.60.10"
 7940  10219   
 7941  10220   
[dependencies.aws-smithy-http]
 7942  10221   
path = "../aws-smithy-http"
 7943  10222   
features = ["event-stream"]
 7944         -
version = "0.62.2"
       10223  +
version = "0.62.3"
 7945  10224   
 7946  10225   
[dependencies.aws-smithy-json]
 7947  10226   
path = "../aws-smithy-json"
 7948  10227   
version = "0.61.4"
 7949  10228   
 7950  10229   
[dependencies.aws-smithy-runtime]
 7951  10230   
path = "../aws-smithy-runtime"
 7952  10231   
features = ["client"]
 7953  10232   
version = "1.8.5"
 7954  10233   
 7955  10234   
[dependencies.aws-smithy-runtime-api]
 7956  10235   
path = "../aws-smithy-runtime-api"
 7957  10236   
features = ["client", "http-02x"]
 7958  10237   
version = "1.8.5"
 7959  10238   
 7960  10239   
[dependencies.aws-smithy-types]
 7961  10240   
path = "../aws-smithy-types"
 7962  10241   
version = "1.3.2"
 7963  10242   
 7964  10243   
[dependencies.aws-types]
 7965  10244   
path = "../aws-types"
 7966  10245   
version = "1.3.8"
 7967  10246   
 7968  10247   
[dependencies.bytes]
 7969  10248   
version = "1.4.0"
 7970  10249   
 7971  10250   
[dependencies.fastrand]
 7972  10251   
version = "2.0.0"
 7973  10252   
 7974  10253   
[dependencies.http]
 7975  10254   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 7976  10255   
index 8871cab..ed88de6 100644
 7977         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
       10256  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 7978  10257   
@@ -1,61 +1,61 @@
 7979  10258   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7980  10259   
[package]
 7981  10260   
name = "aws-sdk-codecatalyst"
 7982  10261   
version = "0.0.0-local"
 7983  10262   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7984  10263   
description = "AWS SDK for Amazon CodeCatalyst"
 7985  10264   
edition = "2021"
 7986  10265   
license = "Apache-2.0"
 7987  10266   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7988  10267   
rust-version = "1.86.0"
 7989  10268   
readme = "README.md"
 7990  10269   
[package.metadata.smithy]
 7991  10270   
codegen-version = "ci"
 7992  10271   
[package.metadata.docs.rs]
 7993  10272   
all-features = true
 7994  10273   
targets = ["x86_64-unknown-linux-gnu"]
 7995  10274   
[dependencies.aws-credential-types]
 7996  10275   
path = "../aws-credential-types"
 7997  10276   
version = "1.2.4"
 7998  10277   
 7999  10278   
[dependencies.aws-runtime]
 8000  10279   
path = "../aws-runtime"
 8001  10280   
version = "1.5.9"
 8002  10281   
 8003  10282   
[dependencies.aws-smithy-async]
 8004  10283   
path = "../aws-smithy-async"
 8005  10284   
version = "1.2.5"
 8006  10285   
 8007  10286   
[dependencies.aws-smithy-http]
 8008  10287   
path = "../aws-smithy-http"
 8009         -
version = "0.62.2"
       10288  +
version = "0.62.3"
 8010  10289   
 8011  10290   
[dependencies.aws-smithy-json]
 8012  10291   
path = "../aws-smithy-json"
 8013  10292   
version = "0.61.4"
 8014  10293   
 8015  10294   
[dependencies.aws-smithy-runtime]
 8016  10295   
path = "../aws-smithy-runtime"
 8017  10296   
features = ["client", "http-auth"]
 8018  10297   
version = "1.8.5"
 8019  10298   
 8020  10299   
[dependencies.aws-smithy-runtime-api]
 8021  10300   
path = "../aws-smithy-runtime-api"
 8022  10301   
features = ["client", "http-02x", "http-auth"]
 8023  10302   
version = "1.8.5"
 8024  10303   
 8025  10304   
[dependencies.aws-smithy-types]
 8026  10305   
path = "../aws-smithy-types"
 8027  10306   
version = "1.3.2"
 8028  10307   
 8029  10308   
[dependencies.aws-types]
 8030  10309   
path = "../aws-types"
 8031  10310   
version = "1.3.8"
 8032  10311   
 8033  10312   
[dependencies.bytes]
 8034  10313   
version = "1.4.0"
 8035  10314   
 8036  10315   
[dependencies.fastrand]
 8037  10316   
version = "2.0.0"
 8038  10317   
 8039  10318   
[dependencies.http]
 8040  10319   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 8041  10320   
index 89573ff..05238af 100644
 8042         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
       10321  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 8043  10322   
@@ -1,61 +1,61 @@
 8044  10323   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8045  10324   
[package]
 8046  10325   
name = "aws-sdk-config"
 8047  10326   
version = "0.0.0-local"
 8048  10327   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8049  10328   
description = "AWS SDK for AWS Config"
 8050  10329   
edition = "2021"
 8051  10330   
license = "Apache-2.0"
 8052  10331   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8053  10332   
rust-version = "1.86.0"
 8054  10333   
readme = "README.md"
 8055  10334   
[package.metadata.smithy]
 8056  10335   
codegen-version = "ci"
 8057  10336   
[package.metadata.docs.rs]
 8058  10337   
all-features = true
 8059  10338   
targets = ["x86_64-unknown-linux-gnu"]
 8060  10339   
[dependencies.aws-credential-types]
 8061  10340   
path = "../aws-credential-types"
 8062  10341   
version = "1.2.4"
 8063  10342   
 8064  10343   
[dependencies.aws-runtime]
 8065  10344   
path = "../aws-runtime"
 8066  10345   
version = "1.5.9"
 8067  10346   
 8068  10347   
[dependencies.aws-smithy-async]
 8069  10348   
path = "../aws-smithy-async"
 8070  10349   
version = "1.2.5"
 8071  10350   
 8072  10351   
[dependencies.aws-smithy-http]
 8073  10352   
path = "../aws-smithy-http"
 8074         -
version = "0.62.2"
       10353  +
version = "0.62.3"
 8075  10354   
 8076  10355   
[dependencies.aws-smithy-json]
 8077  10356   
path = "../aws-smithy-json"
 8078  10357   
version = "0.61.4"
 8079  10358   
 8080  10359   
[dependencies.aws-smithy-runtime]
 8081  10360   
path = "../aws-smithy-runtime"
 8082  10361   
features = ["client"]
 8083  10362   
version = "1.8.5"
 8084  10363   
 8085  10364   
[dependencies.aws-smithy-runtime-api]
 8086  10365   
path = "../aws-smithy-runtime-api"
 8087  10366   
features = ["client", "http-02x"]
 8088  10367   
version = "1.8.5"
 8089  10368   
 8090  10369   
[dependencies.aws-smithy-types]
 8091  10370   
path = "../aws-smithy-types"
 8092  10371   
version = "1.3.2"
 8093  10372   
 8094  10373   
[dependencies.aws-types]
 8095  10374   
path = "../aws-types"
 8096  10375   
version = "1.3.8"
 8097  10376   
 8098  10377   
[dependencies.bytes]
 8099  10378   
version = "1.4.0"
 8100  10379   
 8101  10380   
[dependencies.fastrand]
 8102  10381   
version = "2.0.0"
 8103  10382   
 8104  10383   
[dependencies.http]
 8105  10384   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 8106  10385   
index d397c58..2c1062b 100644
 8107         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
       10386  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 8108  10387   
@@ -1,61 +1,61 @@
 8109  10388   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8110  10389   
[package]
 8111  10390   
name = "aws-sdk-dynamodb"
 8112  10391   
version = "0.0.0-local"
 8113  10392   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8114  10393   
description = "AWS SDK for Amazon DynamoDB"
 8115  10394   
edition = "2021"
 8116  10395   
license = "Apache-2.0"
 8117  10396   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8118  10397   
rust-version = "1.86.0"
 8119  10398   
readme = "README.md"
 8120  10399   
[package.metadata.smithy]
 8121  10400   
codegen-version = "ci"
 8122  10401   
[package.metadata.docs.rs]
 8123  10402   
all-features = true
 8124  10403   
targets = ["x86_64-unknown-linux-gnu"]
 8125  10404   
[dependencies.aws-credential-types]
 8126  10405   
path = "../aws-credential-types"
 8127  10406   
version = "1.2.4"
 8128  10407   
 8129  10408   
[dependencies.aws-runtime]
 8130  10409   
path = "../aws-runtime"
 8131  10410   
version = "1.5.9"
 8132  10411   
 8133  10412   
[dependencies.aws-smithy-async]
 8134  10413   
path = "../aws-smithy-async"
 8135  10414   
version = "1.2.5"
 8136  10415   
 8137  10416   
[dependencies.aws-smithy-http]
 8138  10417   
path = "../aws-smithy-http"
 8139         -
version = "0.62.2"
       10418  +
version = "0.62.3"
 8140  10419   
 8141  10420   
[dependencies.aws-smithy-json]
 8142  10421   
path = "../aws-smithy-json"
 8143  10422   
version = "0.61.4"
 8144  10423   
 8145  10424   
[dependencies.aws-smithy-runtime]
 8146  10425   
path = "../aws-smithy-runtime"
 8147  10426   
features = ["client"]
 8148  10427   
version = "1.8.5"
 8149  10428   
 8150  10429   
[dependencies.aws-smithy-runtime-api]
 8151  10430   
path = "../aws-smithy-runtime-api"
 8152  10431   
features = ["client", "http-02x"]
 8153  10432   
version = "1.8.5"
 8154  10433   
 8155  10434   
[dependencies.aws-smithy-types]
 8156  10435   
path = "../aws-smithy-types"
 8157  10436   
version = "1.3.2"
 8158  10437   
 8159  10438   
[dependencies.aws-types]
 8160  10439   
path = "../aws-types"
 8161  10440   
version = "1.3.8"
 8162  10441   
 8163  10442   
[dependencies.bytes]
 8164  10443   
version = "1.4.0"
 8165  10444   
 8166  10445   
[dependencies.fastrand]
 8167  10446   
version = "2.0.0"
 8168  10447   
 8169  10448   
[dependencies.http]
 8170  10449   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 8171  10450   
index c0ba315..46168af 100644
 8172         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
       10451  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 8173  10452   
@@ -1,61 +1,61 @@
 8174  10453   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8175  10454   
[package]
 8176  10455   
name = "aws-sdk-ec2"
 8177  10456   
version = "0.0.0-local"
 8178  10457   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8179  10458   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 8180  10459   
edition = "2021"
 8181  10460   
license = "Apache-2.0"
 8182  10461   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8183  10462   
rust-version = "1.86.0"
 8184  10463   
readme = "README.md"
 8185  10464   
[package.metadata.smithy]
 8186  10465   
codegen-version = "ci"
 8187  10466   
[package.metadata.docs.rs]
 8188  10467   
all-features = true
 8189  10468   
targets = ["x86_64-unknown-linux-gnu"]
 8190  10469   
[dependencies.aws-credential-types]
 8191  10470   
path = "../aws-credential-types"
 8192  10471   
version = "1.2.4"
 8193  10472   
 8194  10473   
[dependencies.aws-runtime]
 8195  10474   
path = "../aws-runtime"
 8196  10475   
version = "1.5.9"
 8197  10476   
 8198  10477   
[dependencies.aws-smithy-async]
 8199  10478   
path = "../aws-smithy-async"
 8200  10479   
version = "1.2.5"
 8201  10480   
 8202  10481   
[dependencies.aws-smithy-http]
 8203  10482   
path = "../aws-smithy-http"
 8204         -
version = "0.62.2"
       10483  +
version = "0.62.3"
 8205  10484   
 8206  10485   
[dependencies.aws-smithy-json]
 8207  10486   
path = "../aws-smithy-json"
 8208  10487   
version = "0.61.4"
 8209  10488   
 8210  10489   
[dependencies.aws-smithy-query]
 8211  10490   
path = "../aws-smithy-query"
 8212  10491   
version = "0.60.7"
 8213  10492   
 8214  10493   
[dependencies.aws-smithy-runtime]
 8215  10494   
path = "../aws-smithy-runtime"
 8216  10495   
features = ["client"]
 8217  10496   
version = "1.8.5"
 8218  10497   
 8219  10498   
[dependencies.aws-smithy-runtime-api]
 8220  10499   
path = "../aws-smithy-runtime-api"
 8221  10500   
features = ["client", "http-02x"]
 8222  10501   
version = "1.8.5"
 8223  10502   
 8224  10503   
[dependencies.aws-smithy-types]
 8225  10504   
path = "../aws-smithy-types"
 8226  10505   
version = "1.3.2"
 8227  10506   
 8228  10507   
[dependencies.aws-smithy-xml]
 8229  10508   
path = "../aws-smithy-xml"
 8230  10509   
version = "0.60.10"
 8231  10510   
 8232  10511   
[dependencies.aws-types]
 8233  10512   
path = "../aws-types"
 8234  10513   
version = "1.3.8"
 8235  10514   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 8236  10515   
index 4474d17..095d40e 100644
 8237         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
       10516  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 8238  10517   
@@ -1,61 +1,61 @@
 8239  10518   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8240  10519   
[package]
 8241  10520   
name = "aws-sdk-ecs"
 8242  10521   
version = "0.0.0-local"
 8243  10522   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8244  10523   
description = "AWS SDK for Amazon EC2 Container Service"
 8245  10524   
edition = "2021"
 8246  10525   
license = "Apache-2.0"
 8247  10526   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8248  10527   
rust-version = "1.86.0"
 8249  10528   
readme = "README.md"
 8250  10529   
[package.metadata.smithy]
 8251  10530   
codegen-version = "ci"
 8252  10531   
[package.metadata.docs.rs]
 8253  10532   
all-features = true
 8254  10533   
targets = ["x86_64-unknown-linux-gnu"]
 8255  10534   
[dependencies.aws-credential-types]
 8256  10535   
path = "../aws-credential-types"
 8257  10536   
version = "1.2.4"
 8258  10537   
 8259  10538   
[dependencies.aws-runtime]
 8260  10539   
path = "../aws-runtime"
 8261  10540   
version = "1.5.9"
 8262  10541   
 8263  10542   
[dependencies.aws-smithy-async]
 8264  10543   
path = "../aws-smithy-async"
 8265  10544   
version = "1.2.5"
 8266  10545   
 8267  10546   
[dependencies.aws-smithy-http]
 8268  10547   
path = "../aws-smithy-http"
 8269         -
version = "0.62.2"
       10548  +
version = "0.62.3"
 8270  10549   
 8271  10550   
[dependencies.aws-smithy-json]
 8272  10551   
path = "../aws-smithy-json"
 8273  10552   
version = "0.61.4"
 8274  10553   
 8275  10554   
[dependencies.aws-smithy-runtime]
 8276  10555   
path = "../aws-smithy-runtime"
 8277  10556   
features = ["client"]
 8278  10557   
version = "1.8.5"
 8279  10558   
 8280  10559   
[dependencies.aws-smithy-runtime-api]
 8281  10560   
path = "../aws-smithy-runtime-api"
 8282  10561   
features = ["client", "http-02x"]
 8283  10562   
version = "1.8.5"
 8284  10563   
 8285  10564   
[dependencies.aws-smithy-types]
 8286  10565   
path = "../aws-smithy-types"
 8287  10566   
version = "1.3.2"
 8288  10567   
 8289  10568   
[dependencies.aws-types]
 8290  10569   
path = "../aws-types"
 8291  10570   
version = "1.3.8"
 8292  10571   
 8293  10572   
[dependencies.bytes]
 8294  10573   
version = "1.4.0"
 8295  10574   
 8296  10575   
[dependencies.fastrand]
 8297  10576   
version = "2.0.0"
 8298  10577   
 8299  10578   
[dependencies.http]
 8300  10579   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 8301  10580   
index 15b1d77..16d7d89 100644
 8302         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
       10581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 8303  10582   
@@ -1,65 +1,65 @@
 8304  10583   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8305  10584   
[package]
 8306  10585   
name = "aws-sdk-glacier"
 8307  10586   
version = "0.0.0-local"
 8308  10587   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8309  10588   
description = "AWS SDK for Amazon Glacier"
 8310  10589   
edition = "2021"
 8311  10590   
license = "Apache-2.0"
 8312  10591   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8313  10592   
rust-version = "1.86.0"
 8314  10593   
readme = "README.md"
 8315  10594   
[package.metadata.smithy]
 8316  10595   
codegen-version = "ci"
 8317  10596   
[package.metadata.docs.rs]
 8318  10597   
all-features = true
 8319  10598   
targets = ["x86_64-unknown-linux-gnu"]
 8320  10599   
[dependencies.aws-credential-types]
 8321  10600   
path = "../aws-credential-types"
 8322  10601   
version = "1.2.4"
 8323  10602   
 8324  10603   
[dependencies.aws-runtime]
 8325  10604   
path = "../aws-runtime"
 8326  10605   
version = "1.5.9"
 8327  10606   
 8328  10607   
[dependencies.aws-sigv4]
 8329  10608   
path = "../aws-sigv4"
 8330         -
version = "1.3.3"
       10609  +
version = "1.3.4"
 8331  10610   
 8332  10611   
[dependencies.aws-smithy-async]
 8333  10612   
path = "../aws-smithy-async"
 8334  10613   
version = "1.2.5"
 8335  10614   
 8336  10615   
[dependencies.aws-smithy-http]
 8337  10616   
path = "../aws-smithy-http"
 8338         -
version = "0.62.2"
       10617  +
version = "0.62.3"
 8339  10618   
 8340  10619   
[dependencies.aws-smithy-json]
 8341  10620   
path = "../aws-smithy-json"
 8342  10621   
version = "0.61.4"
 8343  10622   
 8344  10623   
[dependencies.aws-smithy-runtime]
 8345  10624   
path = "../aws-smithy-runtime"
 8346  10625   
features = ["client"]
 8347  10626   
version = "1.8.5"
 8348  10627   
 8349  10628   
[dependencies.aws-smithy-runtime-api]
 8350  10629   
path = "../aws-smithy-runtime-api"
 8351  10630   
features = ["client", "http-02x"]
 8352  10631   
version = "1.8.5"
 8353  10632   
 8354  10633   
[dependencies.aws-smithy-types]
 8355  10634   
path = "../aws-smithy-types"
 8356  10635   
version = "1.3.2"
 8357  10636   
 8358  10637   
[dependencies.aws-types]
 8359  10638   
path = "../aws-types"
 8360  10639   
version = "1.3.8"
 8361  10640   
 8362  10641   
[dependencies.bytes]
 8363  10642   
version = "1.4.0"
 8364  10643   
 8365  10644   
[dependencies.fastrand]
 8366  10645   
version = "2.0.0"
 8367  10646   
 8368  10647   
[dependencies.hex]
 8369  10648   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 8370  10649   
index d718a3a..65e6f24 100644
 8371         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
       10650  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 8372  10651   
@@ -1,61 +1,61 @@
 8373  10652   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8374  10653   
[package]
 8375  10654   
name = "aws-sdk-iam"
 8376  10655   
version = "0.0.0-local"
 8377  10656   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8378  10657   
description = "AWS SDK for AWS Identity and Access Management"
 8379  10658   
edition = "2021"
 8380  10659   
license = "Apache-2.0"
 8381  10660   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8382  10661   
rust-version = "1.86.0"
 8383  10662   
readme = "README.md"
 8384  10663   
[package.metadata.smithy]
 8385  10664   
codegen-version = "ci"
 8386  10665   
[package.metadata.docs.rs]
 8387  10666   
all-features = true
 8388  10667   
targets = ["x86_64-unknown-linux-gnu"]
 8389  10668   
[dependencies.aws-credential-types]
 8390  10669   
path = "../aws-credential-types"
 8391  10670   
version = "1.2.4"
 8392  10671   
 8393  10672   
[dependencies.aws-runtime]
 8394  10673   
path = "../aws-runtime"
 8395  10674   
version = "1.5.9"
 8396  10675   
 8397  10676   
[dependencies.aws-smithy-async]
 8398  10677   
path = "../aws-smithy-async"
 8399  10678   
version = "1.2.5"
 8400  10679   
 8401  10680   
[dependencies.aws-smithy-http]
 8402  10681   
path = "../aws-smithy-http"
 8403         -
version = "0.62.2"
       10682  +
version = "0.62.3"
 8404  10683   
 8405  10684   
[dependencies.aws-smithy-json]
 8406  10685   
path = "../aws-smithy-json"
 8407  10686   
version = "0.61.4"
 8408  10687   
 8409  10688   
[dependencies.aws-smithy-query]
 8410  10689   
path = "../aws-smithy-query"
 8411  10690   
version = "0.60.7"
 8412  10691   
 8413  10692   
[dependencies.aws-smithy-runtime]
 8414  10693   
path = "../aws-smithy-runtime"
 8415  10694   
features = ["client"]
 8416  10695   
version = "1.8.5"
 8417  10696   
 8418  10697   
[dependencies.aws-smithy-runtime-api]
 8419  10698   
path = "../aws-smithy-runtime-api"
 8420  10699   
features = ["client", "http-02x"]
 8421  10700   
version = "1.8.5"
 8422  10701   
 8423  10702   
[dependencies.aws-smithy-types]
 8424  10703   
path = "../aws-smithy-types"
 8425  10704   
version = "1.3.2"
 8426  10705   
 8427  10706   
[dependencies.aws-smithy-xml]
 8428  10707   
path = "../aws-smithy-xml"
 8429  10708   
version = "0.60.10"
 8430  10709   
 8431  10710   
[dependencies.aws-types]
 8432  10711   
path = "../aws-types"
 8433  10712   
version = "1.3.8"
 8434  10713   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 8435  10714   
index 0ed4302..3d828a5 100644
 8436         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
       10715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 8437  10716   
@@ -1,61 +1,61 @@
 8438  10717   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8439  10718   
[package]
 8440  10719   
name = "aws-sdk-kms"
 8441  10720   
version = "0.0.0-local"
 8442  10721   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8443  10722   
description = "AWS SDK for AWS Key Management Service"
 8444  10723   
edition = "2021"
 8445  10724   
license = "Apache-2.0"
 8446  10725   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8447  10726   
rust-version = "1.86.0"
 8448  10727   
readme = "README.md"
 8449  10728   
[package.metadata.smithy]
 8450  10729   
codegen-version = "ci"
 8451  10730   
[package.metadata.docs.rs]
 8452  10731   
all-features = true
 8453  10732   
targets = ["x86_64-unknown-linux-gnu"]
 8454  10733   
[dependencies.aws-credential-types]
 8455  10734   
path = "../aws-credential-types"
 8456  10735   
version = "1.2.4"
 8457  10736   
 8458  10737   
[dependencies.aws-runtime]
 8459  10738   
path = "../aws-runtime"
 8460  10739   
version = "1.5.9"
 8461  10740   
 8462  10741   
[dependencies.aws-smithy-async]
 8463  10742   
path = "../aws-smithy-async"
 8464  10743   
version = "1.2.5"
 8465  10744   
 8466  10745   
[dependencies.aws-smithy-http]
 8467  10746   
path = "../aws-smithy-http"
 8468         -
version = "0.62.2"
       10747  +
version = "0.62.3"
 8469  10748   
 8470  10749   
[dependencies.aws-smithy-json]
 8471  10750   
path = "../aws-smithy-json"
 8472  10751   
version = "0.61.4"
 8473  10752   
 8474  10753   
[dependencies.aws-smithy-runtime]
 8475  10754   
path = "../aws-smithy-runtime"
 8476  10755   
features = ["client"]
 8477  10756   
version = "1.8.5"
 8478  10757   
 8479  10758   
[dependencies.aws-smithy-runtime-api]
 8480  10759   
path = "../aws-smithy-runtime-api"
 8481  10760   
features = ["client", "http-02x"]
 8482  10761   
version = "1.8.5"
 8483  10762   
 8484  10763   
[dependencies.aws-smithy-types]
 8485  10764   
path = "../aws-smithy-types"
 8486  10765   
version = "1.3.2"
 8487  10766   
 8488  10767   
[dependencies.aws-types]
 8489  10768   
path = "../aws-types"
 8490  10769   
version = "1.3.8"
 8491  10770   
 8492  10771   
[dependencies.bytes]
 8493  10772   
version = "1.4.0"
 8494  10773   
 8495  10774   
[dependencies.fastrand]
 8496  10775   
version = "2.0.0"
 8497  10776   
 8498  10777   
[dependencies.http]
 8499  10778   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 8500  10779   
index 6518dfc..6b94752 100644
 8501         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
       10780  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 8502  10781   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 8503  10782   
edition = "2021"
 8504  10783   
license = "Apache-2.0"
 8505  10784   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8506  10785   
rust-version = "1.86.0"
 8507  10786   
readme = "README.md"
 8508  10787   
[package.metadata.smithy]
 8509  10788   
codegen-version = "ci"
 8510  10789   
[package.metadata.docs.rs]
 8511  10790   
all-features = true
 8512  10791   
targets = ["x86_64-unknown-linux-gnu"]
 8513  10792   
[dependencies.aws-credential-types]
 8514  10793   
path = "../aws-credential-types"
 8515  10794   
version = "1.2.4"
 8516  10795   
 8517  10796   
[dependencies.aws-runtime]
 8518  10797   
path = "../aws-runtime"
 8519  10798   
features = ["event-stream"]
 8520  10799   
version = "1.5.9"
 8521  10800   
 8522  10801   
[dependencies.aws-smithy-async]
 8523  10802   
path = "../aws-smithy-async"
 8524  10803   
version = "1.2.5"
 8525  10804   
 8526  10805   
[dependencies.aws-smithy-eventstream]
 8527  10806   
path = "../aws-smithy-eventstream"
 8528  10807   
version = "0.60.10"
 8529  10808   
 8530  10809   
[dependencies.aws-smithy-http]
 8531  10810   
path = "../aws-smithy-http"
 8532  10811   
features = ["event-stream"]
 8533         -
version = "0.62.2"
       10812  +
version = "0.62.3"
 8534  10813   
 8535  10814   
[dependencies.aws-smithy-json]
 8536  10815   
path = "../aws-smithy-json"
 8537  10816   
version = "0.61.4"
 8538  10817   
 8539  10818   
[dependencies.aws-smithy-runtime]
 8540  10819   
path = "../aws-smithy-runtime"
 8541  10820   
features = ["client"]
 8542  10821   
version = "1.8.5"
 8543  10822   
 8544  10823   
[dependencies.aws-smithy-runtime-api]
 8545  10824   
path = "../aws-smithy-runtime-api"
 8546  10825   
features = ["client", "http-02x"]
 8547  10826   
version = "1.8.5"
 8548  10827   
 8549  10828   
[dependencies.aws-smithy-types]
 8550  10829   
path = "../aws-smithy-types"
 8551  10830   
version = "1.3.2"
 8552  10831   
 8553  10832   
[dependencies.aws-types]
 8554  10833   
path = "../aws-types"
 8555  10834   
version = "1.3.8"
 8556  10835   
 8557  10836   
[dependencies.bytes]
 8558  10837   
version = "1.4.0"
 8559  10838   
 8560  10839   
[dependencies.fastrand]
 8561  10840   
version = "2.0.0"
 8562  10841   
 8563  10842   
[dependencies.http]
 8564  10843   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 8565  10844   
index dabb0e0..34cbc15 100644
 8566         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
       10845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 8567  10846   
@@ -1,65 +1,65 @@
 8568  10847   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8569  10848   
[package]
 8570  10849   
name = "aws-sdk-polly"
 8571  10850   
version = "0.0.0-local"
 8572  10851   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8573  10852   
description = "AWS SDK for Amazon Polly"
 8574  10853   
edition = "2021"
 8575  10854   
license = "Apache-2.0"
 8576  10855   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8577  10856   
rust-version = "1.86.0"
 8578  10857   
readme = "README.md"
 8579  10858   
[package.metadata.smithy]
 8580  10859   
codegen-version = "ci"
 8581  10860   
[package.metadata.docs.rs]
 8582  10861   
all-features = true
 8583  10862   
targets = ["x86_64-unknown-linux-gnu"]
 8584  10863   
[dependencies.aws-credential-types]
 8585  10864   
path = "../aws-credential-types"
 8586  10865   
version = "1.2.4"
 8587  10866   
 8588  10867   
[dependencies.aws-runtime]
 8589  10868   
path = "../aws-runtime"
 8590  10869   
version = "1.5.9"
 8591  10870   
 8592  10871   
[dependencies.aws-sigv4]
 8593  10872   
path = "../aws-sigv4"
 8594         -
version = "1.3.3"
       10873  +
version = "1.3.4"
 8595  10874   
 8596  10875   
[dependencies.aws-smithy-async]
 8597  10876   
path = "../aws-smithy-async"
 8598  10877   
version = "1.2.5"
 8599  10878   
 8600  10879   
[dependencies.aws-smithy-http]
 8601  10880   
path = "../aws-smithy-http"
 8602         -
version = "0.62.2"
       10881  +
version = "0.62.3"
 8603  10882   
 8604  10883   
[dependencies.aws-smithy-json]
 8605  10884   
path = "../aws-smithy-json"
 8606  10885   
version = "0.61.4"
 8607  10886   
 8608  10887   
[dependencies.aws-smithy-runtime]
 8609  10888   
path = "../aws-smithy-runtime"
 8610  10889   
features = ["client"]
 8611  10890   
version = "1.8.5"
 8612  10891   
 8613  10892   
[dependencies.aws-smithy-runtime-api]
 8614  10893   
path = "../aws-smithy-runtime-api"
 8615  10894   
features = ["client", "http-02x"]
 8616  10895   
version = "1.8.5"
 8617  10896   
 8618  10897   
[dependencies.aws-smithy-types]
 8619  10898   
path = "../aws-smithy-types"
 8620  10899   
version = "1.3.2"
 8621  10900   
 8622  10901   
[dependencies.aws-types]
 8623  10902   
path = "../aws-types"
 8624  10903   
version = "1.3.8"
 8625  10904   
 8626  10905   
[dependencies.bytes]
 8627  10906   
version = "1.4.0"
 8628  10907   
 8629  10908   
[dependencies.fastrand]
 8630  10909   
version = "2.0.0"
 8631  10910   
 8632  10911   
[dependencies.http]
 8633  10912   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 8634  10913   
index a884716..f3d8713 100644
 8635         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
       10914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 8636  10915   
@@ -1,61 +1,61 @@
 8637  10916   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8638  10917   
[package]
 8639  10918   
name = "aws-sdk-qldbsession"
 8640  10919   
version = "0.0.0-local"
 8641  10920   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8642  10921   
description = "AWS SDK for Amazon QLDB Session"
 8643  10922   
edition = "2021"
 8644  10923   
license = "Apache-2.0"
 8645  10924   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8646  10925   
rust-version = "1.86.0"
 8647  10926   
readme = "README.md"
 8648  10927   
[package.metadata.smithy]
 8649  10928   
codegen-version = "ci"
 8650  10929   
[package.metadata.docs.rs]
 8651  10930   
all-features = true
 8652  10931   
targets = ["x86_64-unknown-linux-gnu"]
 8653  10932   
[dependencies.aws-credential-types]
 8654  10933   
path = "../aws-credential-types"
 8655  10934   
version = "1.2.4"
 8656  10935   
 8657  10936   
[dependencies.aws-runtime]
 8658  10937   
path = "../aws-runtime"
 8659  10938   
version = "1.5.9"
 8660  10939   
 8661  10940   
[dependencies.aws-smithy-async]
 8662  10941   
path = "../aws-smithy-async"
 8663  10942   
version = "1.2.5"
 8664  10943   
 8665  10944   
[dependencies.aws-smithy-http]
 8666  10945   
path = "../aws-smithy-http"
 8667         -
version = "0.62.2"
       10946  +
version = "0.62.3"
 8668  10947   
 8669  10948   
[dependencies.aws-smithy-json]
 8670  10949   
path = "../aws-smithy-json"
 8671  10950   
version = "0.61.4"
 8672  10951   
 8673  10952   
[dependencies.aws-smithy-runtime]
 8674  10953   
path = "../aws-smithy-runtime"
 8675  10954   
features = ["client"]
 8676  10955   
version = "1.8.5"
 8677  10956   
 8678  10957   
[dependencies.aws-smithy-runtime-api]
 8679  10958   
path = "../aws-smithy-runtime-api"
 8680  10959   
features = ["client", "http-02x"]
 8681  10960   
version = "1.8.5"
 8682  10961   
 8683  10962   
[dependencies.aws-smithy-types]
 8684  10963   
path = "../aws-smithy-types"
 8685  10964   
version = "1.3.2"
 8686  10965   
 8687  10966   
[dependencies.aws-types]
 8688  10967   
path = "../aws-types"
 8689  10968   
version = "1.3.8"
 8690  10969   
 8691  10970   
[dependencies.bytes]
 8692  10971   
version = "1.4.0"
 8693  10972   
 8694  10973   
[dependencies.fastrand]
 8695  10974   
version = "2.0.0"
 8696  10975   
 8697  10976   
[dependencies.http]
 8698  10977   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 8699  10978   
index 32a7dc9..a2c752d 100644
 8700         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
       10979  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 8701  10980   
@@ -1,61 +1,61 @@
 8702  10981   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8703  10982   
[package]
 8704  10983   
name = "aws-sdk-route53"
 8705  10984   
version = "0.0.0-local"
 8706  10985   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8707  10986   
description = "AWS SDK for Amazon Route 53"
 8708  10987   
edition = "2021"
 8709  10988   
license = "Apache-2.0"
 8710  10989   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8711  10990   
rust-version = "1.86.0"
 8712  10991   
readme = "README.md"
 8713  10992   
[package.metadata.smithy]
 8714  10993   
codegen-version = "ci"
 8715  10994   
[package.metadata.docs.rs]
 8716  10995   
all-features = true
 8717  10996   
targets = ["x86_64-unknown-linux-gnu"]
 8718  10997   
[dependencies.aws-credential-types]
 8719  10998   
path = "../aws-credential-types"
 8720  10999   
version = "1.2.4"
 8721  11000   
 8722  11001   
[dependencies.aws-runtime]
 8723  11002   
path = "../aws-runtime"
 8724  11003   
version = "1.5.9"
 8725  11004   
 8726  11005   
[dependencies.aws-smithy-async]
 8727  11006   
path = "../aws-smithy-async"
 8728  11007   
version = "1.2.5"
 8729  11008   
 8730  11009   
[dependencies.aws-smithy-http]
 8731  11010   
path = "../aws-smithy-http"
 8732         -
version = "0.62.2"
       11011  +
version = "0.62.3"
 8733  11012   
 8734  11013   
[dependencies.aws-smithy-json]
 8735  11014   
path = "../aws-smithy-json"
 8736  11015   
version = "0.61.4"
 8737  11016   
 8738  11017   
[dependencies.aws-smithy-runtime]
 8739  11018   
path = "../aws-smithy-runtime"
 8740  11019   
features = ["client"]
 8741  11020   
version = "1.8.5"
 8742  11021   
 8743  11022   
[dependencies.aws-smithy-runtime-api]
 8744  11023   
path = "../aws-smithy-runtime-api"
 8745  11024   
features = ["client", "http-02x"]
 8746  11025   
version = "1.8.5"
 8747  11026   
 8748  11027   
[dependencies.aws-smithy-types]
 8749  11028   
path = "../aws-smithy-types"
 8750  11029   
version = "1.3.2"
 8751  11030   
 8752  11031   
[dependencies.aws-smithy-xml]
 8753  11032   
path = "../aws-smithy-xml"
 8754  11033   
version = "0.60.10"
 8755  11034   
 8756  11035   
[dependencies.aws-types]
 8757  11036   
path = "../aws-types"
 8758  11037   
version = "1.3.8"
 8759  11038   
 8760  11039   
[dependencies.fastrand]
 8761  11040   
version = "2.0.0"
 8762  11041   
 8763  11042   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 8764  11043   
index f65e261..2f6bec0 100644
 8765         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
       11044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 8766  11045   
@@ -1,75 +1,75 @@
 8767  11046   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8768  11047   
[package]
 8769  11048   
name = "aws-sdk-s3"
 8770  11049   
version = "0.0.0-local"
 8771  11050   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8772  11051   
description = "AWS SDK for Amazon Simple Storage Service"
 8773  11052   
edition = "2021"
 8774  11053   
license = "Apache-2.0"
 8775  11054   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8776  11055   
rust-version = "1.86.0"
 8777  11056   
readme = "README.md"
 8778  11057   
[package.metadata.smithy]
 8779  11058   
codegen-version = "ci"
 8780  11059   
[package.metadata.docs.rs]
 8781  11060   
all-features = true
 8782  11061   
targets = ["x86_64-unknown-linux-gnu"]
 8783  11062   
[dependencies.aws-credential-types]
 8784  11063   
path = "../aws-credential-types"
 8785  11064   
version = "1.2.4"
 8786  11065   
 8787  11066   
[dependencies.aws-runtime]
 8788  11067   
path = "../aws-runtime"
 8789  11068   
features = ["event-stream", "http-02x"]
 8790  11069   
version = "1.5.9"
 8791  11070   
 8792  11071   
[dependencies.aws-sigv4]
 8793  11072   
path = "../aws-sigv4"
 8794         -
version = "1.3.3"
       11073  +
version = "1.3.4"
 8795  11074   
 8796  11075   
[dependencies.aws-smithy-async]
 8797  11076   
path = "../aws-smithy-async"
 8798  11077   
version = "1.2.5"
 8799  11078   
 8800  11079   
[dependencies.aws-smithy-checksums]
 8801  11080   
path = "../aws-smithy-checksums"
 8802  11081   
version = "0.63.5"
 8803  11082   
 8804  11083   
[dependencies.aws-smithy-eventstream]
 8805  11084   
path = "../aws-smithy-eventstream"
 8806  11085   
version = "0.60.10"
 8807  11086   
 8808  11087   
[dependencies.aws-smithy-http]
 8809  11088   
path = "../aws-smithy-http"
 8810  11089   
features = ["event-stream"]
 8811         -
version = "0.62.2"
       11090  +
version = "0.62.3"
 8812  11091   
 8813  11092   
[dependencies.aws-smithy-json]
 8814  11093   
path = "../aws-smithy-json"
 8815  11094   
version = "0.61.4"
 8816  11095   
 8817  11096   
[dependencies.aws-smithy-runtime]
 8818  11097   
path = "../aws-smithy-runtime"
 8819  11098   
features = ["client"]
 8820  11099   
version = "1.8.5"
 8821  11100   
 8822  11101   
[dependencies.aws-smithy-runtime-api]
 8823  11102   
path = "../aws-smithy-runtime-api"
 8824  11103   
features = ["client", "http-02x"]
 8825  11104   
version = "1.8.5"
 8826  11105   
 8827  11106   
[dependencies.aws-smithy-types]
 8828  11107   
path = "../aws-smithy-types"
 8829  11108   
version = "1.3.2"
 8830  11109   
 8831  11110   
[dependencies.aws-smithy-xml]
 8832  11111   
path = "../aws-smithy-xml"
 8833  11112   
version = "0.60.10"
 8834  11113   
 8835  11114   
[dependencies.aws-types]
 8836  11115   
path = "../aws-types"
 8837  11116   
version = "1.3.8"
 8838  11117   
 8839  11118   
[dependencies.bytes]
 8840  11119   
version = "1.4.0"
 8841  11120   
 8842  11121   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 8843  11122   
index b4d1cdd..861c0cc 100644
 8844         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       11123  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 8845  11124   
@@ -1,61 +1,61 @@
 8846  11125   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8847  11126   
[package]
 8848  11127   
name = "aws-sdk-s3control"
 8849  11128   
version = "0.0.0-local"
 8850  11129   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8851  11130   
description = "AWS SDK for AWS S3 Control"
 8852  11131   
edition = "2021"
 8853  11132   
license = "Apache-2.0"
 8854  11133   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8855  11134   
rust-version = "1.86.0"
 8856  11135   
readme = "README.md"
 8857  11136   
[package.metadata.smithy]
 8858  11137   
codegen-version = "ci"
 8859  11138   
[package.metadata.docs.rs]
 8860  11139   
all-features = true
 8861  11140   
targets = ["x86_64-unknown-linux-gnu"]
 8862  11141   
[dependencies.aws-credential-types]
 8863  11142   
path = "../aws-credential-types"
 8864  11143   
version = "1.2.4"
 8865  11144   
 8866  11145   
[dependencies.aws-runtime]
 8867  11146   
path = "../aws-runtime"
 8868  11147   
version = "1.5.9"
 8869  11148   
 8870  11149   
[dependencies.aws-smithy-async]
 8871  11150   
path = "../aws-smithy-async"
 8872  11151   
version = "1.2.5"
 8873  11152   
 8874  11153   
[dependencies.aws-smithy-http]
 8875  11154   
path = "../aws-smithy-http"
 8876         -
version = "0.62.2"
       11155  +
version = "0.62.3"
 8877  11156   
 8878  11157   
[dependencies.aws-smithy-json]
 8879  11158   
path = "../aws-smithy-json"
 8880  11159   
version = "0.61.4"
 8881  11160   
 8882  11161   
[dependencies.aws-smithy-runtime]
 8883  11162   
path = "../aws-smithy-runtime"
 8884  11163   
features = ["client"]
 8885  11164   
version = "1.8.5"
 8886  11165   
 8887  11166   
[dependencies.aws-smithy-runtime-api]
 8888  11167   
path = "../aws-smithy-runtime-api"
 8889  11168   
features = ["client", "http-02x"]
 8890  11169   
version = "1.8.5"
 8891  11170   
 8892  11171   
[dependencies.aws-smithy-types]
 8893  11172   
path = "../aws-smithy-types"
 8894  11173   
version = "1.3.2"
 8895  11174   
 8896  11175   
[dependencies.aws-smithy-xml]
 8897  11176   
path = "../aws-smithy-xml"
 8898  11177   
version = "0.60.10"
 8899  11178   
 8900  11179   
[dependencies.aws-types]
 8901  11180   
path = "../aws-types"
 8902  11181   
version = "1.3.8"
 8903  11182   
 8904  11183   
[dependencies.fastrand]
 8905  11184   
version = "2.0.0"
 8906  11185   
 8907  11186   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 8908  11187   
index 2cde182..fc367f4 100644
 8909         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       11188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 8910  11189   
@@ -1,61 +1,61 @@
 8911  11190   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8912  11191   
[package]
 8913  11192   
name = "aws-sdk-sso"
 8914  11193   
version = "0.0.0-local"
 8915  11194   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8916  11195   
description = "AWS SDK for AWS Single Sign-On"
 8917  11196   
edition = "2021"
 8918  11197   
license = "Apache-2.0"
 8919  11198   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8920  11199   
rust-version = "1.86.0"
 8921  11200   
readme = "README.md"
 8922  11201   
[package.metadata.smithy]
 8923  11202   
codegen-version = "ci"
 8924  11203   
[package.metadata.docs.rs]
 8925  11204   
all-features = true
 8926  11205   
targets = ["x86_64-unknown-linux-gnu"]
 8927  11206   
[dependencies.aws-credential-types]
 8928  11207   
path = "../aws-credential-types"
 8929  11208   
version = "1.2.4"
 8930  11209   
 8931  11210   
[dependencies.aws-runtime]
 8932  11211   
path = "../aws-runtime"
 8933  11212   
version = "1.5.9"
 8934  11213   
 8935  11214   
[dependencies.aws-smithy-async]
 8936  11215   
path = "../aws-smithy-async"
 8937  11216   
version = "1.2.5"
 8938  11217   
 8939  11218   
[dependencies.aws-smithy-http]
 8940  11219   
path = "../aws-smithy-http"
 8941         -
version = "0.62.2"
       11220  +
version = "0.62.3"
 8942  11221   
 8943  11222   
[dependencies.aws-smithy-json]
 8944  11223   
path = "../aws-smithy-json"
 8945  11224   
version = "0.61.4"
 8946  11225   
 8947  11226   
[dependencies.aws-smithy-runtime]
 8948  11227   
path = "../aws-smithy-runtime"
 8949  11228   
features = ["client"]
 8950  11229   
version = "1.8.5"
 8951  11230   
 8952  11231   
[dependencies.aws-smithy-runtime-api]
 8953  11232   
path = "../aws-smithy-runtime-api"
 8954  11233   
features = ["client", "http-02x"]
 8955  11234   
version = "1.8.5"
 8956  11235   
 8957  11236   
[dependencies.aws-smithy-types]
 8958  11237   
path = "../aws-smithy-types"
 8959  11238   
version = "1.3.2"
 8960  11239   
 8961  11240   
[dependencies.aws-types]
 8962  11241   
path = "../aws-types"
 8963  11242   
version = "1.3.8"
 8964  11243   
 8965  11244   
[dependencies.bytes]
 8966  11245   
version = "1.4.0"
 8967  11246   
 8968  11247   
[dependencies.fastrand]
 8969  11248   
version = "2.0.0"
 8970  11249   
 8971  11250   
[dependencies.http]
 8972  11251   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 8973  11252   
index 7a34c16..588d0bd 100644
 8974         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       11253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 8975  11254   
@@ -1,61 +1,61 @@
 8976  11255   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8977  11256   
[package]
 8978  11257   
name = "aws-sdk-ssooidc"
 8979  11258   
version = "0.0.0-local"
 8980  11259   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8981  11260   
description = "AWS SDK for AWS SSO OIDC"
 8982  11261   
edition = "2021"
 8983  11262   
license = "Apache-2.0"
 8984  11263   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8985  11264   
rust-version = "1.86.0"
 8986  11265   
readme = "README.md"
 8987  11266   
[package.metadata.smithy]
 8988  11267   
codegen-version = "ci"
 8989  11268   
[package.metadata.docs.rs]
 8990  11269   
all-features = true
 8991  11270   
targets = ["x86_64-unknown-linux-gnu"]
 8992  11271   
[dependencies.aws-credential-types]
 8993  11272   
path = "../aws-credential-types"
 8994  11273   
version = "1.2.4"
 8995  11274   
 8996  11275   
[dependencies.aws-runtime]
 8997  11276   
path = "../aws-runtime"
 8998  11277   
version = "1.5.9"
 8999  11278   
 9000  11279   
[dependencies.aws-smithy-async]
 9001  11280   
path = "../aws-smithy-async"
 9002  11281   
version = "1.2.5"
 9003  11282   
 9004  11283   
[dependencies.aws-smithy-http]
 9005  11284   
path = "../aws-smithy-http"
 9006         -
version = "0.62.2"
       11285  +
version = "0.62.3"
 9007  11286   
 9008  11287   
[dependencies.aws-smithy-json]
 9009  11288   
path = "../aws-smithy-json"
 9010  11289   
version = "0.61.4"
 9011  11290   
 9012  11291   
[dependencies.aws-smithy-runtime]
 9013  11292   
path = "../aws-smithy-runtime"
 9014  11293   
features = ["client"]
 9015  11294   
version = "1.8.5"
 9016  11295   
 9017  11296   
[dependencies.aws-smithy-runtime-api]
 9018  11297   
path = "../aws-smithy-runtime-api"
 9019  11298   
features = ["client", "http-02x"]
 9020  11299   
version = "1.8.5"
 9021  11300   
 9022  11301   
[dependencies.aws-smithy-types]
 9023  11302   
path = "../aws-smithy-types"
 9024  11303   
version = "1.3.2"
 9025  11304   
 9026  11305   
[dependencies.aws-types]
 9027  11306   
path = "../aws-types"
 9028  11307   
version = "1.3.8"
 9029  11308   
 9030  11309   
[dependencies.bytes]
 9031  11310   
version = "1.4.0"
 9032  11311   
 9033  11312   
[dependencies.fastrand]
 9034  11313   
version = "2.0.0"
 9035  11314   
 9036  11315   
[dependencies.http]
 9037  11316   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 9038  11317   
index 895dfb3..f2ce34e 100644
 9039         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       11318  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 9040  11319   
@@ -1,61 +1,61 @@
 9041  11320   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9042  11321   
[package]
 9043  11322   
name = "aws-sdk-sts"
 9044  11323   
version = "0.0.0-local"
 9045  11324   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9046  11325   
description = "AWS SDK for AWS Security Token Service"
 9047  11326   
edition = "2021"
 9048  11327   
license = "Apache-2.0"
 9049  11328   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9050  11329   
rust-version = "1.86.0"
 9051  11330   
readme = "README.md"
 9052  11331   
[package.metadata.smithy]
 9053  11332   
codegen-version = "ci"
 9054  11333   
[package.metadata.docs.rs]
 9055  11334   
all-features = true
 9056  11335   
targets = ["x86_64-unknown-linux-gnu"]
 9057  11336   
[dependencies.aws-credential-types]
 9058  11337   
path = "../aws-credential-types"
 9059  11338   
version = "1.2.4"
 9060  11339   
 9061  11340   
[dependencies.aws-runtime]
 9062  11341   
path = "../aws-runtime"
 9063  11342   
version = "1.5.9"
 9064  11343   
 9065  11344   
[dependencies.aws-smithy-async]
 9066  11345   
path = "../aws-smithy-async"
 9067  11346   
version = "1.2.5"
 9068  11347   
 9069  11348   
[dependencies.aws-smithy-http]
 9070  11349   
path = "../aws-smithy-http"
 9071         -
version = "0.62.2"
       11350  +
version = "0.62.3"
 9072  11351   
 9073  11352   
[dependencies.aws-smithy-json]
 9074  11353   
path = "../aws-smithy-json"
 9075  11354   
version = "0.61.4"
 9076  11355   
 9077  11356   
[dependencies.aws-smithy-query]
 9078  11357   
path = "../aws-smithy-query"
 9079  11358   
version = "0.60.7"
 9080  11359   
 9081  11360   
[dependencies.aws-smithy-runtime]
 9082  11361   
path = "../aws-smithy-runtime"
 9083  11362   
features = ["client"]
 9084  11363   
version = "1.8.5"
 9085  11364   
 9086  11365   
[dependencies.aws-smithy-runtime-api]
 9087  11366   
path = "../aws-smithy-runtime-api"
 9088  11367   
features = ["client", "http-02x"]
 9089  11368   
version = "1.8.5"
 9090  11369   
 9091  11370   
[dependencies.aws-smithy-types]
 9092  11371   
path = "../aws-smithy-types"
 9093  11372   
version = "1.3.2"
 9094  11373   
 9095  11374   
[dependencies.aws-smithy-xml]
 9096  11375   
path = "../aws-smithy-xml"
 9097  11376   
version = "0.60.10"
 9098  11377   
 9099  11378   
[dependencies.aws-types]
 9100  11379   
path = "../aws-types"
 9101  11380   
version = "1.3.8"
 9102  11381   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 9103  11382   
index d556561..91178b6 100644
 9104         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       11383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 9105  11384   
@@ -1,61 +1,61 @@
 9106  11385   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9107  11386   
[package]
 9108  11387   
name = "aws-sdk-timestreamquery"
 9109  11388   
version = "0.0.0-local"
 9110  11389   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9111  11390   
description = "AWS SDK for Amazon Timestream Query"
 9112  11391   
edition = "2021"
 9113  11392   
license = "Apache-2.0"
 9114  11393   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9115  11394   
rust-version = "1.86.0"
 9116  11395   
readme = "README.md"
 9117  11396   
[package.metadata.smithy]
 9118  11397   
codegen-version = "ci"
 9119  11398   
[package.metadata.docs.rs]
 9120  11399   
all-features = true
 9121  11400   
targets = ["x86_64-unknown-linux-gnu"]
 9122  11401   
[dependencies.aws-credential-types]
 9123  11402   
path = "../aws-credential-types"
 9124  11403   
version = "1.2.4"
 9125  11404   
 9126  11405   
[dependencies.aws-runtime]
 9127  11406   
path = "../aws-runtime"
 9128  11407   
version = "1.5.9"
 9129  11408   
 9130  11409   
[dependencies.aws-smithy-async]
 9131  11410   
path = "../aws-smithy-async"
 9132  11411   
version = "1.2.5"
 9133  11412   
 9134  11413   
[dependencies.aws-smithy-http]
 9135  11414   
path = "../aws-smithy-http"
 9136         -
version = "0.62.2"
       11415  +
version = "0.62.3"
 9137  11416   
 9138  11417   
[dependencies.aws-smithy-json]
 9139  11418   
path = "../aws-smithy-json"
 9140  11419   
version = "0.61.4"
 9141  11420   
 9142  11421   
[dependencies.aws-smithy-runtime]
 9143  11422   
path = "../aws-smithy-runtime"
 9144  11423   
features = ["client"]
 9145  11424   
version = "1.8.5"
 9146  11425   
 9147  11426   
[dependencies.aws-smithy-runtime-api]
 9148  11427   
path = "../aws-smithy-runtime-api"
 9149  11428   
features = ["client", "http-02x"]
 9150  11429   
version = "1.8.5"
 9151  11430   
 9152  11431   
[dependencies.aws-smithy-types]
 9153  11432   
path = "../aws-smithy-types"
 9154  11433   
version = "1.3.2"
 9155  11434   
 9156  11435   
[dependencies.aws-types]
 9157  11436   
path = "../aws-types"
 9158  11437   
version = "1.3.8"
 9159  11438   
 9160  11439   
[dependencies.bytes]
 9161  11440   
version = "1.4.0"
 9162  11441   
 9163  11442   
[dependencies.fastrand]
 9164  11443   
version = "2.0.0"
 9165  11444   
 9166  11445   
[dependencies.http]
 9167  11446   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 9168  11447   
index 0c56e4c..95731e3 100644
 9169         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       11448  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 9170  11449   
@@ -1,61 +1,61 @@
 9171  11450   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9172  11451   
[package]
 9173  11452   
name = "aws-sdk-timestreamwrite"
 9174  11453   
version = "0.0.0-local"
 9175  11454   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9176  11455   
description = "AWS SDK for Amazon Timestream Write"
 9177  11456   
edition = "2021"
 9178  11457   
license = "Apache-2.0"
 9179  11458   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9180  11459   
rust-version = "1.86.0"
 9181  11460   
readme = "README.md"
 9182  11461   
[package.metadata.smithy]
 9183  11462   
codegen-version = "ci"
 9184  11463   
[package.metadata.docs.rs]
 9185  11464   
all-features = true
 9186  11465   
targets = ["x86_64-unknown-linux-gnu"]
 9187  11466   
[dependencies.aws-credential-types]
 9188  11467   
path = "../aws-credential-types"
 9189  11468   
version = "1.2.4"
 9190  11469   
 9191  11470   
[dependencies.aws-runtime]
 9192  11471   
path = "../aws-runtime"
 9193  11472   
version = "1.5.9"
 9194  11473   
 9195  11474   
[dependencies.aws-smithy-async]
 9196  11475   
path = "../aws-smithy-async"
 9197  11476   
version = "1.2.5"
 9198  11477   
 9199  11478   
[dependencies.aws-smithy-http]
 9200  11479   
path = "../aws-smithy-http"
 9201         -
version = "0.62.2"
       11480  +
version = "0.62.3"
 9202  11481   
 9203  11482   
[dependencies.aws-smithy-json]
 9204  11483   
path = "../aws-smithy-json"
 9205  11484   
version = "0.61.4"
 9206  11485   
 9207  11486   
[dependencies.aws-smithy-runtime]
 9208  11487   
path = "../aws-smithy-runtime"
 9209  11488   
features = ["client"]
 9210  11489   
version = "1.8.5"
 9211  11490   
 9212  11491   
[dependencies.aws-smithy-runtime-api]
 9213  11492   
path = "../aws-smithy-runtime-api"
 9214  11493   
features = ["client", "http-02x"]
 9215  11494   
version = "1.8.5"
 9216  11495   
 9217  11496   
[dependencies.aws-smithy-types]
 9218  11497   
path = "../aws-smithy-types"
 9219  11498   
version = "1.3.2"
 9220  11499   
 9221  11500   
[dependencies.aws-types]
 9222  11501   
path = "../aws-types"
 9223  11502   
version = "1.3.8"
 9224  11503   
 9225  11504   
[dependencies.bytes]
 9226  11505   
version = "1.4.0"
 9227  11506   
 9228  11507   
[dependencies.fastrand]
 9229  11508   
version = "2.0.0"
 9230  11509   
 9231  11510   
[dependencies.http]
 9232  11511   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 9233  11512   
index 5b35037..9fb220a 100644
 9234         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       11513  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 9235  11514   
@@ -1,71 +1,71 @@
 9236  11515   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9237  11516   
[package]
 9238  11517   
name = "aws-sdk-transcribestreaming"
 9239  11518   
version = "0.0.0-local"
 9240  11519   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9241  11520   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 9242  11521   
edition = "2021"
 9243  11522   
license = "Apache-2.0"
 9244  11523   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9245  11524   
rust-version = "1.86.0"
 9246  11525   
readme = "README.md"
 9247  11526   
[package.metadata.smithy]
 9248  11527   
codegen-version = "ci"
 9249  11528   
[package.metadata.docs.rs]
 9250  11529   
all-features = true
 9251  11530   
targets = ["x86_64-unknown-linux-gnu"]
 9252  11531   
[dependencies.aws-credential-types]
 9253  11532   
path = "../aws-credential-types"
 9254  11533   
version = "1.2.4"
 9255  11534   
 9256  11535   
[dependencies.aws-runtime]
 9257  11536   
path = "../aws-runtime"
 9258  11537   
features = ["event-stream"]
 9259  11538   
version = "1.5.9"
 9260  11539   
 9261  11540   
[dependencies.aws-sigv4]
 9262  11541   
path = "../aws-sigv4"
 9263         -
version = "1.3.3"
       11542  +
version = "1.3.4"
 9264  11543   
 9265  11544   
[dependencies.aws-smithy-async]
 9266  11545   
path = "../aws-smithy-async"
 9267  11546   
version = "1.2.5"
 9268  11547   
 9269  11548   
[dependencies.aws-smithy-eventstream]
 9270  11549   
path = "../aws-smithy-eventstream"
 9271  11550   
version = "0.60.10"
 9272  11551   
 9273  11552   
[dependencies.aws-smithy-http]
 9274  11553   
path = "../aws-smithy-http"
 9275  11554   
features = ["event-stream"]
 9276         -
version = "0.62.2"
       11555  +
version = "0.62.3"
 9277  11556   
 9278  11557   
[dependencies.aws-smithy-json]
 9279  11558   
path = "../aws-smithy-json"
 9280  11559   
version = "0.61.4"
 9281  11560   
 9282  11561   
[dependencies.aws-smithy-runtime]
 9283  11562   
path = "../aws-smithy-runtime"
 9284  11563   
features = ["client"]
 9285  11564   
version = "1.8.5"
 9286  11565