AWS SDK

AWS SDK

rev. 628eeeeeed390f5efdbfe607c18848c033debd3e (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-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 +8209,10488 @@
    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    360   
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
  973    361   
similarity index 100%
  974    362   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
  975    363   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  976    364   
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
  977    365   
new file mode 100644
  978    366   
index 0000000..7fc5d7a
  979         -
-- /dev/null
         367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  980    368   
@@ -0,0 +1 @@
         369  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
  981    370   
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
  982    371   
new file mode 100644
  983    372   
index 0000000..36a1205
  984         -
-- /dev/null
         373  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
  985    374   
@@ -0,0 +1,8 @@
         375  +
GET / HTTP/1.1
         376  +
Host:example.amazonaws.com
         377  +
My-Header1:value2
         378  +
My-Header1:value2
         379  +
My-Header1:value1
         380  +
X-Amz-Date:20150830T123600Z
         381  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         382  +
  986    383   
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
  987    384   
similarity index 100%
  988    385   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
  989    386   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
  990    387   
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
  991    388   
new file mode 100644
  992    389   
index 0000000..f9f4190
  993         -
-- /dev/null
         390  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
  994    391   
@@ -0,0 +1,8 @@
         392  +
GET
         393  +
/
         394  +
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
         395  +
host:example.amazonaws.com
         396  +
my-header1:value2,value2,value1
         397  +
         398  +
host;my-header1
         399  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  995    400   
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
  996    401   
new file mode 100644
  997    402   
index 0000000..5d0d87f
  998         -
-- /dev/null
         403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
  999    404   
@@ -0,0 +1 @@
         405  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
 1000    406   
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
 1001    407   
new file mode 100644
 1002    408   
index 0000000..c1dfcf4
 1003         -
-- /dev/null
         409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1004    410   
@@ -0,0 +1,6 @@
         411  +
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
         412  +
Host:example.amazonaws.com
         413  +
My-Header1:value2
         414  +
My-Header1:value2
         415  +
My-Header1:value1
         416  +
 1005    417   
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
 1006    418   
similarity index 53%
 1007    419   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
 1008    420   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1009    421   
index 0a3350a..077c1bb 100644
 1010         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1011    423   
@@ -1,4 +1,4 @@
 1012    424   
AWS4-HMAC-SHA256
 1013    425   
20150830T123600Z
 1014    426   
20150830/us-east-1/service/aws4_request
 1015         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         427  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1016    428   
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
 1017    429   
similarity index 100%
 1018    430   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1019    431   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1020    432   
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
 1021    433   
similarity index 99%
 1022    434   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1023    435   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1024    436   
index 45771c7..0468d80 100644
 1025    437   
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
 1026    438   
similarity index 82%
 1027    439   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1028    440   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1029    441   
index 721a39f..8cb5476 100644
 1030         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1031    443   
@@ -1,9 +1,9 @@
 1032    444   
GET
 1033    445   
/
 1034    446   
 1035    447   
host:example.amazonaws.com
 1036         -
my-header1:value1,value2,value3
         448  +
my-header1:value1 value2 value3
 1037    449   
x-amz-date:20150830T123600Z
 1038    450   
 1039    451   
host;my-header1;x-amz-date
 1040    452   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1041    453   
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
 1042    454   
new file mode 100644
 1043    455   
index 0000000..e6ff7a9
 1044         -
-- /dev/null
         456  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1045    457   
@@ -0,0 +1 @@
         458  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1046    459   
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
 1047    460   
new file mode 100644
 1048    461   
index 0000000..b5ef6a0
 1049         -
-- /dev/null
         462  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1050    463   
@@ -0,0 +1,8 @@
         464  +
GET / HTTP/1.1
         465  +
Host:example.amazonaws.com
         466  +
My-Header1:value1
         467  +
  value2
         468  +
     value3
         469  +
X-Amz-Date:20150830T123600Z
         470  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         471  +
 1051    472   
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
 1052    473   
similarity index 53%
 1053    474   
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
 1054    475   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1055    476   
index fd43a41..97c7430 100644
 1056         -
-- 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
         477  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1057    478   
@@ -1,4 +1,4 @@
 1058    479   
AWS4-HMAC-SHA256
 1059    480   
20150830T123600Z
 1060    481   
20150830/us-east-1/service/aws4_request
 1061         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         482  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1062    483   
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
 1063    484   
new file mode 100644
 1064    485   
index 0000000..aac46de
 1065         -
-- /dev/null
         486  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1066    487   
@@ -0,0 +1,8 @@
         488  +
GET
         489  +
/
         490  +
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
         491  +
host:example.amazonaws.com
         492  +
my-header1:value1 value2 value3
         493  +
         494  +
host;my-header1
         495  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1067    496   
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
 1068    497   
new file mode 100644
 1069    498   
index 0000000..205732d
 1070         -
-- /dev/null
         499  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1071    500   
@@ -0,0 +1 @@
         501  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1072    502   
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
 1073    503   
new file mode 100644
 1074    504   
index 0000000..a891b87
 1075         -
-- /dev/null
         505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1076    506   
@@ -0,0 +1,6 @@
         507  +
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
         508  +
Host:example.amazonaws.com
         509  +
My-Header1:value1
         510  +
  value2
         511  +
     value3
         512  +
 1077    513   
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
 1078    514   
similarity index 53%
 1079    515   
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
 1080    516   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1081    517   
index 90e66b8..ec3fe45 100644
 1082         -
-- 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
         518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1083    519   
@@ -1,4 +1,4 @@
 1084    520   
AWS4-HMAC-SHA256
 1085    521   
20150830T123600Z
 1086    522   
20150830/us-east-1/service/aws4_request
 1087         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         523  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1088    524   
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
 1089    525   
similarity index 75%
 1090    526   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1091    527   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1092    528   
index 7caa6ac..b5026cd 100644
 1093         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         529  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1094    530   
@@ -1,6 +1,5 @@
 1095    531   
GET / HTTP/1.1
 1096    532   
Host:example.amazonaws.com
 1097    533   
My-Header1:value1
 1098    534   
  value2
 1099    535   
     value3
 1100         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1101    536   
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
 1102    537   
similarity index 99%
 1103    538   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1104    539   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1105    540   
index 45771c7..0468d80 100644
 1106    541   
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
 1107    542   
similarity index 100%
 1108    543   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1109    544   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1110    545   
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
 1111    546   
new file mode 100644
 1112    547   
index 0000000..8ef0494
 1113         -
-- /dev/null
         548  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1114    549   
@@ -0,0 +1 @@
         550  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1115    551   
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
 1116    552   
new file mode 100644
 1117    553   
index 0000000..b786dc9
 1118         -
-- /dev/null
         554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1119    555   
@@ -0,0 +1,9 @@
         556  +
GET / HTTP/1.1
         557  +
Host:example.amazonaws.com
         558  +
My-Header1:value4
         559  +
My-Header1:value1
         560  +
My-Header1:value3
         561  +
My-Header1:value2
         562  +
X-Amz-Date:20150830T123600Z
         563  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         564  +
 1120    565   
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
 1121    566   
similarity index 100%
 1122    567   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1123    568   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1124    569   
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
 1125    570   
new file mode 100644
 1126    571   
index 0000000..a211cc5
 1127         -
-- /dev/null
         572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1128    573   
@@ -0,0 +1,8 @@
         574  +
GET
         575  +
/
         576  +
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
         577  +
host:example.amazonaws.com
         578  +
my-header1:value4,value1,value3,value2
         579  +
         580  +
host;my-header1
         581  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1129    582   
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
 1130    583   
new file mode 100644
 1131    584   
index 0000000..417b0fa
 1132         -
-- /dev/null
         585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1133    586   
@@ -0,0 +1 @@
         587  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1134    588   
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
 1135    589   
new file mode 100644
 1136    590   
index 0000000..b615e5d
 1137         -
-- /dev/null
         591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1138    592   
@@ -0,0 +1,7 @@
         593  +
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
         594  +
Host:example.amazonaws.com
         595  +
My-Header1:value4
         596  +
My-Header1:value1
         597  +
My-Header1:value3
         598  +
My-Header1:value2
         599  +
 1139    600   
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
 1140    601   
similarity index 53%
 1141    602   
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
 1142    603   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1143    604   
index f7e615e..dcaaa1b 100644
 1144         -
-- 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
         605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1145    606   
@@ -1,4 +1,4 @@
 1146    607   
AWS4-HMAC-SHA256
 1147    608   
20150830T123600Z
 1148    609   
20150830/us-east-1/service/aws4_request
 1149         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         610  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1150    611   
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
 1151    612   
similarity index 100%
 1152    613   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1153    614   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1154    615   
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
 1155    616   
similarity index 99%
 1156    617   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1157    618   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1158    619   
index 45771c7..0468d80 100644
 1159    620   
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
 1160    621   
similarity index 100%
 1161    622   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1162    623   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1163    624   
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
 1164    625   
new file mode 100644
 1165    626   
index 0000000..36081a9
 1166         -
-- /dev/null
         627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1167    628   
@@ -0,0 +1 @@
         629  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1168    630   
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
 1169    631   
new file mode 100644
 1170    632   
index 0000000..6331d16
 1171         -
-- /dev/null
         633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1172    634   
@@ -0,0 +1,7 @@
         635  +
GET / HTTP/1.1
         636  +
Host:example.amazonaws.com
         637  +
My-Header1: value1
         638  +
My-Header2: "a   b   c"
         639  +
X-Amz-Date:20150830T123600Z
         640  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         641  +
 1173    642   
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
 1174    643   
similarity index 100%
 1175    644   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1176    645   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1177    646   
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
 1178    647   
new file mode 100644
 1179    648   
index 0000000..125c1f9
 1180         -
-- /dev/null
         649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1181    650   
@@ -0,0 +1,9 @@
         651  +
GET
         652  +
/
         653  +
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
         654  +
host:example.amazonaws.com
         655  +
my-header1:value1
         656  +
my-header2:"a b c"
         657  +
         658  +
host;my-header1;my-header2
         659  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1182    660   
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
 1183    661   
new file mode 100644
 1184    662   
index 0000000..17007a8
 1185         -
-- /dev/null
         663  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1186    664   
@@ -0,0 +1 @@
         665  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1187    666   
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
 1188    667   
new file mode 100644
 1189    668   
index 0000000..e519fd9
 1190         -
-- /dev/null
         669  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1191    670   
@@ -0,0 +1,5 @@
         671  +
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
         672  +
Host:example.amazonaws.com
         673  +
My-Header1: value1
         674  +
My-Header2: "a   b   c"
         675  +
 1192    676   
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
 1193    677   
new file mode 100644
 1194    678   
index 0000000..6b4b781
 1195         -
-- /dev/null
         679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1196    680   
@@ -0,0 +1,4 @@
         681  +
AWS4-HMAC-SHA256
         682  +
20150830T123600Z
         683  +
20150830/us-east-1/service/aws4_request
         684  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1197    685   
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
 1198    686   
similarity index 100%
 1199    687   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1200    688   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1201    689   
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
 1202    690   
new file mode 100644
 1203    691   
index 0000000..0468d80
 1204         -
-- /dev/null
         692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1205    693   
@@ -0,0 +1,12 @@
         694  +
{
         695  +
    "credentials": {
         696  +
        "access_key_id": "AKIDEXAMPLE",
         697  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         698  +
    },
         699  +
    "expiration_in_seconds": 3600,
         700  +
    "normalize": true,
         701  +
    "region": "us-east-1",
         702  +
    "service": "service",
         703  +
    "sign_body": false,
         704  +
    "timestamp": "2015-08-30T12:36:00Z"
         705  +
}
              \
 No newline at end of file
 1206    706   
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
 1207    707   
similarity index 100%
 1208    708   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1209    709   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1210    710   
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
 1211    711   
new file mode 100644
 1212    712   
index 0000000..87f295f
 1213         -
-- /dev/null
         713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1214    714   
@@ -0,0 +1 @@
         715  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1215    716   
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
 1216    717   
new file mode 100644
 1217    718   
index 0000000..0de8327
 1218         -
-- /dev/null
         719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1219    720   
@@ -0,0 +1,5 @@
         721  +
GET /example/.. HTTP/1.1
         722  +
Host:example.amazonaws.com
         723  +
X-Amz-Date:20150830T123600Z
         724  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         725  +
 1220    726   
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
 1221    727   
similarity index 100%
 1222    728   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1223    729   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1224    730   
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
 1225    731   
new file mode 100644
 1226    732   
index 0000000..fb2420d
 1227         -
-- /dev/null
         733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1228    734   
@@ -0,0 +1,7 @@
         735  +
GET
         736  +
/
         737  +
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
         738  +
host:example.amazonaws.com
         739  +
         740  +
host
         741  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1229    742   
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
 1230    743   
new file mode 100644
 1231    744   
index 0000000..da5c905
 1232         -
-- /dev/null
         745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1233    746   
@@ -0,0 +1 @@
         747  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1234    748   
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
 1235    749   
new file mode 100644
 1236    750   
index 0000000..4329c98
 1237         -
-- /dev/null
         751  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1238    752   
@@ -0,0 +1,3 @@
         753  +
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
         754  +
Host:example.amazonaws.com
         755  +
 1239    756   
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
 1240    757   
new file mode 100644
 1241    758   
index 0000000..d837e67
 1242         -
-- /dev/null
         759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1243    760   
@@ -0,0 +1,4 @@
         761  +
AWS4-HMAC-SHA256
         762  +
20150830T123600Z
         763  +
20150830/us-east-1/service/aws4_request
         764  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1244    765   
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
 1245    766   
similarity index 100%
 1246    767   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1247    768   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1248    769   
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
 1249    770   
new file mode 100644
 1250    771   
index 0000000..0468d80
 1251         -
-- /dev/null
         772  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1252    773   
@@ -0,0 +1,12 @@
         774  +
{
         775  +
    "credentials": {
         776  +
        "access_key_id": "AKIDEXAMPLE",
         777  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         778  +
    },
         779  +
    "expiration_in_seconds": 3600,
         780  +
    "normalize": true,
         781  +
    "region": "us-east-1",
         782  +
    "service": "service",
         783  +
    "sign_body": false,
         784  +
    "timestamp": "2015-08-30T12:36:00Z"
         785  +
}
              \
 No newline at end of file
 1253    786   
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
 1254    787   
similarity index 100%
 1255    788   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1256    789   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1257    790   
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
 1258    791   
new file mode 100644
 1259    792   
index 0000000..87f295f
 1260         -
-- /dev/null
         793  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1261    794   
@@ -0,0 +1 @@
         795  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1262    796   
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
 1263    797   
new file mode 100644
 1264    798   
index 0000000..f9b3815
 1265         -
-- /dev/null
         799  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1266    800   
@@ -0,0 +1,5 @@
         801  +
GET /example1/example2/../.. HTTP/1.1
         802  +
Host:example.amazonaws.com
         803  +
X-Amz-Date:20150830T123600Z
         804  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         805  +
 1267    806   
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
 1268    807   
similarity index 100%
 1269    808   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1270    809   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1271    810   
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
 1272    811   
new file mode 100644
 1273    812   
index 0000000..fb2420d
 1274         -
-- /dev/null
         813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1275    814   
@@ -0,0 +1,7 @@
         815  +
GET
         816  +
/
         817  +
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
         818  +
host:example.amazonaws.com
         819  +
         820  +
host
         821  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1276    822   
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
 1277    823   
new file mode 100644
 1278    824   
index 0000000..da5c905
 1279         -
-- /dev/null
         825  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1280    826   
@@ -0,0 +1 @@
         827  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1281    828   
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
 1282    829   
new file mode 100644
 1283    830   
index 0000000..b2988b7
 1284         -
-- /dev/null
         831  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1285    832   
@@ -0,0 +1,3 @@
         833  +
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
         834  +
Host:example.amazonaws.com
         835  +
 1286    836   
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
 1287    837   
new file mode 100644
 1288    838   
index 0000000..d837e67
 1289         -
-- /dev/null
         839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1290    840   
@@ -0,0 +1,4 @@
         841  +
AWS4-HMAC-SHA256
         842  +
20150830T123600Z
         843  +
20150830/us-east-1/service/aws4_request
         844  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1291    845   
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
 1292    846   
similarity index 100%
 1293    847   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1294    848   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1295    849   
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
 1296    850   
similarity index 99%
 1297    851   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1298    852   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1299    853   
index afe367b..7bee5c7 100644
 1300    854   
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
 1301    855   
similarity index 82%
 1302    856   
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
 1303    857   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1304    858   
index 36c3cdf..6919c44 100644
 1305         -
-- 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
         859  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1306    860   
@@ -1,8 +1,8 @@
 1307    861   
GET
 1308         -
/
 1309         -
Param1=Value1&Param1=value2
         862  +
/example1/example2/../..
         863  +
 1310    864   
host:example.amazonaws.com
 1311    865   
x-amz-date:20150830T123600Z
 1312    866   
 1313    867   
host;x-amz-date
 1314    868   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1315    869   
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
 1316    870   
new file mode 100644
 1317    871   
index 0000000..4092d83
 1318         -
-- /dev/null
         872  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1319    873   
@@ -0,0 +1 @@
         874  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1320    875   
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
 1321    876   
new file mode 100644
 1322    877   
index 0000000..e731b35
 1323         -
-- /dev/null
         878  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1324    879   
@@ -0,0 +1,5 @@
         880  +
GET /example1/example2/../.. HTTP/1.1
         881  +
Host:example.amazonaws.com
         882  +
X-Amz-Date:20150830T123600Z
         883  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         884  +
 1325    885   
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
 1326    886   
new file mode 100644
 1327    887   
index 0000000..4f45752
 1328         -
-- /dev/null
         888  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1329    889   
@@ -0,0 +1,4 @@
         890  +
AWS4-HMAC-SHA256
         891  +
20150830T123600Z
         892  +
20150830/us-east-1/service/aws4_request
         893  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1330    894   
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
 1331    895   
new file mode 100644
 1332    896   
index 0000000..e1fb07d
 1333         -
-- /dev/null
         897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1334    898   
@@ -0,0 +1,7 @@
         899  +
GET
         900  +
/example1/example2/../..
         901  +
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
         902  +
host:example.amazonaws.com
         903  +
         904  +
host
         905  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1335    906   
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
 1336    907   
new file mode 100644
 1337    908   
index 0000000..8ac31d7
 1338         -
-- /dev/null
         909  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1339    910   
@@ -0,0 +1 @@
         911  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1340    912   
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
 1341    913   
new file mode 100644
 1342    914   
index 0000000..ac074f9
 1343         -
-- /dev/null
         915  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1344    916   
@@ -0,0 +1,3 @@
         917  +
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
         918  +
Host:example.amazonaws.com
         919  +
 1345    920   
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
 1346    921   
new file mode 100644
 1347    922   
index 0000000..8dcb6ff
 1348         -
-- /dev/null
         923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1349    924   
@@ -0,0 +1,4 @@
         925  +
AWS4-HMAC-SHA256
         926  +
20150830T123600Z
         927  +
20150830/us-east-1/service/aws4_request
         928  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1350    929   
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
 1351    930   
similarity index 100%
 1352    931   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1353    932   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1354    933   
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
 1355    934   
similarity index 99%
 1356    935   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1357    936   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1358    937   
index afe367b..7bee5c7 100644
 1359    938   
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
 1360    939   
similarity index 82%
 1361    940   
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
 1362    941   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1363    942   
index 26898eb..f640bc2 100644
 1364         -
-- 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
         943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1365    944   
@@ -1,8 +1,8 @@
 1366    945   
GET
 1367         -
/
 1368         -
Param1=value1&Param1=value2
         946  +
/example/..
         947  +
 1369    948   
host:example.amazonaws.com
 1370    949   
x-amz-date:20150830T123600Z
 1371    950   
 1372    951   
host;x-amz-date
 1373    952   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1374    953   
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
 1375    954   
new file mode 100644
 1376    955   
index 0000000..d957303
 1377         -
-- /dev/null
         956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1378    957   
@@ -0,0 +1 @@
         958  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1379    959   
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
 1380    960   
new file mode 100644
 1381    961   
index 0000000..4f42ffc
 1382         -
-- /dev/null
         962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1383    963   
@@ -0,0 +1,5 @@
         964  +
GET /example/.. HTTP/1.1
         965  +
Host:example.amazonaws.com
         966  +
X-Amz-Date:20150830T123600Z
         967  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
         968  +
 1384    969   
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
 1385    970   
new file mode 100644
 1386    971   
index 0000000..ca54bda
 1387         -
-- /dev/null
         972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1388    973   
@@ -0,0 +1,4 @@
         974  +
AWS4-HMAC-SHA256
         975  +
20150830T123600Z
         976  +
20150830/us-east-1/service/aws4_request
         977  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1389    978   
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
 1390    979   
new file mode 100644
 1391    980   
index 0000000..dc80036
 1392         -
-- /dev/null
         981  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1393    982   
@@ -0,0 +1,7 @@
         983  +
GET
         984  +
/example/..
         985  +
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
         986  +
host:example.amazonaws.com
         987  +
         988  +
host
         989  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1394    990   
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
 1395    991   
new file mode 100644
 1396    992   
index 0000000..dfa0437
 1397         -
-- /dev/null
         993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1398    994   
@@ -0,0 +1 @@
         995  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1399    996   
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
 1400    997   
new file mode 100644
 1401    998   
index 0000000..98367b1
 1402         -
-- /dev/null
         999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1403   1000   
@@ -0,0 +1,3 @@
        1001  +
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
        1002  +
Host:example.amazonaws.com
        1003  +
 1404   1004   
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
 1405   1005   
new file mode 100644
 1406   1006   
index 0000000..f65dd66
 1407         -
-- /dev/null
        1007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1408   1008   
@@ -0,0 +1,4 @@
        1009  +
AWS4-HMAC-SHA256
        1010  +
20150830T123600Z
        1011  +
20150830/us-east-1/service/aws4_request
        1012  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1409   1013   
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
 1410   1014   
similarity index 100%
 1411   1015   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1412   1016   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1413   1017   
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
 1414   1018   
new file mode 100644
 1415   1019   
index 0000000..0468d80
 1416         -
-- /dev/null
        1020  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1417   1021   
@@ -0,0 +1,12 @@
        1022  +
{
        1023  +
    "credentials": {
        1024  +
        "access_key_id": "AKIDEXAMPLE",
        1025  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1026  +
    },
        1027  +
    "expiration_in_seconds": 3600,
        1028  +
    "normalize": true,
        1029  +
    "region": "us-east-1",
        1030  +
    "service": "service",
        1031  +
    "sign_body": false,
        1032  +
    "timestamp": "2015-08-30T12:36:00Z"
        1033  +
}
              \
 No newline at end of file
 1418   1034   
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
 1419   1035   
similarity index 100%
 1420   1036   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1421   1037   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1422   1038   
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
 1423   1039   
new file mode 100644
 1424   1040   
index 0000000..87f295f
 1425         -
-- /dev/null
        1041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1426   1042   
@@ -0,0 +1 @@
        1043  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1427   1044   
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
 1428   1045   
new file mode 100644
 1429   1046   
index 0000000..99c8eeb
 1430         -
-- /dev/null
        1047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1431   1048   
@@ -0,0 +1,5 @@
        1049  +
GET /./ HTTP/1.1
        1050  +
Host:example.amazonaws.com
        1051  +
X-Amz-Date:20150830T123600Z
        1052  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1053  +
 1432   1054   
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
 1433   1055   
similarity index 100%
 1434   1056   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1435   1057   
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
 1436   1058   
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
 1437   1059   
new file mode 100644
 1438   1060   
index 0000000..fb2420d
 1439         -
-- /dev/null
        1061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1440   1062   
@@ -0,0 +1,7 @@
        1063  +
GET
        1064  +
/
        1065  +
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
        1066  +
host:example.amazonaws.com
        1067  +
        1068  +
host
        1069  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1441   1070   
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
 1442   1071   
new file mode 100644
 1443   1072   
index 0000000..da5c905
 1444         -
-- /dev/null
        1073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1445   1074   
@@ -0,0 +1 @@
        1075  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1446   1076   
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
 1447   1077   
new file mode 100644
 1448   1078   
index 0000000..2e47f69
 1449         -
-- /dev/null
        1079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1450   1080   
@@ -0,0 +1,3 @@
        1081  +
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
        1082  +
Host:example.amazonaws.com
        1083  +
 1451   1084   
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
 1452   1085   
new file mode 100644
 1453   1086   
index 0000000..d837e67
 1454         -
-- /dev/null
        1087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1455   1088   
@@ -0,0 +1,4 @@
        1089  +
AWS4-HMAC-SHA256
        1090  +
20150830T123600Z
        1091  +
20150830/us-east-1/service/aws4_request
        1092  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1456   1093   
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
 1457   1094   
similarity index 100%
 1458   1095   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1459   1096   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1460   1097   
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
 1461   1098   
similarity index 99%
 1462   1099   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1463   1100   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1464   1101   
index afe367b..7bee5c7 100644
 1465   1102   
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
 1466   1103   
new file mode 100644
 1467   1104   
index 0000000..5159048
 1468         -
-- /dev/null
        1105  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1469   1106   
@@ -0,0 +1,8 @@
        1107  +
GET
        1108  +
/./
        1109  +
        1110  +
host:example.amazonaws.com
        1111  +
x-amz-date:20150830T123600Z
        1112  +
        1113  +
host;x-amz-date
        1114  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1470   1115   
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
 1471   1116   
new file mode 100644
 1472   1117   
index 0000000..b49ff0e
 1473         -
-- /dev/null
        1118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1474   1119   
@@ -0,0 +1 @@
        1120  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1475   1121   
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
 1476   1122   
new file mode 100644
 1477   1123   
index 0000000..aeb1ffa
 1478         -
-- /dev/null
        1124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1479   1125   
@@ -0,0 +1,5 @@
        1126  +
GET /./ HTTP/1.1
        1127  +
Host:example.amazonaws.com
        1128  +
X-Amz-Date:20150830T123600Z
        1129  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1130  +
 1480   1131   
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
 1481   1132   
new file mode 100644
 1482   1133   
index 0000000..b7d8caf
 1483         -
-- /dev/null
        1134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1484   1135   
@@ -0,0 +1,4 @@
        1136  +
AWS4-HMAC-SHA256
        1137  +
20150830T123600Z
        1138  +
20150830/us-east-1/service/aws4_request
        1139  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1485   1140   
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
 1486   1141   
new file mode 100644
 1487   1142   
index 0000000..d4e029e
 1488         -
-- /dev/null
        1143  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1489   1144   
@@ -0,0 +1,7 @@
        1145  +
GET
        1146  +
/./
        1147  +
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
        1148  +
host:example.amazonaws.com
        1149  +
        1150  +
host
        1151  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1490   1152   
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
 1491   1153   
new file mode 100644
 1492   1154   
index 0000000..fe8f4cc
 1493         -
-- /dev/null
        1155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1494   1156   
@@ -0,0 +1 @@
        1157  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1495   1158   
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
 1496   1159   
new file mode 100644
 1497   1160   
index 0000000..dcc4fc4
 1498         -
-- /dev/null
        1161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1499   1162   
@@ -0,0 +1,3 @@
        1163  +
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
        1164  +
Host:example.amazonaws.com
        1165  +
 1500   1166   
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
 1501   1167   
new file mode 100644
 1502   1168   
index 0000000..5fb3ada
 1503         -
-- /dev/null
        1169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1504   1170   
@@ -0,0 +1,4 @@
        1171  +
AWS4-HMAC-SHA256
        1172  +
20150830T123600Z
        1173  +
20150830/us-east-1/service/aws4_request
        1174  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1505   1175   
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
 1506   1176   
similarity index 100%
 1507   1177   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1508   1178   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1509   1179   
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
 1510   1180   
new file mode 100644
 1511   1181   
index 0000000..0468d80
 1512         -
-- /dev/null
        1182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1513   1183   
@@ -0,0 +1,12 @@
        1184  +
{
        1185  +
    "credentials": {
        1186  +
        "access_key_id": "AKIDEXAMPLE",
        1187  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1188  +
    },
        1189  +
    "expiration_in_seconds": 3600,
        1190  +
    "normalize": true,
        1191  +
    "region": "us-east-1",
        1192  +
    "service": "service",
        1193  +
    "sign_body": false,
        1194  +
    "timestamp": "2015-08-30T12:36:00Z"
        1195  +
}
              \
 No newline at end of file
 1514   1196   
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
 1515   1197   
similarity index 100%
 1516   1198   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1517   1199   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1518   1200   
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
 1519   1201   
new file mode 100644
 1520   1202   
index 0000000..87f295f
 1521         -
-- /dev/null
        1203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1522   1204   
@@ -0,0 +1 @@
        1205  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1523   1206   
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
 1524   1207   
new file mode 100644
 1525   1208   
index 0000000..b91087b
 1526         -
-- /dev/null
        1209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1527   1210   
@@ -0,0 +1,5 @@
        1211  +
GET // HTTP/1.1
        1212  +
Host:example.amazonaws.com
        1213  +
X-Amz-Date:20150830T123600Z
        1214  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1215  +
 1528   1216   
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
 1529   1217   
similarity index 100%
 1530   1218   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1531   1219   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1532   1220   
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
 1533   1221   
new file mode 100644
 1534   1222   
index 0000000..fb2420d
 1535         -
-- /dev/null
        1223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1536   1224   
@@ -0,0 +1,7 @@
        1225  +
GET
        1226  +
/
        1227  +
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
        1228  +
host:example.amazonaws.com
        1229  +
        1230  +
host
        1231  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1537   1232   
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
 1538   1233   
new file mode 100644
 1539   1234   
index 0000000..da5c905
 1540         -
-- /dev/null
        1235  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1541   1236   
@@ -0,0 +1 @@
        1237  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1542   1238   
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
 1543   1239   
new file mode 100644
 1544   1240   
index 0000000..0290ba4
 1545         -
-- /dev/null
        1241  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1546   1242   
@@ -0,0 +1,3 @@
        1243  +
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
        1244  +
Host:example.amazonaws.com
        1245  +
 1547   1246   
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
 1548   1247   
new file mode 100644
 1549   1248   
index 0000000..d837e67
 1550         -
-- /dev/null
        1249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1551   1250   
@@ -0,0 +1,4 @@
        1251  +
AWS4-HMAC-SHA256
        1252  +
20150830T123600Z
        1253  +
20150830/us-east-1/service/aws4_request
        1254  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1552   1255   
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
 1553   1256   
similarity index 100%
 1554   1257   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1555   1258   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1556   1259   
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
 1557   1260   
new file mode 100644
 1558   1261   
index 0000000..0468d80
 1559         -
-- /dev/null
        1262  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1560   1263   
@@ -0,0 +1,12 @@
        1264  +
{
        1265  +
    "credentials": {
        1266  +
        "access_key_id": "AKIDEXAMPLE",
        1267  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1268  +
    },
        1269  +
    "expiration_in_seconds": 3600,
        1270  +
    "normalize": true,
        1271  +
    "region": "us-east-1",
        1272  +
    "service": "service",
        1273  +
    "sign_body": false,
        1274  +
    "timestamp": "2015-08-30T12:36:00Z"
        1275  +
}
              \
 No newline at end of file
 1561   1276   
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
 1562   1277   
similarity index 100%
 1563   1278   
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
 1564   1279   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1565   1280   
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
 1566   1281   
new file mode 100644
 1567   1282   
index 0000000..8f892bf
 1568         -
-- /dev/null
        1283  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1569   1284   
@@ -0,0 +1 @@
        1285  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1570   1286   
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
 1571   1287   
new file mode 100644
 1572   1288   
index 0000000..2a1895c
 1573         -
-- /dev/null
        1289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1574   1290   
@@ -0,0 +1,5 @@
        1291  +
GET /./example HTTP/1.1
        1292  +
Host:example.amazonaws.com
        1293  +
X-Amz-Date:20150830T123600Z
        1294  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1295  +
 1575   1296   
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
 1576   1297   
similarity index 100%
 1577   1298   
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
 1578   1299   
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
 1579   1300   
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
 1580   1301   
new file mode 100644
 1581   1302   
index 0000000..99dfc2a
 1582         -
-- /dev/null
        1303  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1583   1304   
@@ -0,0 +1,7 @@
        1305  +
GET
        1306  +
/example
        1307  +
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
        1308  +
host:example.amazonaws.com
        1309  +
        1310  +
host
        1311  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1584   1312   
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
 1585   1313   
new file mode 100644
 1586   1314   
index 0000000..fcd7a17
 1587         -
-- /dev/null
        1315  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1588   1316   
@@ -0,0 +1 @@
        1317  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1589   1318   
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
 1590   1319   
new file mode 100644
 1591   1320   
index 0000000..f671de2
 1592         -
-- /dev/null
        1321  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1593   1322   
@@ -0,0 +1,3 @@
        1323  +
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
        1324  +
Host:example.amazonaws.com
        1325  +
 1594   1326   
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
 1595   1327   
new file mode 100644
 1596   1328   
index 0000000..f8456dc
 1597         -
-- /dev/null
        1329  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1598   1330   
@@ -0,0 +1,4 @@
        1331  +
AWS4-HMAC-SHA256
        1332  +
20150830T123600Z
        1333  +
20150830/us-east-1/service/aws4_request
        1334  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1599   1335   
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
 1600   1336   
similarity index 100%
 1601   1337   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1602   1338   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1603   1339   
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
 1604   1340   
similarity index 99%
 1605   1341   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1606   1342   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1607   1343   
index afe367b..7bee5c7 100644
 1608   1344   
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
 1609   1345   
new file mode 100644
 1610   1346   
index 0000000..36698c7
 1611         -
-- /dev/null
        1347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1612   1348   
@@ -0,0 +1,8 @@
        1349  +
GET
        1350  +
/./example
        1351  +
        1352  +
host:example.amazonaws.com
        1353  +
x-amz-date:20150830T123600Z
        1354  +
        1355  +
host;x-amz-date
        1356  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1613   1357   
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
 1614   1358   
new file mode 100644
 1615   1359   
index 0000000..4a4b8f2
 1616         -
-- /dev/null
        1360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1617   1361   
@@ -0,0 +1 @@
        1362  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1618   1363   
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
 1619   1364   
new file mode 100644
 1620   1365   
index 0000000..d462bcd
 1621         -
-- /dev/null
        1366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1622   1367   
@@ -0,0 +1,5 @@
        1368  +
GET /./example HTTP/1.1
        1369  +
Host:example.amazonaws.com
        1370  +
X-Amz-Date:20150830T123600Z
        1371  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1372  +
 1623   1373   
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
 1624   1374   
new file mode 100644
 1625   1375   
index 0000000..8be78c9
 1626         -
-- /dev/null
        1376  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1627   1377   
@@ -0,0 +1,4 @@
        1378  +
AWS4-HMAC-SHA256
        1379  +
20150830T123600Z
        1380  +
20150830/us-east-1/service/aws4_request
        1381  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1628   1382   
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
 1629   1383   
new file mode 100644
 1630   1384   
index 0000000..fe1103c
 1631         -
-- /dev/null
        1385  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1632   1386   
@@ -0,0 +1,7 @@
        1387  +
GET
        1388  +
/./example
        1389  +
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
        1390  +
host:example.amazonaws.com
        1391  +
        1392  +
host
        1393  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1633   1394   
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
 1634   1395   
new file mode 100644
 1635   1396   
index 0000000..ce80762
 1636         -
-- /dev/null
        1397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1637   1398   
@@ -0,0 +1 @@
        1399  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1638   1400   
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
 1639   1401   
new file mode 100644
 1640   1402   
index 0000000..30841a6
 1641         -
-- /dev/null
        1403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1642   1404   
@@ -0,0 +1,3 @@
        1405  +
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
        1406  +
Host:example.amazonaws.com
        1407  +
 1643   1408   
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
 1644   1409   
new file mode 100644
 1645   1410   
index 0000000..5c66509
 1646         -
-- /dev/null
        1411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1647   1412   
@@ -0,0 +1,4 @@
        1413  +
AWS4-HMAC-SHA256
        1414  +
20150830T123600Z
        1415  +
20150830/us-east-1/service/aws4_request
        1416  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1648   1417   
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
 1649   1418   
similarity index 100%
 1650   1419   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1651   1420   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1652   1421   
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
 1653   1422   
new file mode 100644
 1654   1423   
index 0000000..7bee5c7
 1655         -
-- /dev/null
        1424  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1656   1425   
@@ -0,0 +1,12 @@
        1426  +
{
        1427  +
    "credentials": {
        1428  +
        "access_key_id": "AKIDEXAMPLE",
        1429  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1430  +
    },
        1431  +
    "expiration_in_seconds": 3600,
        1432  +
    "normalize": false,
        1433  +
    "region": "us-east-1",
        1434  +
    "service": "service",
        1435  +
    "sign_body": false,
        1436  +
    "timestamp": "2015-08-30T12:36:00Z"
        1437  +
}
              \
 No newline at end of file
 1657   1438   
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
 1658   1439   
new file mode 100644
 1659   1440   
index 0000000..5860c8a
 1660         -
-- /dev/null
        1441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1661   1442   
@@ -0,0 +1,8 @@
        1443  +
GET
        1444  +
//
        1445  +
        1446  +
host:example.amazonaws.com
        1447  +
x-amz-date:20150830T123600Z
        1448  +
        1449  +
host;x-amz-date
        1450  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1662   1451   
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
 1663   1452   
new file mode 100644
 1664   1453   
index 0000000..8310471
 1665         -
-- /dev/null
        1454  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1666   1455   
@@ -0,0 +1 @@
        1456  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1667   1457   
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
 1668   1458   
new file mode 100644
 1669   1459   
index 0000000..2a7afef
 1670         -
-- /dev/null
        1460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1671   1461   
@@ -0,0 +1,5 @@
        1462  +
GET // HTTP/1.1
        1463  +
Host:example.amazonaws.com
        1464  +
X-Amz-Date:20150830T123600Z
        1465  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1466  +
 1672   1467   
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
 1673   1468   
new file mode 100644
 1674   1469   
index 0000000..06059dd
 1675         -
-- /dev/null
        1470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1676   1471   
@@ -0,0 +1,4 @@
        1472  +
AWS4-HMAC-SHA256
        1473  +
20150830T123600Z
        1474  +
20150830/us-east-1/service/aws4_request
        1475  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1677   1476   
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
 1678   1477   
new file mode 100644
 1679   1478   
index 0000000..6d63aef
 1680         -
-- /dev/null
        1479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1681   1480   
@@ -0,0 +1,7 @@
        1481  +
GET
        1482  +
//
        1483  +
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
        1484  +
host:example.amazonaws.com
        1485  +
        1486  +
host
        1487  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1682   1488   
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
 1683   1489   
new file mode 100644
 1684   1490   
index 0000000..e5b7b6c
 1685         -
-- /dev/null
        1491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1686   1492   
@@ -0,0 +1 @@
        1493  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1687   1494   
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
 1688   1495   
new file mode 100644
 1689   1496   
index 0000000..46fe3fd
 1690         -
-- /dev/null
        1497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1691   1498   
@@ -0,0 +1,3 @@
        1499  +
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
        1500  +
Host:example.amazonaws.com
        1501  +
 1692   1502   
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
 1693   1503   
new file mode 100644
 1694   1504   
index 0000000..ea79940
 1695         -
-- /dev/null
        1505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1696   1506   
@@ -0,0 +1,4 @@
        1507  +
AWS4-HMAC-SHA256
        1508  +
20150830T123600Z
        1509  +
20150830/us-east-1/service/aws4_request
        1510  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1697   1511   
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
 1698   1512   
similarity index 100%
 1699   1513   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1700   1514   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1701   1515   
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
 1702   1516   
new file mode 100644
 1703   1517   
index 0000000..0468d80
 1704         -
-- /dev/null
        1518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1705   1519   
@@ -0,0 +1,12 @@
        1520  +
{
        1521  +
    "credentials": {
        1522  +
        "access_key_id": "AKIDEXAMPLE",
        1523  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1524  +
    },
        1525  +
    "expiration_in_seconds": 3600,
        1526  +
    "normalize": true,
        1527  +
    "region": "us-east-1",
        1528  +
    "service": "service",
        1529  +
    "sign_body": false,
        1530  +
    "timestamp": "2015-08-30T12:36:00Z"
        1531  +
}
              \
 No newline at end of file
 1706   1532   
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
 1707   1533   
similarity index 100%
 1708   1534   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1709   1535   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1710   1536   
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
 1711   1537   
new file mode 100644
 1712   1538   
index 0000000..71c7bac
 1713         -
-- /dev/null
        1539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1714   1540   
@@ -0,0 +1 @@
        1541  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1715   1542   
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
 1716   1543   
new file mode 100644
 1717   1544   
index 0000000..0add1f1
 1718         -
-- /dev/null
        1545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1719   1546   
@@ -0,0 +1,5 @@
        1547  +
GET //example// HTTP/1.1
        1548  +
Host:example.amazonaws.com
        1549  +
X-Amz-Date:20150830T123600Z
        1550  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1551  +
 1720   1552   
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
 1721   1553   
similarity index 100%
 1722   1554   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1723   1555   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1724   1556   
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
 1725   1557   
new file mode 100644
 1726   1558   
index 0000000..ce72510
 1727         -
-- /dev/null
        1559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1728   1560   
@@ -0,0 +1,7 @@
        1561  +
GET
        1562  +
/example/
        1563  +
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
        1564  +
host:example.amazonaws.com
        1565  +
        1566  +
host
        1567  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1729   1568   
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
 1730   1569   
new file mode 100644
 1731   1570   
index 0000000..265f387
 1732         -
-- /dev/null
        1571  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1733   1572   
@@ -0,0 +1 @@
        1573  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1734   1574   
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
 1735   1575   
new file mode 100644
 1736   1576   
index 0000000..e1fcb2e
 1737         -
-- /dev/null
        1577  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1738   1578   
@@ -0,0 +1,3 @@
        1579  +
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
        1580  +
Host:example.amazonaws.com
        1581  +
 1739   1582   
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
 1740   1583   
new file mode 100644
 1741   1584   
index 0000000..a14de61
 1742         -
-- /dev/null
        1585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1743   1586   
@@ -0,0 +1,4 @@
        1587  +
AWS4-HMAC-SHA256
        1588  +
20150830T123600Z
        1589  +
20150830/us-east-1/service/aws4_request
        1590  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1744   1591   
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
 1745   1592   
similarity index 100%
 1746   1593   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1747   1594   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1748   1595   
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
 1749   1596   
new file mode 100644
 1750   1597   
index 0000000..7bee5c7
 1751         -
-- /dev/null
        1598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1752   1599   
@@ -0,0 +1,12 @@
        1600  +
{
        1601  +
    "credentials": {
        1602  +
        "access_key_id": "AKIDEXAMPLE",
        1603  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1604  +
    },
        1605  +
    "expiration_in_seconds": 3600,
        1606  +
    "normalize": false,
        1607  +
    "region": "us-east-1",
        1608  +
    "service": "service",
        1609  +
    "sign_body": false,
        1610  +
    "timestamp": "2015-08-30T12:36:00Z"
        1611  +
}
              \
 No newline at end of file
 1753   1612   
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
 1754   1613   
new file mode 100644
 1755   1614   
index 0000000..dfffaaf
 1756         -
-- /dev/null
        1615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1757   1616   
@@ -0,0 +1,8 @@
        1617  +
GET
        1618  +
//example//
        1619  +
        1620  +
host:example.amazonaws.com
        1621  +
x-amz-date:20150830T123600Z
        1622  +
        1623  +
host;x-amz-date
        1624  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1758   1625   
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
 1759   1626   
new file mode 100644
 1760   1627   
index 0000000..edbcc0d
 1761         -
-- /dev/null
        1628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1762   1629   
@@ -0,0 +1 @@
        1630  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1763   1631   
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
 1764   1632   
new file mode 100644
 1765   1633   
index 0000000..4cc12dd
 1766         -
-- /dev/null
        1634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1767   1635   
@@ -0,0 +1,5 @@
        1636  +
GET //example// HTTP/1.1
        1637  +
Host:example.amazonaws.com
        1638  +
X-Amz-Date:20150830T123600Z
        1639  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1640  +
 1768   1641   
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
 1769   1642   
new file mode 100644
 1770   1643   
index 0000000..3eba390
 1771         -
-- /dev/null
        1644  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1772   1645   
@@ -0,0 +1,4 @@
        1646  +
AWS4-HMAC-SHA256
        1647  +
20150830T123600Z
        1648  +
20150830/us-east-1/service/aws4_request
        1649  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1773   1650   
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
 1774   1651   
new file mode 100644
 1775   1652   
index 0000000..f7844e3
 1776         -
-- /dev/null
        1653  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1777   1654   
@@ -0,0 +1,7 @@
        1655  +
GET
        1656  +
//example//
        1657  +
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
        1658  +
host:example.amazonaws.com
        1659  +
        1660  +
host
        1661  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1778   1662   
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
 1779   1663   
new file mode 100644
 1780   1664   
index 0000000..a8d6b96
 1781         -
-- /dev/null
        1665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1782   1666   
@@ -0,0 +1 @@
        1667  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1783   1668   
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
 1784   1669   
new file mode 100644
 1785   1670   
index 0000000..a8322c6
 1786         -
-- /dev/null
        1671  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1787   1672   
@@ -0,0 +1,3 @@
        1673  +
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
        1674  +
Host:example.amazonaws.com
        1675  +
 1788   1676   
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
 1789   1677   
new file mode 100644
 1790   1678   
index 0000000..068724d
 1791         -
-- /dev/null
        1679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1792   1680   
@@ -0,0 +1,4 @@
        1681  +
AWS4-HMAC-SHA256
        1682  +
20150830T123600Z
        1683  +
20150830/us-east-1/service/aws4_request
        1684  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1793   1685   
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
 1794   1686   
similarity index 100%
 1795   1687   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1796   1688   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1797   1689   
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
 1798   1690   
new file mode 100644
 1799   1691   
index 0000000..0468d80
 1800         -
-- /dev/null
        1692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1801   1693   
@@ -0,0 +1,12 @@
        1694  +
{
        1695  +
    "credentials": {
        1696  +
        "access_key_id": "AKIDEXAMPLE",
        1697  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1698  +
    },
        1699  +
    "expiration_in_seconds": 3600,
        1700  +
    "normalize": true,
        1701  +
    "region": "us-east-1",
        1702  +
    "service": "service",
        1703  +
    "sign_body": false,
        1704  +
    "timestamp": "2015-08-30T12:36:00Z"
        1705  +
}
              \
 No newline at end of file
 1802   1706   
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
 1803   1707   
similarity index 100%
 1804   1708   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1805   1709   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1806   1710   
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
 1807   1711   
new file mode 100644
 1808   1712   
index 0000000..f63892b
 1809         -
-- /dev/null
        1713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1810   1714   
@@ -0,0 +1 @@
        1715  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1811   1716   
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
 1812   1717   
new file mode 100644
 1813   1718   
index 0000000..19cd5cb
 1814         -
-- /dev/null
        1719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1815   1720   
@@ -0,0 +1,5 @@
        1721  +
GET /example space/ HTTP/1.1
        1722  +
Host:example.amazonaws.com
        1723  +
X-Amz-Date:20150830T123600Z
        1724  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1725  +
 1816   1726   
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
 1817   1727   
similarity index 100%
 1818   1728   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1819   1729   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1820   1730   
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
 1821   1731   
new file mode 100644
 1822   1732   
index 0000000..fa3d3e2
 1823         -
-- /dev/null
        1733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1824   1734   
@@ -0,0 +1,7 @@
        1735  +
GET
        1736  +
/example%20space/
        1737  +
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
        1738  +
host:example.amazonaws.com
        1739  +
        1740  +
host
        1741  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1825   1742   
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
 1826   1743   
new file mode 100644
 1827   1744   
index 0000000..5b2e204
 1828         -
-- /dev/null
        1745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1829   1746   
@@ -0,0 +1 @@
        1747  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1830   1748   
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
 1831   1749   
new file mode 100644
 1832   1750   
index 0000000..93ca1d0
 1833         -
-- /dev/null
        1751  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1834   1752   
@@ -0,0 +1,3 @@
        1753  +
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
        1754  +
Host:example.amazonaws.com
        1755  +
 1835   1756   
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
 1836   1757   
new file mode 100644
 1837   1758   
index 0000000..b4cb789
 1838         -
-- /dev/null
        1759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1839   1760   
@@ -0,0 +1,4 @@
        1761  +
AWS4-HMAC-SHA256
        1762  +
20150830T123600Z
        1763  +
20150830/us-east-1/service/aws4_request
        1764  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1840   1765   
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
 1841   1766   
new file mode 100644
 1842   1767   
index 0000000..860a277
 1843         -
-- /dev/null
        1768  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1844   1769   
@@ -0,0 +1,2 @@
        1770  +
GET /example%20space/ HTTP/1.1
        1771  +
Host:example.amazonaws.com
 1845   1772   
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
 1846   1773   
new file mode 100644
 1847   1774   
index 0000000..7bee5c7
 1848         -
-- /dev/null
        1775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1849   1776   
@@ -0,0 +1,12 @@
        1777  +
{
        1778  +
    "credentials": {
        1779  +
        "access_key_id": "AKIDEXAMPLE",
        1780  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1781  +
    },
        1782  +
    "expiration_in_seconds": 3600,
        1783  +
    "normalize": false,
        1784  +
    "region": "us-east-1",
        1785  +
    "service": "service",
        1786  +
    "sign_body": false,
        1787  +
    "timestamp": "2015-08-30T12:36:00Z"
        1788  +
}
              \
 No newline at end of file
 1850   1789   
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
 1851   1790   
similarity index 66%
 1852   1791   
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
 1853   1792   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1854   1793   
index 71dc981..124a709 100644
 1855         -
-- 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
        1794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1856   1795   
@@ -1,9 +1,8 @@
 1857         -
POST
 1858         -
/
        1796  +
GET
        1797  +
/example%20space/
 1859   1798   
 1860         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1861   1799   
host:example.amazonaws.com
 1862   1800   
x-amz-date:20150830T123600Z
 1863   1801   
 1864   1802   
host;x-amz-date
 1865   1803   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1866   1804   
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
 1867   1805   
new file mode 100644
 1868   1806   
index 0000000..f63892b
 1869         -
-- /dev/null
        1807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1870   1808   
@@ -0,0 +1 @@
        1809  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1871   1810   
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
 1872   1811   
new file mode 100644
 1873   1812   
index 0000000..19cd5cb
 1874         -
-- /dev/null
        1813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1875   1814   
@@ -0,0 +1,5 @@
        1815  +
GET /example space/ HTTP/1.1
        1816  +
Host:example.amazonaws.com
        1817  +
X-Amz-Date:20150830T123600Z
        1818  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1819  +
 1876   1820   
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
 1877   1821   
new file mode 100644
 1878   1822   
index 0000000..a633f0c
 1879         -
-- /dev/null
        1823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1880   1824   
@@ -0,0 +1,4 @@
        1825  +
AWS4-HMAC-SHA256
        1826  +
20150830T123600Z
        1827  +
20150830/us-east-1/service/aws4_request
        1828  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1881   1829   
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
 1882   1830   
new file mode 100644
 1883   1831   
index 0000000..fa3d3e2
 1884         -
-- /dev/null
        1832  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1885   1833   
@@ -0,0 +1,7 @@
        1834  +
GET
        1835  +
/example%20space/
        1836  +
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
        1837  +
host:example.amazonaws.com
        1838  +
        1839  +
host
        1840  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1886   1841   
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
 1887   1842   
new file mode 100644
 1888   1843   
index 0000000..5b2e204
 1889         -
-- /dev/null
        1844  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1890   1845   
@@ -0,0 +1 @@
        1846  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1891   1847   
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
 1892   1848   
new file mode 100644
 1893   1849   
index 0000000..93ca1d0
 1894         -
-- /dev/null
        1850  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 1895   1851   
@@ -0,0 +1,3 @@
        1852  +
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
        1853  +
Host:example.amazonaws.com
        1854  +
 1896   1855   
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
 1897   1856   
new file mode 100644
 1898   1857   
index 0000000..b4cb789
 1899         -
-- /dev/null
        1858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 1900   1859   
@@ -0,0 +1,4 @@
        1860  +
AWS4-HMAC-SHA256
        1861  +
20150830T123600Z
        1862  +
20150830/us-east-1/service/aws4_request
        1863  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1901   1864   
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
 1902   1865   
similarity index 67%
 1903   1866   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 1904   1867   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1905   1868   
index b7d5e8b..ab509ab 100644
 1906         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1907   1870   
@@ -1,3 +1,2 @@
 1908   1871   
GET /example space/ HTTP/1.1
 1909   1872   
Host:example.amazonaws.com
 1910         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1911   1873   
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
 1912   1874   
new file mode 100644
 1913   1875   
index 0000000..0468d80
 1914         -
-- /dev/null
        1876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 1915   1877   
@@ -0,0 +1,12 @@
        1878  +
{
        1879  +
    "credentials": {
        1880  +
        "access_key_id": "AKIDEXAMPLE",
        1881  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1882  +
    },
        1883  +
    "expiration_in_seconds": 3600,
        1884  +
    "normalize": true,
        1885  +
    "region": "us-east-1",
        1886  +
    "service": "service",
        1887  +
    "sign_body": false,
        1888  +
    "timestamp": "2015-08-30T12:36:00Z"
        1889  +
}
              \
 No newline at end of file
 1916   1890   
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
 1917   1891   
similarity index 100%
 1918   1892   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 1919   1893   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 1920   1894   
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
 1921   1895   
new file mode 100644
 1922   1896   
index 0000000..e503354
 1923         -
-- /dev/null
        1897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 1924   1898   
@@ -0,0 +1 @@
        1899  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 1925   1900   
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
 1926   1901   
new file mode 100644
 1927   1902   
index 0000000..4367892
 1928         -
-- /dev/null
        1903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 1929   1904   
@@ -0,0 +1,5 @@
        1905  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        1906  +
Host:example.amazonaws.com
        1907  +
X-Amz-Date:20150830T123600Z
        1908  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        1909  +
 1930   1910   
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
 1931   1911   
similarity index 100%
 1932   1912   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 1933   1913   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 1934   1914   
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
 1935   1915   
new file mode 100644
 1936   1916   
index 0000000..d7f0696
 1937         -
-- /dev/null
        1917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 1938   1918   
@@ -0,0 +1,7 @@
        1919  +
GET
        1920  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        1921  +
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
        1922  +
host:example.amazonaws.com
        1923  +
        1924  +
host
        1925  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1939   1926   
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
 1940   1927   
new file mode 100644
 1941   1928   
index 0000000..509e972
 1942         -
-- /dev/null
        1929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 1943   1930   
@@ -0,0 +1 @@
        1931  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 1944   1932   
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
 1945   1933   
new file mode 100644
 1946   1934   
index 0000000..79aad36
 1947         -
-- /dev/null
        1935  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 1948   1936   
@@ -0,0 +1,3 @@
        1937  +
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
        1938  +
Host:example.amazonaws.com
        1939  +
 1949   1940   
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
 1950   1941   
new file mode 100644
 1951   1942   
index 0000000..e8068b3
 1952         -
-- /dev/null
        1943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 1953   1944   
@@ -0,0 +1,4 @@
        1945  +
AWS4-HMAC-SHA256
        1946  +
20150830T123600Z
        1947  +
20150830/us-east-1/service/aws4_request
        1948  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 1954   1949   
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
 1955   1950   
similarity index 100%
 1956   1951   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 1957   1952   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 1958   1953   
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
 1959   1954   
new file mode 100644
 1960   1955   
index 0000000..0468d80
 1961         -
-- /dev/null
        1956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 1962   1957   
@@ -0,0 +1,12 @@
        1958  +
{
        1959  +
    "credentials": {
        1960  +
        "access_key_id": "AKIDEXAMPLE",
        1961  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1962  +
    },
        1963  +
    "expiration_in_seconds": 3600,
        1964  +
    "normalize": true,
        1965  +
    "region": "us-east-1",
        1966  +
    "service": "service",
        1967  +
    "sign_body": false,
        1968  +
    "timestamp": "2015-08-30T12:36:00Z"
        1969  +
}
              \
 No newline at end of file
 1963   1970   
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
 1964   1971   
similarity index 100%
 1965   1972   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 1966   1973   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 1967   1974   
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
 1968   1975   
new file mode 100644
 1969   1976   
index 0000000..9a13676
 1970         -
-- /dev/null
        1977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 1971   1978   
@@ -0,0 +1 @@
        1979  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 1972   1980   
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
 1973   1981   
new file mode 100644
 1974   1982   
index 0000000..5aaf47c
 1975         -
-- /dev/null
        1983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 1976   1984   
@@ -0,0 +1,5 @@
        1985  +
GET /ሴ HTTP/1.1
        1986  +
Host:example.amazonaws.com
        1987  +
X-Amz-Date:20150830T123600Z
        1988  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        1989  +
 1977   1990   
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
 1978   1991   
similarity index 100%
 1979   1992   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 1980   1993   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 1981   1994   
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
 1982   1995   
new file mode 100644
 1983   1996   
index 0000000..bdb77c9
 1984         -
-- /dev/null
        1997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 1985   1998   
@@ -0,0 +1,7 @@
        1999  +
GET
        2000  +
/%E1%88%B4
        2001  +
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
        2002  +
host:example.amazonaws.com
        2003  +
        2004  +
host
        2005  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1986   2006   
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
 1987   2007   
new file mode 100644
 1988   2008   
index 0000000..21342b3
 1989         -
-- /dev/null
        2009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 1990   2010   
@@ -0,0 +1 @@
        2011  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 1991   2012   
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
 1992   2013   
new file mode 100644
 1993   2014   
index 0000000..368c2ff
 1994         -
-- /dev/null
        2015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 1995   2016   
@@ -0,0 +1,3 @@
        2017  +
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
        2018  +
Host:example.amazonaws.com
        2019  +
 1996   2020   
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
 1997   2021   
new file mode 100644
 1998   2022   
index 0000000..56b8fbf
 1999         -
-- /dev/null
        2023  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2000   2024   
@@ -0,0 +1,4 @@
        2025  +
AWS4-HMAC-SHA256
        2026  +
20150830T123600Z
        2027  +
20150830/us-east-1/service/aws4_request
        2028  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 2001   2029   
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
 2002   2030   
similarity index 62%
 2003   2031   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 2004   2032   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2005   2033   
index da4808d..9e273f6 100644
 2006         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2007   2035   
@@ -1,3 +1,2 @@
 2008   2036   
GET /ሴ HTTP/1.1
 2009   2037   
Host:example.amazonaws.com
 2010         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2011   2038   
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
 2012   2039   
new file mode 100644
 2013   2040   
index 0000000..0468d80
 2014         -
-- /dev/null
        2041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2015   2042   
@@ -0,0 +1,12 @@
        2043  +
{
        2044  +
    "credentials": {
        2045  +
        "access_key_id": "AKIDEXAMPLE",
        2046  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2047  +
    },
        2048  +
    "expiration_in_seconds": 3600,
        2049  +
    "normalize": true,
        2050  +
    "region": "us-east-1",
        2051  +
    "service": "service",
        2052  +
    "sign_body": false,
        2053  +
    "timestamp": "2015-08-30T12:36:00Z"
        2054  +
}
              \
 No newline at end of file
 2016   2055   
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
 2017   2056   
similarity index 100%
 2018   2057   
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
 2019   2058   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2020   2059   
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
 2021   2060   
new file mode 100644
 2022   2061   
index 0000000..d7f1c1c
 2023         -
-- /dev/null
        2062  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2024   2063   
@@ -0,0 +1 @@
        2064  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2025   2065   
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
 2026   2066   
new file mode 100644
 2027   2067   
index 0000000..1c60790
 2028         -
-- /dev/null
        2068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2029   2069   
@@ -0,0 +1,5 @@
        2070  +
GET /?Param1=value1 HTTP/1.1
        2071  +
Host:example.amazonaws.com
        2072  +
X-Amz-Date:20150830T123600Z
        2073  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2074  +
 2030   2075   
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
 2031   2076   
similarity index 100%
 2032   2077   
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
 2033   2078   
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
 2034   2079   
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
 2035   2080   
new file mode 100644
 2036   2081   
index 0000000..6a823ed
 2037         -
-- /dev/null
        2082  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2038   2083   
@@ -0,0 +1,7 @@
        2084  +
GET
        2085  +
/
        2086  +
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
        2087  +
host:example.amazonaws.com
        2088  +
        2089  +
host
        2090  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2039   2091   
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
 2040   2092   
new file mode 100644
 2041   2093   
index 0000000..8c77136
 2042         -
-- /dev/null
        2094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2043   2095   
@@ -0,0 +1 @@
        2096  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2044   2097   
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
 2045   2098   
new file mode 100644
 2046   2099   
index 0000000..2d337d8
 2047         -
-- /dev/null
        2100  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2048   2101   
@@ -0,0 +1,3 @@
        2102  +
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
        2103  +
Host:example.amazonaws.com
        2104  +
 2049   2105   
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
 2050   2106   
new file mode 100644
 2051   2107   
index 0000000..191a484
 2052         -
-- /dev/null
        2108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2053   2109   
@@ -0,0 +1,4 @@
        2110  +
AWS4-HMAC-SHA256
        2111  +
20150830T123600Z
        2112  +
20150830/us-east-1/service/aws4_request
        2113  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2054   2114   
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
 2055   2115   
similarity index 100%
 2056   2116   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2057   2117   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2058   2118   
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
 2059   2119   
new file mode 100644
 2060   2120   
index 0000000..0468d80
 2061         -
-- /dev/null
        2121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2062   2122   
@@ -0,0 +1,12 @@
        2123  +
{
        2124  +
    "credentials": {
        2125  +
        "access_key_id": "AKIDEXAMPLE",
        2126  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2127  +
    },
        2128  +
    "expiration_in_seconds": 3600,
        2129  +
    "normalize": true,
        2130  +
    "region": "us-east-1",
        2131  +
    "service": "service",
        2132  +
    "sign_body": false,
        2133  +
    "timestamp": "2015-08-30T12:36:00Z"
        2134  +
}
              \
 No newline at end of file
 2063   2135   
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
 2064   2136   
new file mode 100644
 2065   2137   
index 0000000..0c8ba21
 2066         -
-- /dev/null
        2138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2067   2139   
@@ -0,0 +1,8 @@
        2140  +
GET
        2141  +
/
        2142  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2143  +
host:example.amazonaws.com
        2144  +
x-amz-date:20150830T123600Z
        2145  +
        2146  +
host;x-amz-date
        2147  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2068   2148   
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
 2069   2149   
new file mode 100644
 2070   2150   
index 0000000..9ab65ed
 2071         -
-- /dev/null
        2151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2072   2152   
@@ -0,0 +1 @@
        2153  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2073   2154   
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
 2074   2155   
new file mode 100644
 2075   2156   
index 0000000..0bcdf98
 2076         -
-- /dev/null
        2157  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2077   2158   
@@ -0,0 +1,5 @@
        2159  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2160  +
Host:example.amazonaws.com
        2161  +
X-Amz-Date:20150830T123600Z
        2162  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2163  +
 2078   2164   
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
 2079   2165   
new file mode 100644
 2080   2166   
index 0000000..bf674ad
 2081         -
-- /dev/null
        2167  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2082   2168   
@@ -0,0 +1,4 @@
        2169  +
AWS4-HMAC-SHA256
        2170  +
20150830T123600Z
        2171  +
20150830/us-east-1/service/aws4_request
        2172  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2083   2173   
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
 2084   2174   
new file mode 100644
 2085   2175   
index 0000000..3f590a4
 2086         -
-- /dev/null
        2176  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2087   2177   
@@ -0,0 +1,7 @@
        2178  +
GET
        2179  +
/
        2180  +
%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
        2181  +
host:example.amazonaws.com
        2182  +
        2183  +
host
        2184  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2088   2185   
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
 2089   2186   
new file mode 100644
 2090   2187   
index 0000000..e225eab
 2091         -
-- /dev/null
        2188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2092   2189   
@@ -0,0 +1 @@
        2190  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2093   2191   
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
 2094   2192   
new file mode 100644
 2095   2193   
index 0000000..6206719
 2096         -
-- /dev/null
        2194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2097   2195   
@@ -0,0 +1,3 @@
        2196  +
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
        2197  +
Host:example.amazonaws.com
        2198  +
 2098   2199   
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
 2099   2200   
new file mode 100644
 2100   2201   
index 0000000..81a4210
 2101         -
-- /dev/null
        2202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2102   2203   
@@ -0,0 +1,4 @@
        2204  +
AWS4-HMAC-SHA256
        2205  +
20150830T123600Z
        2206  +
20150830/us-east-1/service/aws4_request
        2207  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2103   2208   
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
 2104   2209   
new file mode 100644
 2105   2210   
index 0000000..368c6e3
 2106         -
-- /dev/null
        2211  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2107   2212   
@@ -0,0 +1,2 @@
        2213  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2214  +
Host:example.amazonaws.com
 2108   2215   
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
 2109   2216   
new file mode 100644
 2110   2217   
index 0000000..0468d80
 2111         -
-- /dev/null
        2218  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2112   2219   
@@ -0,0 +1,12 @@
        2220  +
{
        2221  +
    "credentials": {
        2222  +
        "access_key_id": "AKIDEXAMPLE",
        2223  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2224  +
    },
        2225  +
    "expiration_in_seconds": 3600,
        2226  +
    "normalize": true,
        2227  +
    "region": "us-east-1",
        2228  +
    "service": "service",
        2229  +
    "sign_body": false,
        2230  +
    "timestamp": "2015-08-30T12:36:00Z"
        2231  +
}
              \
 No newline at end of file
 2113   2232   
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
 2114   2233   
similarity index 100%
 2115   2234   
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
 2116   2235   
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
 2117   2236   
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
 2118   2237   
new file mode 100644
 2119   2238   
index 0000000..6a8cb9d
 2120         -
-- /dev/null
        2239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2121   2240   
@@ -0,0 +1 @@
        2241  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2122   2242   
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
 2123   2243   
new file mode 100644
 2124   2244   
index 0000000..f78a9d2
 2125         -
-- /dev/null
        2245  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2126   2246   
@@ -0,0 +1,5 @@
        2247  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2248  +
Host:example.amazonaws.com
        2249  +
X-Amz-Date:20150830T123600Z
        2250  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2251  +
 2127   2252   
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
 2128   2253   
similarity index 100%
 2129   2254   
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
 2130   2255   
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
 2131   2256   
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
 2132   2257   
new file mode 100644
 2133   2258   
index 0000000..a6e1bc7
 2134         -
-- /dev/null
        2259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2135   2260   
@@ -0,0 +1,7 @@
        2261  +
GET
        2262  +
/
        2263  +
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
        2264  +
host:example.amazonaws.com
        2265  +
        2266  +
host
        2267  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2136   2268   
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
 2137   2269   
new file mode 100644
 2138   2270   
index 0000000..d6e6a88
 2139         -
-- /dev/null
        2271  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2140   2272   
@@ -0,0 +1 @@
        2273  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2141   2274   
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
 2142   2275   
new file mode 100644
 2143   2276   
index 0000000..538e2f0
 2144         -
-- /dev/null
        2277  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2145   2278   
@@ -0,0 +1,3 @@
        2279  +
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
        2280  +
Host:example.amazonaws.com
        2281  +
 2146   2282   
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
 2147   2283   
new file mode 100644
 2148   2284   
index 0000000..e696085
 2149         -
-- /dev/null
        2285  +
++ 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
 2150   2286   
@@ -0,0 +1,4 @@
        2287  +
AWS4-HMAC-SHA256
        2288  +
20150830T123600Z
        2289  +
20150830/us-east-1/service/aws4_request
        2290  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2151   2291   
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
 2152   2292   
similarity index 100%
 2153   2293   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2154   2294   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2155   2295   
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
 2156   2296   
new file mode 100644
 2157   2297   
index 0000000..0468d80
 2158         -
-- /dev/null
        2298  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2159   2299   
@@ -0,0 +1,12 @@
        2300  +
{
        2301  +
    "credentials": {
        2302  +
        "access_key_id": "AKIDEXAMPLE",
        2303  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2304  +
    },
        2305  +
    "expiration_in_seconds": 3600,
        2306  +
    "normalize": true,
        2307  +
    "region": "us-east-1",
        2308  +
    "service": "service",
        2309  +
    "sign_body": false,
        2310  +
    "timestamp": "2015-08-30T12:36:00Z"
        2311  +
}
              \
 No newline at end of file
 2160   2312   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2161   2313   
similarity index 100%
 2162   2314   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2163   2315   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2164   2316   
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
 2165   2317   
new file mode 100644
 2166   2318   
index 0000000..876a64b
 2167         -
-- /dev/null
        2319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2168   2320   
@@ -0,0 +1 @@
        2321  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2169   2322   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2170   2323   
similarity index 50%
 2171   2324   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2172   2325   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2173   2326   
index ba1ef40..9d0d993 100644
 2174         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2175   2328   
@@ -1,4 +1,5 @@
 2176   2329   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2177   2330   
Host:example.amazonaws.com
 2178   2331   
X-Amz-Date:20150830T123600Z
 2179         -
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
        2332  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2333  +
 2180   2334   
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
 2181   2335   
similarity index 100%
 2182   2336   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2183   2337   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2184   2338   
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
 2185   2339   
new file mode 100644
 2186   2340   
index 0000000..a1bac59
 2187         -
-- /dev/null
        2341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2188   2342   
@@ -0,0 +1,7 @@
        2343  +
GET
        2344  +
/
        2345  +
-._~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
        2346  +
host:example.amazonaws.com
        2347  +
        2348  +
host
        2349  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2189   2350   
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
 2190   2351   
new file mode 100644
 2191   2352   
index 0000000..41881e9
 2192         -
-- /dev/null
        2353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2193   2354   
@@ -0,0 +1 @@
        2355  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2194   2356   
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
 2195   2357   
new file mode 100644
 2196   2358   
index 0000000..3179076
 2197         -
-- /dev/null
        2359  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2198   2360   
@@ -0,0 +1,3 @@
        2361  +
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
        2362  +
Host:example.amazonaws.com
        2363  +
 2199   2364   
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
 2200   2365   
new file mode 100644
 2201   2366   
index 0000000..6d675fc
 2202         -
-- /dev/null
        2367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2203   2368   
@@ -0,0 +1,4 @@
        2369  +
AWS4-HMAC-SHA256
        2370  +
20150830T123600Z
        2371  +
20150830/us-east-1/service/aws4_request
        2372  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2204   2373   
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
 2205   2374   
similarity index 100%
 2206   2375   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2207   2376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2208   2377   
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
 2209   2378   
new file mode 100644
 2210   2379   
index 0000000..0468d80
 2211         -
-- /dev/null
        2380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2212   2381   
@@ -0,0 +1,12 @@
        2382  +
{
        2383  +
    "credentials": {
        2384  +
        "access_key_id": "AKIDEXAMPLE",
        2385  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2386  +
    },
        2387  +
    "expiration_in_seconds": 3600,
        2388  +
    "normalize": true,
        2389  +
    "region": "us-east-1",
        2390  +
    "service": "service",
        2391  +
    "sign_body": false,
        2392  +
    "timestamp": "2015-08-30T12:36:00Z"
        2393  +
}
              \
 No newline at end of file
 2213   2394   
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
 2214   2395   
similarity index 100%
 2215   2396   
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
 2216   2397   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2217   2398   
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
 2218   2399   
new file mode 100644
 2219   2400   
index 0000000..87f295f
 2220         -
-- /dev/null
        2401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2221   2402   
@@ -0,0 +1 @@
        2403  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2222   2404   
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
 2223   2405   
new file mode 100644
 2224   2406   
index 0000000..36b86e7
 2225         -
-- /dev/null
        2407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2226   2408   
@@ -0,0 +1,5 @@
        2409  +
GET / HTTP/1.1
        2410  +
Host:example.amazonaws.com
        2411  +
X-Amz-Date:20150830T123600Z
        2412  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2413  +
 2227   2414   
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
 2228   2415   
similarity index 100%
 2229   2416   
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
 2230   2417   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2231   2418   
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
 2232   2419   
new file mode 100644
 2233   2420   
index 0000000..fb2420d
 2234         -
-- /dev/null
        2421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2235   2422   
@@ -0,0 +1,7 @@
        2423  +
GET
        2424  +
/
        2425  +
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
        2426  +
host:example.amazonaws.com
        2427  +
        2428  +
host
        2429  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2236   2430   
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
 2237   2431   
new file mode 100644
 2238   2432   
index 0000000..da5c905
 2239         -
-- /dev/null
        2433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2240   2434   
@@ -0,0 +1 @@
        2435  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2241   2436   
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
 2242   2437   
new file mode 100644
 2243   2438   
index 0000000..eeb7a8f
 2244         -
-- /dev/null
        2439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2245   2440   
@@ -0,0 +1,3 @@
        2441  +
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
        2442  +
Host:example.amazonaws.com
        2443  +
 2246   2444   
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
 2247   2445   
new file mode 100644
 2248   2446   
index 0000000..d837e67
 2249         -
-- /dev/null
        2447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2250   2448   
@@ -0,0 +1,4 @@
        2449  +
AWS4-HMAC-SHA256
        2450  +
20150830T123600Z
        2451  +
20150830/us-east-1/service/aws4_request
        2452  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2251   2453   
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
 2252   2454   
similarity index 100%
 2253   2455   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2254   2456   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2255   2457   
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
 2256   2458   
new file mode 100644
 2257   2459   
index 0000000..0468d80
 2258         -
-- /dev/null
        2460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2259   2461   
@@ -0,0 +1,12 @@
        2462  +
{
        2463  +
    "credentials": {
        2464  +
        "access_key_id": "AKIDEXAMPLE",
        2465  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2466  +
    },
        2467  +
    "expiration_in_seconds": 3600,
        2468  +
    "normalize": true,
        2469  +
    "region": "us-east-1",
        2470  +
    "service": "service",
        2471  +
    "sign_body": false,
        2472  +
    "timestamp": "2015-08-30T12:36:00Z"
        2473  +
}
              \
 No newline at end of file
 2260   2474   
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
 2261   2475   
similarity index 100%
 2262   2476   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2263   2477   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2264   2478   
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
 2265   2479   
new file mode 100644
 2266   2480   
index 0000000..19a2cc9
 2267         -
-- /dev/null
        2481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2268   2482   
@@ -0,0 +1 @@
        2483  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2269   2484   
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
 2270   2485   
new file mode 100644
 2271   2486   
index 0000000..acb13ee
 2272         -
-- /dev/null
        2487  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2273   2488   
@@ -0,0 +1,5 @@
        2489  +
GET /?ሴ=bar HTTP/1.1
        2490  +
Host:example.amazonaws.com
        2491  +
X-Amz-Date:20150830T123600Z
        2492  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2493  +
 2274   2494   
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
 2275   2495   
similarity index 100%
 2276   2496   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2277   2497   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2278   2498   
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
 2279   2499   
new file mode 100644
 2280   2500   
index 0000000..92cee62
 2281         -
-- /dev/null
        2501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2282   2502   
@@ -0,0 +1,7 @@
        2503  +
GET
        2504  +
/
        2505  +
%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
        2506  +
host:example.amazonaws.com
        2507  +
        2508  +
host
        2509  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2283   2510   
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
 2284   2511   
new file mode 100644
 2285   2512   
index 0000000..c9e49de
 2286         -
-- /dev/null
        2513  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2287   2514   
@@ -0,0 +1 @@
        2515  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2288   2516   
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
 2289   2517   
new file mode 100644
 2290   2518   
index 0000000..8f4d8d0
 2291         -
-- /dev/null
        2519  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2292   2520   
@@ -0,0 +1,3 @@
        2521  +
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
        2522  +
Host:example.amazonaws.com
        2523  +
 2293   2524   
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
 2294   2525   
new file mode 100644
 2295   2526   
index 0000000..a6181dc
 2296         -
-- /dev/null
        2527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2297   2528   
@@ -0,0 +1,4 @@
        2529  +
AWS4-HMAC-SHA256
        2530  +
20150830T123600Z
        2531  +
20150830/us-east-1/service/aws4_request
        2532  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2298   2533   
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
 2299   2534   
similarity index 64%
 2300   2535   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2301   2536   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2302   2537   
index cc2757e..aff333a 100644
 2303         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2304   2539   
@@ -1,3 +1,2 @@
 2305   2540   
GET /?ሴ=bar HTTP/1.1
 2306   2541   
Host:example.amazonaws.com
 2307         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2308   2542   
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
 2309   2543   
similarity index 99%
 2310   2544   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2311   2545   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2312   2546   
index a457c8a..a334e18 100644
 2313   2547   
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
 2314   2548   
new file mode 100644
 2315   2549   
index 0000000..ccacdeb
 2316         -
-- /dev/null
        2550  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2317   2551   
@@ -0,0 +1,9 @@
        2552  +
GET
        2553  +
/
        2554  +
        2555  +
host:example.amazonaws.com
        2556  +
x-amz-date:20150830T123600Z
        2557  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2558  +
        2559  +
host;x-amz-date;x-amz-security-token
        2560  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2318   2561   
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
 2319   2562   
new file mode 100644
 2320   2563   
index 0000000..083e30d
 2321         -
-- /dev/null
        2564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2322   2565   
@@ -0,0 +1 @@
        2566  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2323   2567   
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
 2324   2568   
new file mode 100644
 2325   2569   
index 0000000..5287932
 2326         -
-- /dev/null
        2570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2327   2571   
@@ -0,0 +1,6 @@
        2572  +
GET / HTTP/1.1
        2573  +
Host:example.amazonaws.com
        2574  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2575  +
X-Amz-Date:20150830T123600Z
        2576  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2577  +
 2328   2578   
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
 2329   2579   
new file mode 100644
 2330   2580   
index 0000000..742b880
 2331         -
-- /dev/null
        2581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2332   2582   
@@ -0,0 +1,4 @@
        2583  +
AWS4-HMAC-SHA256
        2584  +
20150830T123600Z
        2585  +
20150830/us-east-1/service/aws4_request
        2586  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2333   2587   
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
 2334   2588   
new file mode 100644
 2335   2589   
index 0000000..5e75179
 2336         -
-- /dev/null
        2590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2337   2591   
@@ -0,0 +1,7 @@
        2592  +
GET
        2593  +
/
        2594  +
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
        2595  +
host:example.amazonaws.com
        2596  +
        2597  +
host
        2598  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2338   2599   
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
 2339   2600   
new file mode 100644
 2340   2601   
index 0000000..50b947f
 2341         -
-- /dev/null
        2602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2342   2603   
@@ -0,0 +1 @@
        2604  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2343   2605   
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
 2344   2606   
new file mode 100644
 2345   2607   
index 0000000..aee910b
 2346         -
-- /dev/null
        2608  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2347   2609   
@@ -0,0 +1,3 @@
        2610  +
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
        2611  +
Host:example.amazonaws.com
        2612  +
 2348   2613   
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
 2349   2614   
new file mode 100644
 2350   2615   
index 0000000..04a6c17
 2351         -
-- /dev/null
        2616  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2352   2617   
@@ -0,0 +1,4 @@
        2618  +
AWS4-HMAC-SHA256
        2619  +
20150830T123600Z
        2620  +
20150830/us-east-1/service/aws4_request
        2621  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2353   2622   
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
 2354   2623   
similarity index 100%
 2355   2624   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2356   2625   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2357   2626   
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
 2358   2627   
new file mode 100644
 2359   2628   
index 0000000..0468d80
 2360         -
-- /dev/null
        2629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2361   2630   
@@ -0,0 +1,12 @@
        2631  +
{
        2632  +
    "credentials": {
        2633  +
        "access_key_id": "AKIDEXAMPLE",
        2634  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2635  +
    },
        2636  +
    "expiration_in_seconds": 3600,
        2637  +
    "normalize": true,
        2638  +
    "region": "us-east-1",
        2639  +
    "service": "service",
        2640  +
    "sign_body": false,
        2641  +
    "timestamp": "2015-08-30T12:36:00Z"
        2642  +
}
              \
 No newline at end of file
 2362   2643   
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
 2363   2644   
similarity index 100%
 2364   2645   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2365   2646   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2366   2647   
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
 2367   2648   
new file mode 100644
 2368   2649   
index 0000000..87f295f
 2369         -
-- /dev/null
        2650  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2370   2651   
@@ -0,0 +1 @@
        2652  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2371   2653   
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
 2372   2654   
new file mode 100644
 2373   2655   
index 0000000..36b86e7
 2374         -
-- /dev/null
        2656  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2375   2657   
@@ -0,0 +1,5 @@
        2658  +
GET / HTTP/1.1
        2659  +
Host:example.amazonaws.com
        2660  +
X-Amz-Date:20150830T123600Z
        2661  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2662  +
 2376   2663   
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
 2377   2664   
similarity index 100%
 2378   2665   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2379   2666   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2380   2667   
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
 2381   2668   
new file mode 100644
 2382   2669   
index 0000000..fb2420d
 2383         -
-- /dev/null
        2670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2384   2671   
@@ -0,0 +1,7 @@
        2672  +
GET
        2673  +
/
        2674  +
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
        2675  +
host:example.amazonaws.com
        2676  +
        2677  +
host
        2678  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2385   2679   
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
 2386   2680   
new file mode 100644
 2387   2681   
index 0000000..da5c905
 2388         -
-- /dev/null
        2682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2389   2683   
@@ -0,0 +1 @@
        2684  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2390   2685   
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
 2391   2686   
new file mode 100644
 2392   2687   
index 0000000..eeb7a8f
 2393         -
-- /dev/null
        2688  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2394   2689   
@@ -0,0 +1,3 @@
        2690  +
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
        2691  +
Host:example.amazonaws.com
        2692  +
 2395   2693   
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
 2396   2694   
new file mode 100644
 2397   2695   
index 0000000..d837e67
 2398         -
-- /dev/null
        2696  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2399   2697   
@@ -0,0 +1,4 @@
        2698  +
AWS4-HMAC-SHA256
        2699  +
20150830T123600Z
        2700  +
20150830/us-east-1/service/aws4_request
        2701  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2400   2702   
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
 2401   2703   
similarity index 100%
 2402   2704   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2403   2705   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2404   2706   
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
 2405   2707   
new file mode 100644
 2406   2708   
index 0000000..0468d80
 2407         -
-- /dev/null
        2709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2408   2710   
@@ -0,0 +1,12 @@
        2711  +
{
        2712  +
    "credentials": {
        2713  +
        "access_key_id": "AKIDEXAMPLE",
        2714  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2715  +
    },
        2716  +
    "expiration_in_seconds": 3600,
        2717  +
    "normalize": true,
        2718  +
    "region": "us-east-1",
        2719  +
    "service": "service",
        2720  +
    "sign_body": false,
        2721  +
    "timestamp": "2015-08-30T12:36:00Z"
        2722  +
}
              \
 No newline at end of file
 2409   2723   
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
 2410   2724   
similarity index 100%
 2411   2725   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2412   2726   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2413   2727   
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
 2414   2728   
new file mode 100644
 2415   2729   
index 0000000..629487f
 2416         -
-- /dev/null
        2730  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2417   2731   
@@ -0,0 +1 @@
        2732  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2418   2733   
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
 2419   2734   
new file mode 100644
 2420   2735   
index 0000000..0d99b1c
 2421         -
-- /dev/null
        2736  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2422   2737   
@@ -0,0 +1,5 @@
        2738  +
POST / HTTP/1.1
        2739  +
Host:example.amazonaws.com
        2740  +
X-Amz-Date:20150830T123600Z
        2741  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2742  +
 2423   2743   
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
 2424   2744   
similarity index 100%
 2425   2745   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2426   2746   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2427   2747   
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
 2428   2748   
new file mode 100644
 2429   2749   
index 0000000..d3341e7
 2430         -
-- /dev/null
        2750  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2431   2751   
@@ -0,0 +1,7 @@
        2752  +
POST
        2753  +
/
        2754  +
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
        2755  +
host:example.amazonaws.com
        2756  +
        2757  +
host
        2758  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2432   2759   
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
 2433   2760   
new file mode 100644
 2434   2761   
index 0000000..79f7e0d
 2435         -
-- /dev/null
        2762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2436   2763   
@@ -0,0 +1 @@
        2764  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2437   2765   
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
 2438   2766   
new file mode 100644
 2439   2767   
index 0000000..94f1b21
 2440         -
-- /dev/null
        2768  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2441   2769   
@@ -0,0 +1,3 @@
        2770  +
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
        2771  +
Host:example.amazonaws.com
        2772  +
 2442   2773   
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
 2443   2774   
new file mode 100644
 2444   2775   
index 0000000..e8f335b
 2445         -
-- /dev/null
        2776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2446   2777   
@@ -0,0 +1,4 @@
        2778  +
AWS4-HMAC-SHA256
        2779  +
20150830T123600Z
        2780  +
20150830/us-east-1/service/aws4_request
        2781  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2447   2782   
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
 2448   2783   
similarity index 100%
 2449   2784   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2450   2785   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2451   2786   
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
 2452   2787   
new file mode 100644
 2453   2788   
index 0000000..0468d80
 2454         -
-- /dev/null
        2789  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2455   2790   
@@ -0,0 +1,12 @@
        2791  +
{
        2792  +
    "credentials": {
        2793  +
        "access_key_id": "AKIDEXAMPLE",
        2794  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2795  +
    },
        2796  +
    "expiration_in_seconds": 3600,
        2797  +
    "normalize": true,
        2798  +
    "region": "us-east-1",
        2799  +
    "service": "service",
        2800  +
    "sign_body": false,
        2801  +
    "timestamp": "2015-08-30T12:36:00Z"
        2802  +
}
              \
 No newline at end of file
 2456   2803   
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
 2457   2804   
similarity index 100%
 2458   2805   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2459   2806   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2460   2807   
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
 2461   2808   
new file mode 100644
 2462   2809   
index 0000000..e4e6428
 2463         -
-- /dev/null
        2810  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2464   2811   
@@ -0,0 +1 @@
        2812  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2465   2813   
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
 2466   2814   
new file mode 100644
 2467   2815   
index 0000000..e3778f5
 2468         -
-- /dev/null
        2816  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2469   2817   
@@ -0,0 +1,6 @@
        2818  +
POST / HTTP/1.1
        2819  +
Host:example.amazonaws.com
        2820  +
My-Header1:value1
        2821  +
X-Amz-Date:20150830T123600Z
        2822  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2823  +
 2470   2824   
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
 2471   2825   
similarity index 100%
 2472   2826   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2473   2827   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2474   2828   
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
 2475   2829   
new file mode 100644
 2476   2830   
index 0000000..bd7c937
 2477         -
-- /dev/null
        2831  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2478   2832   
@@ -0,0 +1,8 @@
        2833  +
POST
        2834  +
/
        2835  +
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
        2836  +
host:example.amazonaws.com
        2837  +
my-header1:value1
        2838  +
        2839  +
host;my-header1
        2840  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2479   2841   
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
 2480   2842   
new file mode 100644
 2481   2843   
index 0000000..0416f13
 2482         -
-- /dev/null
        2844  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2483   2845   
@@ -0,0 +1 @@
        2846  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2484   2847   
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
 2485   2848   
new file mode 100644
 2486   2849   
index 0000000..5e6522f
 2487         -
-- /dev/null
        2850  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2488   2851   
@@ -0,0 +1,4 @@
        2852  +
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
        2853  +
Host:example.amazonaws.com
        2854  +
My-Header1:value1
        2855  +
 2489   2856   
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
 2490   2857   
new file mode 100644
 2491   2858   
index 0000000..d06d1df
 2492         -
-- /dev/null
        2859  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2493   2860   
@@ -0,0 +1,4 @@
        2861  +
AWS4-HMAC-SHA256
        2862  +
20150830T123600Z
        2863  +
20150830/us-east-1/service/aws4_request
        2864  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2494   2865   
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
 2495   2866   
similarity index 100%
 2496   2867   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2497   2868   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2498   2869   
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
 2499   2870   
new file mode 100644
 2500   2871   
index 0000000..0468d80
 2501         -
-- /dev/null
        2872  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2502   2873   
@@ -0,0 +1,12 @@
        2874  +
{
        2875  +
    "credentials": {
        2876  +
        "access_key_id": "AKIDEXAMPLE",
        2877  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2878  +
    },
        2879  +
    "expiration_in_seconds": 3600,
        2880  +
    "normalize": true,
        2881  +
    "region": "us-east-1",
        2882  +
    "service": "service",
        2883  +
    "sign_body": false,
        2884  +
    "timestamp": "2015-08-30T12:36:00Z"
        2885  +
}
              \
 No newline at end of file
 2503   2886   
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
 2504   2887   
similarity index 100%
 2505   2888   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2506   2889   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2507   2890   
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
 2508   2891   
new file mode 100644
 2509   2892   
index 0000000..bb3809c
 2510         -
-- /dev/null
        2893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2511   2894   
@@ -0,0 +1 @@
        2895  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2512   2896   
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
 2513   2897   
new file mode 100644
 2514   2898   
index 0000000..10f6761
 2515         -
-- /dev/null
        2899  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2516   2900   
@@ -0,0 +1,6 @@
        2901  +
POST / HTTP/1.1
        2902  +
Host:example.amazonaws.com
        2903  +
My-Header1:VALUE1
        2904  +
X-Amz-Date:20150830T123600Z
        2905  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        2906  +
 2517   2907   
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
 2518   2908   
similarity index 100%
 2519   2909   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2520   2910   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2521   2911   
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
 2522   2912   
new file mode 100644
 2523   2913   
index 0000000..f84856f
 2524         -
-- /dev/null
        2914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2525   2915   
@@ -0,0 +1,8 @@
        2916  +
POST
        2917  +
/
        2918  +
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
        2919  +
host:example.amazonaws.com
        2920  +
my-header1:VALUE1
        2921  +
        2922  +
host;my-header1
        2923  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2526   2924   
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
 2527   2925   
new file mode 100644
 2528   2926   
index 0000000..a9d3cac
 2529         -
-- /dev/null
        2927  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2530   2928   
@@ -0,0 +1 @@
        2929  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2531   2930   
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
 2532   2931   
new file mode 100644
 2533   2932   
index 0000000..cf96c7c
 2534         -
-- /dev/null
        2933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2535   2934   
@@ -0,0 +1,4 @@
        2935  +
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
        2936  +
Host:example.amazonaws.com
        2937  +
My-Header1:VALUE1
        2938  +
 2536   2939   
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
 2537   2940   
new file mode 100644
 2538   2941   
index 0000000..47ef566
 2539         -
-- /dev/null
        2942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2540   2943   
@@ -0,0 +1,4 @@
        2944  +
AWS4-HMAC-SHA256
        2945  +
20150830T123600Z
        2946  +
20150830/us-east-1/service/aws4_request
        2947  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2541   2948   
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
 2542   2949   
similarity index 100%
 2543   2950   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2544   2951   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2545   2952   
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
 2546   2953   
similarity index 100%
 2547   2954   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2548   2955   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2549   2956   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2550   2957   
similarity index 100%
 2551   2958   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq
 2552   2959   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2553   2960   
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
 2554   2961   
new file mode 100644
 2555   2962   
index 0000000..629487f
 2556         -
-- /dev/null
        2963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2557   2964   
@@ -0,0 +1 @@
        2965  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2558   2966   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2559   2967   
similarity index 67%
 2560   2968   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq
 2561   2969   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2562   2970   
index 291ed07..f96ff9e 100644
 2563         -
-- 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
        2971  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2564   2972   
@@ -1,5 +1,6 @@
 2565   2973   
POST / HTTP/1.1
 2566   2974   
Host:example.amazonaws.com
 2567         -
X-Amz-Date:20150830T123600Z
 2568   2975   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2569         -
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
        2976  +
X-Amz-Date:20150830T123600Z
        2977  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2978  +
 2570   2979   
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
 2571   2980   
similarity index 100%
 2572   2981   
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
 2573   2982   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2574   2983   
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
 2575   2984   
new file mode 100644
 2576   2985   
index 0000000..d3341e7
 2577         -
-- /dev/null
        2986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2578   2987   
@@ -0,0 +1,7 @@
        2988  +
POST
        2989  +
/
        2990  +
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
        2991  +
host:example.amazonaws.com
        2992  +
        2993  +
host
        2994  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2579   2995   
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
 2580   2996   
new file mode 100644
 2581   2997   
index 0000000..79f7e0d
 2582         -
-- /dev/null
        2998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2583   2999   
@@ -0,0 +1 @@
        3000  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2584   3001   
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
 2585   3002   
new file mode 100644
 2586   3003   
index 0000000..4983268
 2587         -
-- /dev/null
        3004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2588   3005   
@@ -0,0 +1,3 @@
        3006  +
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
        3007  +
Host:example.amazonaws.com
        3008  +
 2589   3009   
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
 2590   3010   
new file mode 100644
 2591   3011   
index 0000000..e8f335b
 2592         -
-- /dev/null
        3012  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2593   3013   
@@ -0,0 +1,4 @@
        3014  +
AWS4-HMAC-SHA256
        3015  +
20150830T123600Z
        3016  +
20150830/us-east-1/service/aws4_request
        3017  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2594   3018   
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
 2595   3019   
similarity index 100%
 2596   3020   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2597   3021   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2598   3022   
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
 2599   3023   
similarity index 100%
 2600   3024   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2601   3025   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2602   3026   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2603   3027   
similarity index 100%
 2604   3028   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq
 2605   3029   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2606   3030   
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
 2607   3031   
new file mode 100644
 2608   3032   
index 0000000..85a7c29
 2609         -
-- /dev/null
        3033  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2610   3034   
@@ -0,0 +1 @@
        3035  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2611   3036   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2612   3037   
similarity index 65%
 2613   3038   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sreq
 2614   3039   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2615   3040   
index 37b2f04..4d0b143 100644
 2616         -
-- 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
        3041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2617   3042   
@@ -1,5 +1,6 @@
 2618   3043   
POST / HTTP/1.1
 2619   3044   
Host:example.amazonaws.com
 2620         -
X-Amz-Date:20150830T123600Z
 2621   3045   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2622         -
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
        3046  +
X-Amz-Date:20150830T123600Z
        3047  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3048  +
 2623   3049   
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
 2624   3050   
similarity index 100%
 2625   3051   
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
 2626   3052   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2627   3053   
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
 2628   3054   
new file mode 100644
 2629   3055   
index 0000000..57a7bc3
 2630         -
-- /dev/null
        3056  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2631   3057   
@@ -0,0 +1,7 @@
        3058  +
POST
        3059  +
/
        3060  +
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
        3061  +
host:example.amazonaws.com
        3062  +
        3063  +
host
        3064  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2632   3065   
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
 2633   3066   
new file mode 100644
 2634   3067   
index 0000000..eb905d2
 2635         -
-- /dev/null
        3068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2636   3069   
@@ -0,0 +1 @@
        3070  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2637   3071   
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
 2638   3072   
new file mode 100644
 2639   3073   
index 0000000..1d80ec0
 2640         -
-- /dev/null
        3074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2641   3075   
@@ -0,0 +1,3 @@
        3076  +
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
        3077  +
Host:example.amazonaws.com
        3078  +
 2642   3079   
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
 2643   3080   
new file mode 100644
 2644   3081   
index 0000000..bd0239a
 2645         -
-- /dev/null
        3082  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2646   3083   
@@ -0,0 +1,4 @@
        3084  +
AWS4-HMAC-SHA256
        3085  +
20150830T123600Z
        3086  +
20150830/us-east-1/service/aws4_request
        3087  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2647   3088   
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
 2648   3089   
similarity index 100%
 2649   3090   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2650   3091   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2651   3092   
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
 2652   3093   
new file mode 100644
 2653   3094   
index 0000000..0468d80
 2654         -
-- /dev/null
        3095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2655   3096   
@@ -0,0 +1,12 @@
        3097  +
{
        3098  +
    "credentials": {
        3099  +
        "access_key_id": "AKIDEXAMPLE",
        3100  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3101  +
    },
        3102  +
    "expiration_in_seconds": 3600,
        3103  +
    "normalize": true,
        3104  +
    "region": "us-east-1",
        3105  +
    "service": "service",
        3106  +
    "sign_body": false,
        3107  +
    "timestamp": "2015-08-30T12:36:00Z"
        3108  +
}
              \
 No newline at end of file
 2656   3109   
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
 2657   3110   
similarity index 100%
 2658   3111   
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
 2659   3112   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2660   3113   
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
 2661   3114   
new file mode 100644
 2662   3115   
index 0000000..80ed433
 2663         -
-- /dev/null
        3116  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2664   3117   
@@ -0,0 +1 @@
        3118  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2665   3119   
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
 2666   3120   
new file mode 100644
 2667   3121   
index 0000000..4e614f8
 2668         -
-- /dev/null
        3122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2669   3123   
@@ -0,0 +1,5 @@
        3124  +
POST /?Param1=value1 HTTP/1.1
        3125  +
Host:example.amazonaws.com
        3126  +
X-Amz-Date:20150830T123600Z
        3127  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3128  +
 2670   3129   
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
 2671   3130   
similarity index 100%
 2672   3131   
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
 2673   3132   
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
 2674   3133   
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
 2675   3134   
new file mode 100644
 2676   3135   
index 0000000..be66403
 2677         -
-- /dev/null
        3136  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2678   3137   
@@ -0,0 +1,7 @@
        3138  +
POST
        3139  +
/
        3140  +
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
        3141  +
host:example.amazonaws.com
        3142  +
        3143  +
host
        3144  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2679   3145   
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
 2680   3146   
new file mode 100644
 2681   3147   
index 0000000..20fd32b
 2682         -
-- /dev/null
        3148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2683   3149   
@@ -0,0 +1 @@
        3150  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2684   3151   
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
 2685   3152   
new file mode 100644
 2686   3153   
index 0000000..d1148d0
 2687         -
-- /dev/null
        3154  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2688   3155   
@@ -0,0 +1,3 @@
        3156  +
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
        3157  +
Host:example.amazonaws.com
        3158  +
 2689   3159   
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
 2690   3160   
new file mode 100644
 2691   3161   
index 0000000..1a77103
 2692         -
-- /dev/null
        3162  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2693   3163   
@@ -0,0 +1,4 @@
        3164  +
AWS4-HMAC-SHA256
        3165  +
20150830T123600Z
        3166  +
20150830/us-east-1/service/aws4_request
        3167  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2694   3168   
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
 2695   3169   
similarity index 100%
 2696   3170   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2697   3171   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2698   3172   
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
 2699   3173   
new file mode 100644
 2700   3174   
index 0000000..0468d80
 2701         -
-- /dev/null
        3175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2702   3176   
@@ -0,0 +1,12 @@
        3177  +
{
        3178  +
    "credentials": {
        3179  +
        "access_key_id": "AKIDEXAMPLE",
        3180  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3181  +
    },
        3182  +
    "expiration_in_seconds": 3600,
        3183  +
    "normalize": true,
        3184  +
    "region": "us-east-1",
        3185  +
    "service": "service",
        3186  +
    "sign_body": false,
        3187  +
    "timestamp": "2015-08-30T12:36:00Z"
        3188  +
}
              \
 No newline at end of file
 2703   3189   
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
 2704   3190   
similarity index 100%
 2705   3191   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2706   3192   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2707   3193   
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
 2708   3194   
new file mode 100644
 2709   3195   
index 0000000..80ed433
 2710         -
-- /dev/null
        3196  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2711   3197   
@@ -0,0 +1 @@
        3198  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2712   3199   
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
 2713   3200   
new file mode 100644
 2714   3201   
index 0000000..4e614f8
 2715         -
-- /dev/null
        3202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2716   3203   
@@ -0,0 +1,5 @@
        3204  +
POST /?Param1=value1 HTTP/1.1
        3205  +
Host:example.amazonaws.com
        3206  +
X-Amz-Date:20150830T123600Z
        3207  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3208  +
 2717   3209   
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
 2718   3210   
similarity index 100%
 2719   3211   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2720   3212   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2721   3213   
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
 2722   3214   
new file mode 100644
 2723   3215   
index 0000000..be66403
 2724         -
-- /dev/null
        3216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2725   3217   
@@ -0,0 +1,7 @@
        3218  +
POST
        3219  +
/
        3220  +
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
        3221  +
host:example.amazonaws.com
        3222  +
        3223  +
host
        3224  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2726   3225   
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
 2727   3226   
new file mode 100644
 2728   3227   
index 0000000..20fd32b
 2729         -
-- /dev/null
        3228  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2730   3229   
@@ -0,0 +1 @@
        3230  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2731   3231   
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
 2732   3232   
new file mode 100644
 2733   3233   
index 0000000..d1148d0
 2734         -
-- /dev/null
        3234  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2735   3235   
@@ -0,0 +1,3 @@
        3236  +
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
        3237  +
Host:example.amazonaws.com
        3238  +
 2736   3239   
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
 2737   3240   
new file mode 100644
 2738   3241   
index 0000000..1a77103
 2739         -
-- /dev/null
        3242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2740   3243   
@@ -0,0 +1,4 @@
        3244  +
AWS4-HMAC-SHA256
        3245  +
20150830T123600Z
        3246  +
20150830/us-east-1/service/aws4_request
        3247  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2741   3248   
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
 2742   3249   
similarity index 100%
 2743   3250   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2744   3251   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2745   3252   
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
 2746   3253   
new file mode 100644
 2747   3254   
index 0000000..0468d80
 2748         -
-- /dev/null
        3255  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2749   3256   
@@ -0,0 +1,12 @@
        3257  +
{
        3258  +
    "credentials": {
        3259  +
        "access_key_id": "AKIDEXAMPLE",
        3260  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3261  +
    },
        3262  +
    "expiration_in_seconds": 3600,
        3263  +
    "normalize": true,
        3264  +
    "region": "us-east-1",
        3265  +
    "service": "service",
        3266  +
    "sign_body": false,
        3267  +
    "timestamp": "2015-08-30T12:36:00Z"
        3268  +
}
              \
 No newline at end of file
 2750   3269   
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
 2751   3270   
similarity index 100%
 2752   3271   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2753   3272   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2754   3273   
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
 2755   3274   
new file mode 100644
 2756   3275   
index 0000000..629487f
 2757         -
-- /dev/null
        3276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2758   3277   
@@ -0,0 +1 @@
        3278  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2759   3279   
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
 2760   3280   
new file mode 100644
 2761   3281   
index 0000000..0d99b1c
 2762         -
-- /dev/null
        3282  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2763   3283   
@@ -0,0 +1,5 @@
        3284  +
POST / HTTP/1.1
        3285  +
Host:example.amazonaws.com
        3286  +
X-Amz-Date:20150830T123600Z
        3287  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3288  +
 2764   3289   
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
 2765   3290   
similarity index 100%
 2766   3291   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2767   3292   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2768   3293   
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
 2769   3294   
new file mode 100644
 2770   3295   
index 0000000..d3341e7
 2771         -
-- /dev/null
        3296  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2772   3297   
@@ -0,0 +1,7 @@
        3298  +
POST
        3299  +
/
        3300  +
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
        3301  +
host:example.amazonaws.com
        3302  +
        3303  +
host
        3304  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2773   3305   
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
 2774   3306   
new file mode 100644
 2775   3307   
index 0000000..79f7e0d
 2776         -
-- /dev/null
        3308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2777   3309   
@@ -0,0 +1 @@
        3310  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2778   3311   
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
 2779   3312   
new file mode 100644
 2780   3313   
index 0000000..94f1b21
 2781         -
-- /dev/null
        3314  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2782   3315   
@@ -0,0 +1,3 @@
        3316  +
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
        3317  +
Host:example.amazonaws.com
        3318  +
 2783   3319   
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
 2784   3320   
new file mode 100644
 2785   3321   
index 0000000..e8f335b
 2786         -
-- /dev/null
        3322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2787   3323   
@@ -0,0 +1,4 @@
        3324  +
AWS4-HMAC-SHA256
        3325  +
20150830T123600Z
        3326  +
20150830/us-east-1/service/aws4_request
        3327  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2788   3328   
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
 2789   3329   
similarity index 100%
 2790   3330   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2791   3331   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2792   3332   
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
 2793   3333   
similarity index 99%
 2794   3334   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2795   3335   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2796   3336   
index fc4bce6..0db1df1 100644
 2797   3337   
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
 2798   3338   
new file mode 100644
 2799   3339   
index 0000000..c218fdf
 2800         -
-- /dev/null
        3340  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2801   3341   
@@ -0,0 +1,11 @@
        3342  +
POST
        3343  +
/
        3344  +
        3345  +
content-length:13
        3346  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3347  +
host:example.amazonaws.com
        3348  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3349  +
x-amz-date:20150830T123600Z
        3350  +
        3351  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3352  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2802   3353   
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
 2803   3354   
new file mode 100644
 2804   3355   
index 0000000..836aa8b
 2805         -
-- /dev/null
        3356  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2806   3357   
@@ -0,0 +1 @@
        3358  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2807   3359   
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
 2808   3360   
new file mode 100644
 2809   3361   
index 0000000..9262d53
 2810         -
-- /dev/null
        3362  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2811   3363   
@@ -0,0 +1,9 @@
        3364  +
POST / HTTP/1.1
        3365  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3366  +
Host:example.amazonaws.com
        3367  +
Content-Length:13
        3368  +
X-Amz-Date:20150830T123600Z
        3369  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3370  +
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
        3371  +
        3372  +
Param1=value1
              \
 No newline at end of file
 2812   3373   
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
 2813   3374   
new file mode 100644
 2814   3375   
index 0000000..ddbdccc
 2815         -
-- /dev/null
        3376  +
++ 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
 2816   3377   
@@ -0,0 +1,4 @@
        3378  +
AWS4-HMAC-SHA256
        3379  +
20150830T123600Z
        3380  +
20150830/us-east-1/service/aws4_request
        3381  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2817   3382   
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
 2818   3383   
new file mode 100644
 2819   3384   
index 0000000..596a579
 2820         -
-- /dev/null
        3385  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2821   3386   
@@ -0,0 +1,9 @@
        3387  +
POST
        3388  +
/
        3389  +
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
        3390  +
content-length:13
        3391  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3392  +
host:example.amazonaws.com
        3393  +
        3394  +
content-length;content-type;host
        3395  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2822   3396   
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
 2823   3397   
new file mode 100644
 2824   3398   
index 0000000..bc85cd8
 2825         -
-- /dev/null
        3399  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2826   3400   
@@ -0,0 +1 @@
        3401  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2827   3402   
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
 2828   3403   
new file mode 100644
 2829   3404   
index 0000000..16b59e5
 2830         -
-- /dev/null
        3405  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2831   3406   
@@ -0,0 +1,6 @@
        3407  +
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
        3408  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3409  +
Host:example.amazonaws.com
        3410  +
Content-Length:13
        3411  +
        3412  +
Param1=value1
              \
 No newline at end of file
 2832   3413   
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
 2833   3414   
new file mode 100644
 2834   3415   
index 0000000..50074af
 2835         -
-- /dev/null
        3416  +
++ 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
 2836   3417   
@@ -0,0 +1,4 @@
        3418  +
AWS4-HMAC-SHA256
        3419  +
20150830T123600Z
        3420  +
20150830/us-east-1/service/aws4_request
        3421  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2837   3422   
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
 2838   3423   
similarity index 89%
 2839   3424   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2840   3425   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2841   3426   
index b711c25..8289eaa 100644
 2842   3427   
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
 2843   3428   
similarity index 99%
 2844   3429   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2845   3430   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2846   3431   
index fc4bce6..0db1df1 100644
 2847   3432   
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
 2848   3433   
new file mode 100644
 2849   3434   
index 0000000..4d116a5
 2850         -
-- /dev/null
        3435  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 2851   3436   
@@ -0,0 +1,11 @@
        3437  +
POST
        3438  +
/
        3439  +
        3440  +
content-length:13
        3441  +
content-type:application/x-www-form-urlencoded
        3442  +
host:example.amazonaws.com
        3443  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3444  +
x-amz-date:20150830T123600Z
        3445  +
        3446  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3447  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2852   3448   
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
 2853   3449   
new file mode 100644
 2854   3450   
index 0000000..0d2ac37
 2855         -
-- /dev/null
        3451  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 2856   3452   
@@ -0,0 +1 @@
        3453  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 2857   3454   
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
 2858   3455   
new file mode 100644
 2859   3456   
index 0000000..bd5e49c
 2860         -
-- /dev/null
        3457  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 2861   3458   
@@ -0,0 +1,9 @@
        3459  +
POST / HTTP/1.1
        3460  +
Content-Type:application/x-www-form-urlencoded
        3461  +
Host:example.amazonaws.com
        3462  +
Content-Length:13
        3463  +
X-Amz-Date:20150830T123600Z
        3464  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3465  +
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
        3466  +
        3467  +
Param1=value1
              \
 No newline at end of file
 2862   3468   
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
 2863   3469   
new file mode 100644
 2864   3470   
index 0000000..f1c599c
 2865         -
-- /dev/null
        3471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 2866   3472   
@@ -0,0 +1,4 @@
        3473  +
AWS4-HMAC-SHA256
        3474  +
20150830T123600Z
        3475  +
20150830/us-east-1/service/aws4_request
        3476  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 2867   3477   
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
 2868   3478   
new file mode 100644
 2869   3479   
index 0000000..1fc1bb7
 2870         -
-- /dev/null
        3480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 2871   3481   
@@ -0,0 +1,9 @@
        3482  +
POST
        3483  +
/
        3484  +
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
        3485  +
content-length:13
        3486  +
content-type:application/x-www-form-urlencoded
        3487  +
host:example.amazonaws.com
        3488  +
        3489  +
content-length;content-type;host
        3490  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2872   3491   
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
 2873   3492   
new file mode 100644
 2874   3493   
index 0000000..98c91b3
 2875         -
-- /dev/null
        3494  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 2876   3495   
@@ -0,0 +1 @@
        3496  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 2877   3497   
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
 2878   3498   
new file mode 100644
 2879   3499   
index 0000000..055cd7a
 2880         -
-- /dev/null
        3500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 2881   3501   
@@ -0,0 +1,6 @@
        3502  +
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
        3503  +
Content-Type:application/x-www-form-urlencoded
        3504  +
Host:example.amazonaws.com
        3505  +
Content-Length:13
        3506  +
        3507  +
Param1=value1
              \
 No newline at end of file
 2882   3508   
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
 2883   3509   
new file mode 100644
 2884   3510   
index 0000000..db7fc27
 2885         -
-- /dev/null
        3511  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 2886   3512   
@@ -0,0 +1,4 @@
        3513  +
AWS4-HMAC-SHA256
        3514  +
20150830T123600Z
        3515  +
20150830/us-east-1/service/aws4_request
        3516  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 2887   3517   
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
 2888   3518   
similarity index 88%
 2889   3519   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 2890   3520   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 2891   3521   
index 0091102..760b2d3 100644
 2892   3522   
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
 2893   3523   
new file mode 100644
 2894   3524   
index 0000000..0468d80
 2895         -
-- /dev/null
        3525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 2896   3526   
@@ -0,0 +1,12 @@
        3527  +
{
        3528  +
    "credentials": {
        3529  +
        "access_key_id": "AKIDEXAMPLE",
        3530  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3531  +
    },
        3532  +
    "expiration_in_seconds": 3600,
        3533  +
    "normalize": true,
        3534  +
    "region": "us-east-1",
        3535  +
    "service": "service",
        3536  +
    "sign_body": false,
        3537  +
    "timestamp": "2015-08-30T12:36:00Z"
        3538  +
}
              \
 No newline at end of file
 2897   3539   
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
 2898   3540   
similarity index 99%
 2899   3541   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 2900   3542   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 2901   3543   
index ccb5f43..1bc448e 100644
 2902   3544   
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
 2903   3545   
new file mode 100644
 2904   3546   
index 0000000..489c182
 2905         -
-- /dev/null
        3547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 2906   3548   
@@ -0,0 +1 @@
        3549  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 2907   3550   
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
 2908   3551   
new file mode 100644
 2909   3552   
index 0000000..e1b8dbf
 2910         -
-- /dev/null
        3553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 2911   3554   
@@ -0,0 +1,9 @@
        3555  +
GET / HTTP/1.1
        3556  +
Host:example.amazonaws.com
        3557  +
My-Header1:value2
        3558  +
My-Header1:value2
        3559  +
My-Header1:value1
        3560  +
X-Amz-Date:20150830T123600Z
        3561  +
X-Amz-Region-Set:us-east-1
        3562  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3563  +
 2912   3564   
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
 2913   3565   
similarity index 99%
 2914   3566   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 2915   3567   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 2916   3568   
index 8783461..bfc4619 100644
 2917   3569   
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
 2918   3570   
new file mode 100644
 2919   3571   
index 0000000..379dcb2
 2920         -
-- /dev/null
        3572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 2921   3573   
@@ -0,0 +1,4 @@
        3574  +
{
        3575  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3576  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3577  +
}
 2922   3578   
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
 2923   3579   
similarity index 99%
 2924   3580   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 2925   3581   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 2926   3582   
index 9561297..c05c3f5 100644
 2927   3583   
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
 2928   3584   
new file mode 100644
 2929   3585   
index 0000000..de9a4c3
 2930         -
-- /dev/null
        3586  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 2931   3587   
@@ -0,0 +1 @@
        3588  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 2932   3589   
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
 2933   3590   
new file mode 100644
 2934   3591   
index 0000000..6c6b8c4
 2935         -
-- /dev/null
        3592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 2936   3593   
@@ -0,0 +1,6 @@
        3594  +
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
        3595  +
Host:example.amazonaws.com
        3596  +
My-Header1:value2
        3597  +
My-Header1:value2
        3598  +
My-Header1:value1
        3599  +
 2937   3600   
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
 2938   3601   
similarity index 99%
 2939   3602   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 2940   3603   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 2941   3604   
index 3140f6f..4eef106 100644
 2942   3605   
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
 2943   3606   
similarity index 78%
 2944   3607   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 2945   3608   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2946   3609   
index 08a0364..40455ce 100644
 2947         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3610  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2948   3611   
@@ -1,6 +1,5 @@
 2949   3612   
GET / HTTP/1.1
 2950   3613   
Host:example.amazonaws.com
 2951   3614   
My-Header1:value2
 2952   3615   
My-Header1:value2
 2953   3616   
My-Header1:value1
 2954         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2955   3617   
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
 2956   3618   
new file mode 100644
 2957   3619   
index 0000000..0468d80
 2958         -
-- /dev/null
        3620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 2959   3621   
@@ -0,0 +1,12 @@
        3622  +
{
        3623  +
    "credentials": {
        3624  +
        "access_key_id": "AKIDEXAMPLE",
        3625  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3626  +
    },
        3627  +
    "expiration_in_seconds": 3600,
        3628  +
    "normalize": true,
        3629  +
    "region": "us-east-1",
        3630  +
    "service": "service",
        3631  +
    "sign_body": false,
        3632  +
    "timestamp": "2015-08-30T12:36:00Z"
        3633  +
}
              \
 No newline at end of file
 2960   3634   
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
 2961   3635   
new file mode 100644
 2962   3636   
index 0000000..69526cd
 2963         -
-- /dev/null
        3637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 2964   3638   
@@ -0,0 +1,10 @@
        3639  +
GET
        3640  +
/
        3641  +
        3642  +
host:example.amazonaws.com
        3643  +
my-header1:value1 value2 value3
        3644  +
x-amz-date:20150830T123600Z
        3645  +
x-amz-region-set:us-east-1
        3646  +
        3647  +
host;my-header1;x-amz-date;x-amz-region-set
        3648  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2965   3649   
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
 2966   3650   
new file mode 100644
 2967   3651   
index 0000000..d51b4f3
 2968         -
-- /dev/null
        3652  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 2969   3653   
@@ -0,0 +1 @@
        3654  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 2970   3655   
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
 2971   3656   
new file mode 100644
 2972   3657   
index 0000000..8131420
 2973         -
-- /dev/null
        3658  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 2974   3659   
@@ -0,0 +1,9 @@
        3660  +
GET / HTTP/1.1
        3661  +
Host:example.amazonaws.com
        3662  +
My-Header1:value1
        3663  +
  value2
        3664  +
     value3
        3665  +
X-Amz-Date:20150830T123600Z
        3666  +
X-Amz-Region-Set:us-east-1
        3667  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3668  +
 2975   3669   
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
 2976   3670   
new file mode 100644
 2977   3671   
index 0000000..e4d99fa
 2978         -
-- /dev/null
        3672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 2979   3673   
@@ -0,0 +1,4 @@
        3674  +
AWS4-ECDSA-P256-SHA256
        3675  +
20150830T123600Z
        3676  +
20150830/service/aws4_request
        3677  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 2980   3678   
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
 2981   3679   
new file mode 100644
 2982   3680   
index 0000000..379dcb2
 2983         -
-- /dev/null
        3681  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 2984   3682   
@@ -0,0 +1,4 @@
        3683  +
{
        3684  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3685  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3686  +
}
 2985   3687   
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
 2986   3688   
new file mode 100644
 2987   3689   
index 0000000..3c4d52f
 2988         -
-- /dev/null
        3690  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 2989   3691   
@@ -0,0 +1,8 @@
        3692  +
GET
        3693  +
/
        3694  +
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
        3695  +
host:example.amazonaws.com
        3696  +
my-header1:value1 value2 value3
        3697  +
        3698  +
host;my-header1
        3699  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2990   3700   
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
 2991   3701   
new file mode 100644
 2992   3702   
index 0000000..4e63f9a
 2993         -
-- /dev/null
        3703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 2994   3704   
@@ -0,0 +1 @@
        3705  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 2995   3706   
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
 2996   3707   
new file mode 100644
 2997   3708   
index 0000000..adf1f09
 2998         -
-- /dev/null
        3709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 2999   3710   
@@ -0,0 +1,6 @@
        3711  +
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
        3712  +
Host:example.amazonaws.com
        3713  +
My-Header1:value1
        3714  +
  value2
        3715  +
     value3
        3716  +
 3000   3717   
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
 3001   3718   
new file mode 100644
 3002   3719   
index 0000000..e085407
 3003         -
-- /dev/null
        3720  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3004   3721   
@@ -0,0 +1,4 @@
        3722  +
AWS4-ECDSA-P256-SHA256
        3723  +
20150830T123600Z
        3724  +
20150830/service/aws4_request
        3725  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 3005   3726   
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
 3006   3727   
new file mode 100644
 3007   3728   
index 0000000..b5026cd
 3008         -
-- /dev/null
        3729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3009   3730   
@@ -0,0 +1,5 @@
        3731  +
GET / HTTP/1.1
        3732  +
Host:example.amazonaws.com
        3733  +
My-Header1:value1
        3734  +
  value2
        3735  +
     value3
 3010   3736   
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
 3011   3737   
new file mode 100644
 3012   3738   
index 0000000..0468d80
 3013         -
-- /dev/null
        3739  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3014   3740   
@@ -0,0 +1,12 @@
        3741  +
{
        3742  +
    "credentials": {
        3743  +
        "access_key_id": "AKIDEXAMPLE",
        3744  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3745  +
    },
        3746  +
    "expiration_in_seconds": 3600,
        3747  +
    "normalize": true,
        3748  +
    "region": "us-east-1",
        3749  +
    "service": "service",
        3750  +
    "sign_body": false,
        3751  +
    "timestamp": "2015-08-30T12:36:00Z"
        3752  +
}
              \
 No newline at end of file
 3015   3753   
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
 3016   3754   
similarity index 99%
 3017   3755   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3018   3756   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3019   3757   
index 9375193..533afdb 100644
 3020   3758   
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
 3021   3759   
new file mode 100644
 3022   3760   
index 0000000..057b426
 3023         -
-- /dev/null
        3761  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3024   3762   
@@ -0,0 +1 @@
        3763  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3025   3764   
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
 3026   3765   
new file mode 100644
 3027   3766   
index 0000000..4e4ccf0
 3028         -
-- /dev/null
        3767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3029   3768   
@@ -0,0 +1,10 @@
        3769  +
GET / HTTP/1.1
        3770  +
Host:example.amazonaws.com
        3771  +
My-Header1:value4
        3772  +
My-Header1:value1
        3773  +
My-Header1:value3
        3774  +
My-Header1:value2
        3775  +
X-Amz-Date:20150830T123600Z
        3776  +
X-Amz-Region-Set:us-east-1
        3777  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3778  +
 3030   3779   
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
 3031   3780   
similarity index 99%
 3032   3781   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3033   3782   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3034   3783   
index 6400baf..e68c952 100644
 3035   3784   
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
 3036   3785   
new file mode 100644
 3037   3786   
index 0000000..379dcb2
 3038         -
-- /dev/null
        3787  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3039   3788   
@@ -0,0 +1,4 @@
        3789  +
{
        3790  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3791  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3792  +
}
 3040   3793   
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
 3041   3794   
similarity index 99%
 3042   3795   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3043   3796   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3044   3797   
index ecf494a..68450fe 100644
 3045   3798   
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
 3046   3799   
new file mode 100644
 3047   3800   
index 0000000..9df2eb3
 3048         -
-- /dev/null
        3801  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3049   3802   
@@ -0,0 +1 @@
        3803  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3050   3804   
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
 3051   3805   
new file mode 100644
 3052   3806   
index 0000000..62f8cb7
 3053         -
-- /dev/null
        3807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3054   3808   
@@ -0,0 +1,7 @@
        3809  +
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
        3810  +
Host:example.amazonaws.com
        3811  +
My-Header1:value4
        3812  +
My-Header1:value1
        3813  +
My-Header1:value3
        3814  +
My-Header1:value2
        3815  +
 3055   3816   
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
 3056   3817   
similarity index 99%
 3057   3818   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3058   3819   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3059   3820   
index b584179..2bcf7b1 100644
 3060   3821   
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
 3061   3822   
similarity index 80%
 3062   3823   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3063   3824   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3064   3825   
index f7bd9e6..2c6f49d 100644
 3065         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3826  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3066   3827   
@@ -1,7 +1,6 @@
 3067   3828   
GET / HTTP/1.1
 3068   3829   
Host:example.amazonaws.com
 3069   3830   
My-Header1:value4
 3070   3831   
My-Header1:value1
 3071   3832   
My-Header1:value3
 3072   3833   
My-Header1:value2
 3073         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3074   3834   
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
 3075   3835   
new file mode 100644
 3076   3836   
index 0000000..0468d80
 3077         -
-- /dev/null
        3837  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3078   3838   
@@ -0,0 +1,12 @@
        3839  +
{
        3840  +
    "credentials": {
        3841  +
        "access_key_id": "AKIDEXAMPLE",
        3842  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3843  +
    },
        3844  +
    "expiration_in_seconds": 3600,
        3845  +
    "normalize": true,
        3846  +
    "region": "us-east-1",
        3847  +
    "service": "service",
        3848  +
    "sign_body": false,
        3849  +
    "timestamp": "2015-08-30T12:36:00Z"
        3850  +
}
              \
 No newline at end of file
 3079   3851   
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
 3080   3852   
similarity index 99%
 3081   3853   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3082   3854   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3083   3855   
index e91e952..94b6be5 100644
 3084   3856   
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
 3085   3857   
new file mode 100644
 3086   3858   
index 0000000..bf8c3cb
 3087         -
-- /dev/null
        3859  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3088   3860   
@@ -0,0 +1 @@
        3861  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3089   3862   
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
 3090   3863   
new file mode 100644
 3091   3864   
index 0000000..f7f054d
 3092         -
-- /dev/null
        3865  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3093   3866   
@@ -0,0 +1,8 @@
        3867  +
GET / HTTP/1.1
        3868  +
Host:example.amazonaws.com
        3869  +
My-Header1: value1
        3870  +
My-Header2: "a   b   c"
        3871  +
X-Amz-Date:20150830T123600Z
        3872  +
X-Amz-Region-Set:us-east-1
        3873  +
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
        3874  +
 3094   3875   
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
 3095   3876   
similarity index 99%
 3096   3877   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3097   3878   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3098   3879   
index 0e407d8..a2c9c05 100644
 3099   3880   
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
 3100   3881   
new file mode 100644
 3101   3882   
index 0000000..379dcb2
 3102         -
-- /dev/null
        3883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3103   3884   
@@ -0,0 +1,4 @@
        3885  +
{
        3886  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3887  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3888  +
}
 3104   3889   
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
 3105   3890   
similarity index 99%
 3106   3891   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3107   3892   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3108   3893   
index 8a3b042..3a51150 100644
 3109   3894   
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
 3110   3895   
new file mode 100644
 3111   3896   
index 0000000..0033053
 3112         -
-- /dev/null
        3897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3113   3898   
@@ -0,0 +1 @@
        3899  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3114   3900   
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
 3115   3901   
new file mode 100644
 3116   3902   
index 0000000..1537888
 3117         -
-- /dev/null
        3903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3118   3904   
@@ -0,0 +1,5 @@
        3905  +
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
        3906  +
Host:example.amazonaws.com
        3907  +
My-Header1: value1
        3908  +
My-Header2: "a   b   c"
        3909  +
 3119   3910   
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
 3120   3911   
similarity index 99%
 3121   3912   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3122   3913   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3123   3914   
index 5eead25..633dc1f 100644
 3124   3915   
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
 3125   3916   
similarity index 75%
 3126   3917   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3127   3918   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3128   3919   
index 901f36c..ad1ea98 100644
 3129         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        3920  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3130   3921   
@@ -1,5 +1,4 @@
 3131   3922   
GET / HTTP/1.1
 3132   3923   
Host:example.amazonaws.com
 3133   3924   
My-Header1: value1
 3134   3925   
My-Header2: "a   b   c"
 3135         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3136   3926   
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
 3137   3927   
new file mode 100644
 3138   3928   
index 0000000..0468d80
 3139         -
-- /dev/null
        3929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3140   3930   
@@ -0,0 +1,12 @@
        3931  +
{
        3932  +
    "credentials": {
        3933  +
        "access_key_id": "AKIDEXAMPLE",
        3934  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3935  +
    },
        3936  +
    "expiration_in_seconds": 3600,
        3937  +
    "normalize": true,
        3938  +
    "region": "us-east-1",
        3939  +
    "service": "service",
        3940  +
    "sign_body": false,
        3941  +
    "timestamp": "2015-08-30T12:36:00Z"
        3942  +
}
              \
 No newline at end of file
 3141   3943   
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
 3142   3944   
similarity index 99%
 3143   3945   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3144   3946   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3145   3947   
index 47e7128..76db73d 100644
 3146   3948   
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
 3147   3949   
new file mode 100644
 3148   3950   
index 0000000..cbd6ae2
 3149         -
-- /dev/null
        3951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3150   3952   
@@ -0,0 +1 @@
        3953  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3151   3954   
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
 3152   3955   
new file mode 100644
 3153   3956   
index 0000000..a343fcf
 3154         -
-- /dev/null
        3957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3155   3958   
@@ -0,0 +1,6 @@
        3959  +
GET /example/.. HTTP/1.1
        3960  +
Host:example.amazonaws.com
        3961  +
X-Amz-Date:20150830T123600Z
        3962  +
X-Amz-Region-Set:us-east-1
        3963  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        3964  +
 3156   3965   
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
 3157   3966   
similarity index 99%
 3158   3967   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3159   3968   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3160   3969   
index 95d7219..600f1d8 100644
 3161   3970   
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
 3162   3971   
new file mode 100644
 3163   3972   
index 0000000..379dcb2
 3164         -
-- /dev/null
        3973  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3165   3974   
@@ -0,0 +1,4 @@
        3975  +
{
        3976  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3977  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3978  +
}
 3166   3979   
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
 3167   3980   
similarity index 99%
 3168   3981   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3169   3982   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3170   3983   
index a34ea26..779c51c 100644
 3171   3984   
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
 3172   3985   
new file mode 100644
 3173   3986   
index 0000000..3cc88e6
 3174         -
-- /dev/null
        3987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3175   3988   
@@ -0,0 +1 @@
        3989  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3176   3990   
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
 3177   3991   
new file mode 100644
 3178   3992   
index 0000000..f68dde8
 3179         -
-- /dev/null
        3993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3180   3994   
@@ -0,0 +1,3 @@
        3995  +
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
        3996  +
Host:example.amazonaws.com
        3997  +
 3181   3998   
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
 3182   3999   
similarity index 99%
 3183   4000   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3184   4001   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3185   4002   
index 48f855c..6e29a7e 100644
 3186   4003   
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
 3187   4004   
similarity index 65%
 3188   4005   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3189   4006   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3190   4007   
index 9d6d7ca..6aa9f99 100644
 3191         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        4008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3192   4009   
@@ -1,3 +1,2 @@
 3193   4010   
GET /example/.. HTTP/1.1
 3194   4011   
Host:example.amazonaws.com
 3195         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3196   4012   
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
 3197   4013   
new file mode 100644
 3198   4014   
index 0000000..0468d80
 3199         -
-- /dev/null
        4015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3200   4016   
@@ -0,0 +1,12 @@
        4017  +
{
        4018  +
    "credentials": {
        4019  +
        "access_key_id": "AKIDEXAMPLE",
        4020  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4021  +
    },
        4022  +
    "expiration_in_seconds": 3600,
        4023  +
    "normalize": true,
        4024  +
    "region": "us-east-1",
        4025  +
    "service": "service",
        4026  +
    "sign_body": false,
        4027  +
    "timestamp": "2015-08-30T12:36:00Z"
        4028  +
}
              \
 No newline at end of file
 3201   4029   
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
 3202   4030   
similarity index 99%
 3203   4031   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3204   4032   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3205   4033   
index 47e7128..76db73d 100644
 3206   4034   
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
 3207   4035   
new file mode 100644
 3208   4036   
index 0000000..f7a7ebe
 3209         -
-- /dev/null
        4037  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3210   4038   
@@ -0,0 +1 @@
        4039  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3211   4040   
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
 3212   4041   
new file mode 100644
 3213   4042   
index 0000000..9d2c50d
 3214         -
-- /dev/null
        4043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3215   4044   
@@ -0,0 +1,6 @@
        4045  +
GET /example1/example2/../.. HTTP/1.1
        4046  +
Host:example.amazonaws.com
        4047  +
X-Amz-Date:20150830T123600Z
        4048  +
X-Amz-Region-Set:us-east-1
        4049  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4050  +
 3216   4051   
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
 3217   4052   
similarity index 99%
 3218   4053   
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
 3219   4054   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3220   4055   
index 95d7219..600f1d8 100644
 3221   4056   
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
 3222   4057   
new file mode 100644
 3223   4058   
index 0000000..379dcb2
 3224         -
-- /dev/null
        4059  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3225   4060   
@@ -0,0 +1,4 @@
        4061  +
{
        4062  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4063  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4064  +
}
 3226   4065   
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
 3227   4066   
similarity index 99%
 3228   4067   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3229   4068   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3230   4069   
index a34ea26..779c51c 100644
 3231   4070   
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
 3232   4071   
new file mode 100644
 3233   4072   
index 0000000..45ef286
 3234         -
-- /dev/null
        4073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3235   4074   
@@ -0,0 +1 @@
        4075  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3236   4076   
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
 3237   4077   
new file mode 100644
 3238   4078   
index 0000000..0d16f66
 3239         -
-- /dev/null
        4079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3240   4080   
@@ -0,0 +1,3 @@
        4081  +
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
        4082  +
Host:example.amazonaws.com
        4083  +
 3241   4084   
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
 3242   4085   
similarity index 99%
 3243   4086   
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
 3244   4087   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3245   4088   
index 48f855c..6e29a7e 100644
 3246   4089   
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
 3247   4090   
similarity index 70%
 3248   4091   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3249   4092   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3250   4093   
index cfd4e8b..a856c10 100644
 3251         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3252   4095   
@@ -1,3 +1,2 @@
 3253   4096   
GET /example1/example2/../.. HTTP/1.1
 3254   4097   
Host:example.amazonaws.com
 3255         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3256   4098   
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
 3257   4099   
new file mode 100644
 3258   4100   
index 0000000..7bee5c7
 3259         -
-- /dev/null
        4101  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3260   4102   
@@ -0,0 +1,12 @@
        4103  +
{
        4104  +
    "credentials": {
        4105  +
        "access_key_id": "AKIDEXAMPLE",
        4106  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4107  +
    },
        4108  +
    "expiration_in_seconds": 3600,
        4109  +
    "normalize": false,
        4110  +
    "region": "us-east-1",
        4111  +
    "service": "service",
        4112  +
    "sign_body": false,
        4113  +
    "timestamp": "2015-08-30T12:36:00Z"
        4114  +
}
              \
 No newline at end of file
 3261   4115   
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
 3262   4116   
similarity index 99%
 3263   4117   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3264   4118   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3265   4119   
index 5e1d1cf..e4e6d57 100644
 3266   4120   
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
 3267   4121   
new file mode 100644
 3268   4122   
index 0000000..2d1b47c
 3269         -
-- /dev/null
        4123  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3270   4124   
@@ -0,0 +1 @@
        4125  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3271   4126   
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
 3272   4127   
new file mode 100644
 3273   4128   
index 0000000..7158179
 3274         -
-- /dev/null
        4129  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3275   4130   
@@ -0,0 +1,6 @@
        4131  +
GET /example1/example2/../.. HTTP/1.1
        4132  +
Host:example.amazonaws.com
        4133  +
X-Amz-Date:20150830T123600Z
        4134  +
X-Amz-Region-Set:us-east-1
        4135  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4136  +
 3276   4137   
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
 3277   4138   
similarity index 99%
 3278   4139   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3279   4140   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3280   4141   
index 1cca6cf..db60c8e 100644
 3281   4142   
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
 3282   4143   
new file mode 100644
 3283   4144   
index 0000000..379dcb2
 3284         -
-- /dev/null
        4145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3285   4146   
@@ -0,0 +1,4 @@
        4147  +
{
        4148  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4149  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4150  +
}
 3286   4151   
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
 3287   4152   
similarity index 99%
 3288   4153   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3289   4154   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3290   4155   
index 95dc104..0d963ba 100644
 3291   4156   
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
 3292   4157   
new file mode 100644
 3293   4158   
index 0000000..ae774e4
 3294         -
-- /dev/null
        4159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3295   4160   
@@ -0,0 +1 @@
        4161  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3296   4162   
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
 3297   4163   
new file mode 100644
 3298   4164   
index 0000000..be6b86e
 3299         -
-- /dev/null
        4165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3300   4166   
@@ -0,0 +1,3 @@
        4167  +
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
        4168  +
Host:example.amazonaws.com
        4169  +
 3301   4170   
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
 3302   4171   
similarity index 99%
 3303   4172   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3304   4173   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3305   4174   
index 50edce6..fcc70cd 100644
 3306   4175   
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
 3307   4176   
new file mode 100644
 3308   4177   
index 0000000..a856c10
 3309         -
-- /dev/null
        4178  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3310   4179   
@@ -0,0 +1,2 @@
        4180  +
GET /example1/example2/../.. HTTP/1.1
        4181  +
Host:example.amazonaws.com
 3311   4182   
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
 3312   4183   
new file mode 100644
 3313   4184   
index 0000000..7bee5c7
 3314         -
-- /dev/null
        4185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3315   4186   
@@ -0,0 +1,12 @@
        4187  +
{
        4188  +
    "credentials": {
        4189  +
        "access_key_id": "AKIDEXAMPLE",
        4190  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4191  +
    },
        4192  +
    "expiration_in_seconds": 3600,
        4193  +
    "normalize": false,
        4194  +
    "region": "us-east-1",
        4195  +
    "service": "service",
        4196  +
    "sign_body": false,
        4197  +
    "timestamp": "2015-08-30T12:36:00Z"
        4198  +
}
              \
 No newline at end of file
 3316   4199   
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
 3317   4200   
similarity index 99%
 3318   4201   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3319   4202   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3320   4203   
index d6a0abe..22def1a 100644
 3321   4204   
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
 3322   4205   
new file mode 100644
 3323   4206   
index 0000000..9251bad
 3324         -
-- /dev/null
        4207  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3325   4208   
@@ -0,0 +1 @@
        4209  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3326   4210   
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
 3327   4211   
new file mode 100644
 3328   4212   
index 0000000..f1bb60f
 3329         -
-- /dev/null
        4213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3330   4214   
@@ -0,0 +1,6 @@
        4215  +
GET /example/.. HTTP/1.1
        4216  +
Host:example.amazonaws.com
        4217  +
X-Amz-Date:20150830T123600Z
        4218  +
X-Amz-Region-Set:us-east-1
        4219  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4220  +
 3331   4221   
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
 3332   4222   
similarity index 99%
 3333   4223   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3334   4224   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3335   4225   
index 4a34e93..5673a20 100644
 3336   4226   
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
 3337   4227   
new file mode 100644
 3338   4228   
index 0000000..379dcb2
 3339         -
-- /dev/null
        4229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3340   4230   
@@ -0,0 +1,4 @@
        4231  +
{
        4232  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4233  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4234  +
}
 3341   4235   
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
 3342   4236   
similarity index 99%
 3343   4237   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3344   4238   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3345   4239   
index b1d123e..a1c22e0 100644
 3346   4240   
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
 3347   4241   
new file mode 100644
 3348   4242   
index 0000000..9f0f686
 3349         -
-- /dev/null
        4243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3350   4244   
@@ -0,0 +1 @@
        4245  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3351   4246   
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
 3352   4247   
new file mode 100644
 3353   4248   
index 0000000..d1d451a
 3354         -
-- /dev/null
        4249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3355   4250   
@@ -0,0 +1,3 @@
        4251  +
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
        4252  +
Host:example.amazonaws.com
        4253  +
 3356   4254   
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
 3357   4255   
similarity index 99%
 3358   4256   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3359   4257   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3360   4258   
index a17f5ab..81b41e8 100644
 3361   4259   
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
 3362   4260   
new file mode 100644
 3363   4261   
index 0000000..6aa9f99
 3364         -
-- /dev/null
        4262  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3365   4263   
@@ -0,0 +1,2 @@
        4264  +
GET /example/.. HTTP/1.1
        4265  +
Host:example.amazonaws.com
 3366   4266   
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
 3367   4267   
new file mode 100644
 3368   4268   
index 0000000..0468d80
 3369         -
-- /dev/null
        4269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3370   4270   
@@ -0,0 +1,12 @@
        4271  +
{
        4272  +
    "credentials": {
        4273  +
        "access_key_id": "AKIDEXAMPLE",
        4274  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4275  +
    },
        4276  +
    "expiration_in_seconds": 3600,
        4277  +
    "normalize": true,
        4278  +
    "region": "us-east-1",
        4279  +
    "service": "service",
        4280  +
    "sign_body": false,
        4281  +
    "timestamp": "2015-08-30T12:36:00Z"
        4282  +
}
              \
 No newline at end of file
 3371   4283   
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
 3372   4284   
similarity index 99%
 3373   4285   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3374   4286   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3375   4287   
index 47e7128..76db73d 100644
 3376   4288   
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
 3377   4289   
new file mode 100644
 3378   4290   
index 0000000..ca6e84e
 3379         -
-- /dev/null
        4291  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3380   4292   
@@ -0,0 +1 @@
        4293  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3381   4294   
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
 3382   4295   
new file mode 100644
 3383   4296   
index 0000000..a7c764c
 3384         -
-- /dev/null
        4297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3385   4298   
@@ -0,0 +1,6 @@
        4299  +
GET /./ HTTP/1.1
        4300  +
Host:example.amazonaws.com
        4301  +
X-Amz-Date:20150830T123600Z
        4302  +
X-Amz-Region-Set:us-east-1
        4303  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4304  +
 3386   4305   
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
 3387   4306   
similarity index 99%
 3388   4307   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3389   4308   
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
 3390   4309   
index 95d7219..600f1d8 100644
 3391   4310   
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
 3392   4311   
new file mode 100644
 3393   4312   
index 0000000..379dcb2
 3394         -
-- /dev/null
        4313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3395   4314   
@@ -0,0 +1,4 @@
        4315  +
{
        4316  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4317  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4318  +
}
 3396   4319   
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
 3397   4320   
similarity index 99%
 3398   4321   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3399   4322   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3400   4323   
index a34ea26..779c51c 100644
 3401   4324   
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
 3402   4325   
new file mode 100644
 3403   4326   
index 0000000..4b6ed09
 3404         -
-- /dev/null
        4327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3405   4328   
@@ -0,0 +1 @@
        4329  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3406   4330   
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
 3407   4331   
new file mode 100644
 3408   4332   
index 0000000..d6c7176
 3409         -
-- /dev/null
        4333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3410   4334   
@@ -0,0 +1,3 @@
        4335  +
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
        4336  +
Host:example.amazonaws.com
        4337  +
 3411   4338   
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
 3412   4339   
similarity index 99%
 3413   4340   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3414   4341   
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
 3415   4342   
index 48f855c..6e29a7e 100644
 3416   4343   
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
 3417   4344   
similarity index 61%
 3418   4345   
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
 3419   4346   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3420   4347   
index f3537b7..2c5ff38 100644
 3421         -
-- 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
        4348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3422   4349   
@@ -1,3 +1,2 @@
 3423   4350   
GET /./ HTTP/1.1
 3424   4351   
Host:example.amazonaws.com
 3425         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3426   4352   
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
 3427   4353   
new file mode 100644
 3428   4354   
index 0000000..7bee5c7
 3429         -
-- /dev/null
        4355  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3430   4356   
@@ -0,0 +1,12 @@
        4357  +
{
        4358  +
    "credentials": {
        4359  +
        "access_key_id": "AKIDEXAMPLE",
        4360  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4361  +
    },
        4362  +
    "expiration_in_seconds": 3600,
        4363  +
    "normalize": false,
        4364  +
    "region": "us-east-1",
        4365  +
    "service": "service",
        4366  +
    "sign_body": false,
        4367  +
    "timestamp": "2015-08-30T12:36:00Z"
        4368  +
}
              \
 No newline at end of file
 3431   4369   
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
 3432   4370   
similarity index 99%
 3433   4371   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3434   4372   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3435   4373   
index d05303d..9257ac4 100644
 3436   4374   
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
 3437   4375   
new file mode 100644
 3438   4376   
index 0000000..2eb1aa5
 3439         -
-- /dev/null
        4377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3440   4378   
@@ -0,0 +1 @@
        4379  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3441   4380   
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
 3442   4381   
new file mode 100644
 3443   4382   
index 0000000..df3b1da
 3444         -
-- /dev/null
        4383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3445   4384   
@@ -0,0 +1,6 @@
        4385  +
GET /./ HTTP/1.1
        4386  +
Host:example.amazonaws.com
        4387  +
X-Amz-Date:20150830T123600Z
        4388  +
X-Amz-Region-Set:us-east-1
        4389  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4390  +
 3446   4391   
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
 3447   4392   
similarity index 99%
 3448   4393   
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
 3449   4394   
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
 3450   4395   
index e1bfb39..754b3ed 100644
 3451   4396   
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
 3452   4397   
new file mode 100644
 3453   4398   
index 0000000..379dcb2
 3454         -
-- /dev/null
        4399  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3455   4400   
@@ -0,0 +1,4 @@
        4401  +
{
        4402  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4403  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4404  +
}
 3456   4405   
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
 3457   4406   
similarity index 99%
 3458   4407   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3459   4408   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3460   4409   
index f048d0f..c8edce3 100644
 3461   4410   
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
 3462   4411   
new file mode 100644
 3463   4412   
index 0000000..d3af3b8
 3464         -
-- /dev/null
        4413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3465   4414   
@@ -0,0 +1 @@
        4415  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3466   4416   
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
 3467   4417   
new file mode 100644
 3468   4418   
index 0000000..eb38155
 3469         -
-- /dev/null
        4419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3470   4420   
@@ -0,0 +1,3 @@
        4421  +
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
        4422  +
Host:example.amazonaws.com
        4423  +
 3471   4424   
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
 3472   4425   
similarity index 99%
 3473   4426   
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
 3474   4427   
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
 3475   4428   
index bfcf245..4f20b8f 100644
 3476   4429   
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
 3477   4430   
new file mode 100644
 3478   4431   
index 0000000..2c5ff38
 3479         -
-- /dev/null
        4432  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3480   4433   
@@ -0,0 +1,2 @@
        4434  +
GET /./ HTTP/1.1
        4435  +
Host:example.amazonaws.com
 3481   4436   
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
 3482   4437   
new file mode 100644
 3483   4438   
index 0000000..0468d80
 3484         -
-- /dev/null
        4439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3485   4440   
@@ -0,0 +1,12 @@
        4441  +
{
        4442  +
    "credentials": {
        4443  +
        "access_key_id": "AKIDEXAMPLE",
        4444  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4445  +
    },
        4446  +
    "expiration_in_seconds": 3600,
        4447  +
    "normalize": true,
        4448  +
    "region": "us-east-1",
        4449  +
    "service": "service",
        4450  +
    "sign_body": false,
        4451  +
    "timestamp": "2015-08-30T12:36:00Z"
        4452  +
}
              \
 No newline at end of file
 3486   4453   
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
 3487   4454   
similarity index 99%
 3488   4455   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3489   4456   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3490   4457   
index 47e7128..76db73d 100644
 3491   4458   
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
 3492   4459   
new file mode 100644
 3493   4460   
index 0000000..0c049ca
 3494         -
-- /dev/null
        4461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3495   4462   
@@ -0,0 +1 @@
        4463  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3496   4464   
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
 3497   4465   
new file mode 100644
 3498   4466   
index 0000000..f4bb1e1
 3499         -
-- /dev/null
        4467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3500   4468   
@@ -0,0 +1,6 @@
        4469  +
GET // HTTP/1.1
        4470  +
Host:example.amazonaws.com
        4471  +
X-Amz-Date:20150830T123600Z
        4472  +
X-Amz-Region-Set:us-east-1
        4473  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4474  +
 3501   4475   
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
 3502   4476   
similarity index 99%
 3503   4477   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3504   4478   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3505   4479   
index 95d7219..600f1d8 100644
 3506   4480   
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
 3507   4481   
new file mode 100644
 3508   4482   
index 0000000..379dcb2
 3509         -
-- /dev/null
        4483  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3510   4484   
@@ -0,0 +1,4 @@
        4485  +
{
        4486  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4487  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4488  +
}
 3511   4489   
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
 3512   4490   
similarity index 99%
 3513   4491   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3514   4492   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3515   4493   
index a34ea26..779c51c 100644
 3516   4494   
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
 3517   4495   
new file mode 100644
 3518   4496   
index 0000000..ca52293
 3519         -
-- /dev/null
        4497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3520   4498   
@@ -0,0 +1 @@
        4499  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3521   4500   
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
 3522   4501   
new file mode 100644
 3523   4502   
index 0000000..4a212a9
 3524         -
-- /dev/null
        4503  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3525   4504   
@@ -0,0 +1,3 @@
        4505  +
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
        4506  +
Host:example.amazonaws.com
        4507  +
 3526   4508   
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
 3527   4509   
similarity index 99%
 3528   4510   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3529   4511   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3530   4512   
index 48f855c..6e29a7e 100644
 3531   4513   
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
 3532   4514   
similarity index 61%
 3533   4515   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3534   4516   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3535   4517   
index ede8e3c..25bc21e 100644
 3536         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3537   4519   
@@ -1,3 +1,2 @@
 3538   4520   
GET // HTTP/1.1
 3539   4521   
Host:example.amazonaws.com
 3540         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3541   4522   
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
 3542   4523   
new file mode 100644
 3543   4524   
index 0000000..0468d80
 3544         -
-- /dev/null
        4525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3545   4526   
@@ -0,0 +1,12 @@
        4527  +
{
        4528  +
    "credentials": {
        4529  +
        "access_key_id": "AKIDEXAMPLE",
        4530  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4531  +
    },
        4532  +
    "expiration_in_seconds": 3600,
        4533  +
    "normalize": true,
        4534  +
    "region": "us-east-1",
        4535  +
    "service": "service",
        4536  +
    "sign_body": false,
        4537  +
    "timestamp": "2015-08-30T12:36:00Z"
        4538  +
}
              \
 No newline at end of file
 3546   4539   
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
 3547   4540   
similarity index 99%
 3548   4541   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3549   4542   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3550   4543   
index 2e36c20..a51f1ba 100644
 3551   4544   
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
 3552   4545   
new file mode 100644
 3553   4546   
index 0000000..f5c871f
 3554         -
-- /dev/null
        4547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3555   4548   
@@ -0,0 +1 @@
        4549  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3556   4550   
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
 3557   4551   
new file mode 100644
 3558   4552   
index 0000000..bda4718
 3559         -
-- /dev/null
        4553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3560   4554   
@@ -0,0 +1,6 @@
        4555  +
GET /./example HTTP/1.1
        4556  +
Host:example.amazonaws.com
        4557  +
X-Amz-Date:20150830T123600Z
        4558  +
X-Amz-Region-Set:us-east-1
        4559  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4560  +
 3561   4561   
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
 3562   4562   
similarity index 99%
 3563   4563   
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
 3564   4564   
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
 3565   4565   
index cd30e8b..2ffe879 100644
 3566   4566   
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
 3567   4567   
new file mode 100644
 3568   4568   
index 0000000..379dcb2
 3569         -
-- /dev/null
        4569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3570   4570   
@@ -0,0 +1,4 @@
        4571  +
{
        4572  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4573  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4574  +
}
 3571   4575   
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
 3572   4576   
similarity index 99%
 3573   4577   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3574   4578   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3575   4579   
index 77cf28d..45151ea 100644
 3576   4580   
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
 3577   4581   
new file mode 100644
 3578   4582   
index 0000000..11ad7bf
 3579         -
-- /dev/null
        4583  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3580   4584   
@@ -0,0 +1 @@
        4585  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3581   4586   
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
 3582   4587   
new file mode 100644
 3583   4588   
index 0000000..a7537b1
 3584         -
-- /dev/null
        4589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3585   4590   
@@ -0,0 +1,3 @@
        4591  +
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
        4592  +
Host:example.amazonaws.com
        4593  +
 3586   4594   
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
 3587   4595   
similarity index 99%
 3588   4596   
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
 3589   4597   
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
 3590   4598   
index 49d9b24..b486672 100644
 3591   4599   
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
 3592   4600   
similarity index 65%
 3593   4601   
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
 3594   4602   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3595   4603   
index 3c91071..5d919c9 100644
 3596         -
-- 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
        4604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3597   4605   
@@ -1,3 +1,2 @@
 3598   4606   
GET /./example HTTP/1.1
 3599   4607   
Host:example.amazonaws.com
 3600         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3601   4608   
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
 3602   4609   
new file mode 100644
 3603   4610   
index 0000000..7bee5c7
 3604         -
-- /dev/null
        4611  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3605   4612   
@@ -0,0 +1,12 @@
        4613  +
{
        4614  +
    "credentials": {
        4615  +
        "access_key_id": "AKIDEXAMPLE",
        4616  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4617  +
    },
        4618  +
    "expiration_in_seconds": 3600,
        4619  +
    "normalize": false,
        4620  +
    "region": "us-east-1",
        4621  +
    "service": "service",
        4622  +
    "sign_body": false,
        4623  +
    "timestamp": "2015-08-30T12:36:00Z"
        4624  +
}
              \
 No newline at end of file
 3606   4625   
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
 3607   4626   
similarity index 99%
 3608   4627   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3609   4628   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3610   4629   
index 4444842..2355a69 100644
 3611   4630   
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
 3612   4631   
new file mode 100644
 3613   4632   
index 0000000..9c8f737
 3614         -
-- /dev/null
        4633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3615   4634   
@@ -0,0 +1 @@
        4635  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3616   4636   
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
 3617   4637   
new file mode 100644
 3618   4638   
index 0000000..aa5980d
 3619         -
-- /dev/null
        4639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3620   4640   
@@ -0,0 +1,6 @@
        4641  +
GET /./example HTTP/1.1
        4642  +
Host:example.amazonaws.com
        4643  +
X-Amz-Date:20150830T123600Z
        4644  +
X-Amz-Region-Set:us-east-1
        4645  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4646  +
 3621   4647   
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
 3622   4648   
similarity index 99%
 3623   4649   
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
 3624   4650   
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
 3625   4651   
index cc63510..d056816 100644
 3626   4652   
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
 3627   4653   
new file mode 100644
 3628   4654   
index 0000000..379dcb2
 3629         -
-- /dev/null
        4655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3630   4656   
@@ -0,0 +1,4 @@
        4657  +
{
        4658  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4659  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4660  +
}
 3631   4661   
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
 3632   4662   
similarity index 99%
 3633   4663   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3634   4664   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3635   4665   
index ed2cb2d..df9928e 100644
 3636   4666   
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
 3637   4667   
new file mode 100644
 3638   4668   
index 0000000..bb4d86b
 3639         -
-- /dev/null
        4669  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3640   4670   
@@ -0,0 +1 @@
        4671  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3641   4672   
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
 3642   4673   
new file mode 100644
 3643   4674   
index 0000000..0061136
 3644         -
-- /dev/null
        4675  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3645   4676   
@@ -0,0 +1,3 @@
        4677  +
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
        4678  +
Host:example.amazonaws.com
        4679  +
 3646   4680   
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
 3647   4681   
similarity index 99%
 3648   4682   
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
 3649   4683   
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
 3650   4684   
index c9f3b6d..418f2d6 100644
 3651   4685   
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
 3652   4686   
new file mode 100644
 3653   4687   
index 0000000..5d919c9
 3654         -
-- /dev/null
        4688  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3655   4689   
@@ -0,0 +1,2 @@
        4690  +
GET /./example HTTP/1.1
        4691  +
Host:example.amazonaws.com
 3656   4692   
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
 3657   4693   
new file mode 100644
 3658   4694   
index 0000000..7bee5c7
 3659         -
-- /dev/null
        4695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3660   4696   
@@ -0,0 +1,12 @@
        4697  +
{
        4698  +
    "credentials": {
        4699  +
        "access_key_id": "AKIDEXAMPLE",
        4700  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4701  +
    },
        4702  +
    "expiration_in_seconds": 3600,
        4703  +
    "normalize": false,
        4704  +
    "region": "us-east-1",
        4705  +
    "service": "service",
        4706  +
    "sign_body": false,
        4707  +
    "timestamp": "2015-08-30T12:36:00Z"
        4708  +
}
              \
 No newline at end of file
 3661   4709   
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
 3662   4710   
similarity index 99%
 3663   4711   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3664   4712   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3665   4713   
index 8a4d33b..5f809da 100644
 3666   4714   
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
 3667   4715   
new file mode 100644
 3668   4716   
index 0000000..60179e9
 3669         -
-- /dev/null
        4717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3670   4718   
@@ -0,0 +1 @@
        4719  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3671   4720   
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
 3672   4721   
new file mode 100644
 3673   4722   
index 0000000..72bf1b7
 3674         -
-- /dev/null
        4723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3675   4724   
@@ -0,0 +1,6 @@
        4725  +
GET // HTTP/1.1
        4726  +
Host:example.amazonaws.com
        4727  +
X-Amz-Date:20150830T123600Z
        4728  +
X-Amz-Region-Set:us-east-1
        4729  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4730  +
 3676   4731   
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
 3677   4732   
similarity index 99%
 3678   4733   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3679   4734   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3680   4735   
index 874c01c..2b3bf67 100644
 3681   4736   
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
 3682   4737   
new file mode 100644
 3683   4738   
index 0000000..379dcb2
 3684         -
-- /dev/null
        4739  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3685   4740   
@@ -0,0 +1,4 @@
        4741  +
{
        4742  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4743  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4744  +
}
 3686   4745   
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
 3687   4746   
similarity index 99%
 3688   4747   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3689   4748   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3690   4749   
index 81d7b0b..d10ad29 100644
 3691   4750   
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
 3692   4751   
new file mode 100644
 3693   4752   
index 0000000..d9bd824
 3694         -
-- /dev/null
        4753  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3695   4754   
@@ -0,0 +1 @@
        4755  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3696   4756   
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
 3697   4757   
new file mode 100644
 3698   4758   
index 0000000..19d1d46
 3699         -
-- /dev/null
        4759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3700   4760   
@@ -0,0 +1,3 @@
        4761  +
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
        4762  +
Host:example.amazonaws.com
        4763  +
 3701   4764   
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
 3702   4765   
similarity index 99%
 3703   4766   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3704   4767   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3705   4768   
index 17e5279..24c8a5e 100644
 3706   4769   
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
 3707   4770   
new file mode 100644
 3708   4771   
index 0000000..25bc21e
 3709         -
-- /dev/null
        4772  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3710   4773   
@@ -0,0 +1,2 @@
        4774  +
GET // HTTP/1.1
        4775  +
Host:example.amazonaws.com
 3711   4776   
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
 3712   4777   
new file mode 100644
 3713   4778   
index 0000000..0468d80
 3714         -
-- /dev/null
        4779  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3715   4780   
@@ -0,0 +1,12 @@
        4781  +
{
        4782  +
    "credentials": {
        4783  +
        "access_key_id": "AKIDEXAMPLE",
        4784  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4785  +
    },
        4786  +
    "expiration_in_seconds": 3600,
        4787  +
    "normalize": true,
        4788  +
    "region": "us-east-1",
        4789  +
    "service": "service",
        4790  +
    "sign_body": false,
        4791  +
    "timestamp": "2015-08-30T12:36:00Z"
        4792  +
}
              \
 No newline at end of file
 3716   4793   
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
 3717   4794   
similarity index 99%
 3718   4795   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3719   4796   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3720   4797   
index fdf9c48..a8e9e02 100644
 3721   4798   
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
 3722   4799   
new file mode 100644
 3723   4800   
index 0000000..ffe1b60
 3724         -
-- /dev/null
        4801  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3725   4802   
@@ -0,0 +1 @@
        4803  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3726   4804   
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
 3727   4805   
new file mode 100644
 3728   4806   
index 0000000..3189f55
 3729         -
-- /dev/null
        4807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3730   4808   
@@ -0,0 +1,6 @@
        4809  +
GET //example// HTTP/1.1
        4810  +
Host:example.amazonaws.com
        4811  +
X-Amz-Date:20150830T123600Z
        4812  +
X-Amz-Region-Set:us-east-1
        4813  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4814  +
 3731   4815   
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
 3732   4816   
similarity index 99%
 3733   4817   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3734   4818   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3735   4819   
index 8f9c95e..430020e 100644
 3736   4820   
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
 3737   4821   
new file mode 100644
 3738   4822   
index 0000000..379dcb2
 3739         -
-- /dev/null
        4823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3740   4824   
@@ -0,0 +1,4 @@
        4825  +
{
        4826  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4827  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4828  +
}
 3741   4829   
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
 3742   4830   
similarity index 99%
 3743   4831   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3744   4832   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3745   4833   
index 1046735..8d41e37 100644
 3746   4834   
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
 3747   4835   
new file mode 100644
 3748   4836   
index 0000000..93a0fa4
 3749         -
-- /dev/null
        4837  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3750   4838   
@@ -0,0 +1 @@
        4839  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 3751   4840   
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
 3752   4841   
new file mode 100644
 3753   4842   
index 0000000..65c8cb6
 3754         -
-- /dev/null
        4843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3755   4844   
@@ -0,0 +1,3 @@
        4845  +
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
        4846  +
Host:example.amazonaws.com
        4847  +
 3756   4848   
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
 3757   4849   
similarity index 99%
 3758   4850   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 3759   4851   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3760   4852   
index b293cc2..0f4c4c5 100644
 3761   4853   
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
 3762   4854   
similarity index 65%
 3763   4855   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 3764   4856   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3765   4857   
index a4307ce..12e0931 100644
 3766         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        4858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3767   4859   
@@ -1,3 +1,2 @@
 3768   4860   
GET //example// HTTP/1.1
 3769   4861   
Host:example.amazonaws.com
 3770         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3771   4862   
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
 3772   4863   
new file mode 100644
 3773   4864   
index 0000000..7bee5c7
 3774         -
-- /dev/null
        4865  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3775   4866   
@@ -0,0 +1,12 @@
        4867  +
{
        4868  +
    "credentials": {
        4869  +
        "access_key_id": "AKIDEXAMPLE",
        4870  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4871  +
    },
        4872  +
    "expiration_in_seconds": 3600,
        4873  +
    "normalize": false,
        4874  +
    "region": "us-east-1",
        4875  +
    "service": "service",
        4876  +
    "sign_body": false,
        4877  +
    "timestamp": "2015-08-30T12:36:00Z"
        4878  +
}
              \
 No newline at end of file
 3776   4879   
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
 3777   4880   
similarity index 99%
 3778   4881   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 3779   4882   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3780   4883   
index a9c55f6..76f55ed 100644
 3781   4884   
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
 3782   4885   
new file mode 100644
 3783   4886   
index 0000000..de333b2
 3784         -
-- /dev/null
        4887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3785   4888   
@@ -0,0 +1 @@
        4889  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 3786   4890   
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
 3787   4891   
new file mode 100644
 3788   4892   
index 0000000..773ce63
 3789         -
-- /dev/null
        4893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3790   4894   
@@ -0,0 +1,6 @@
        4895  +
GET //example// HTTP/1.1
        4896  +
Host:example.amazonaws.com
        4897  +
X-Amz-Date:20150830T123600Z
        4898  +
X-Amz-Region-Set:us-east-1
        4899  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        4900  +
 3791   4901   
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
 3792   4902   
similarity index 99%
 3793   4903   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 3794   4904   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3795   4905   
index 5c4c2cd..46c3265 100644
 3796   4906   
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
 3797   4907   
new file mode 100644
 3798   4908   
index 0000000..379dcb2
 3799         -
-- /dev/null
        4909  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3800   4910   
@@ -0,0 +1,4 @@
        4911  +
{
        4912  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4913  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4914  +
}
 3801   4915   
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
 3802   4916   
similarity index 99%
 3803   4917   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 3804   4918   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3805   4919   
index c878ab4..6047ccf 100644
 3806   4920   
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
 3807   4921   
new file mode 100644
 3808   4922   
index 0000000..d61fcd0
 3809         -
-- /dev/null
        4923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3810   4924   
@@ -0,0 +1 @@
        4925  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 3811   4926   
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
 3812   4927   
new file mode 100644
 3813   4928   
index 0000000..3e37b5b
 3814         -
-- /dev/null
        4929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 3815   4930   
@@ -0,0 +1,3 @@
        4931  +
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
        4932  +
Host:example.amazonaws.com
        4933  +
 3816   4934   
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
 3817   4935   
similarity index 99%
 3818   4936   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 3819   4937   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 3820   4938   
index 5f59645..2537d28 100644
 3821   4939   
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
 3822   4940   
new file mode 100644
 3823   4941   
index 0000000..12e0931
 3824         -
-- /dev/null
        4942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 3825   4943   
@@ -0,0 +1,2 @@
        4944  +
GET //example// HTTP/1.1
        4945  +
Host:example.amazonaws.com
 3826   4946   
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
 3827   4947   
new file mode 100644
 3828   4948   
index 0000000..0468d80
 3829         -
-- /dev/null
        4949  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 3830   4950   
@@ -0,0 +1,12 @@
        4951  +
{
        4952  +
    "credentials": {
        4953  +
        "access_key_id": "AKIDEXAMPLE",
        4954  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4955  +
    },
        4956  +
    "expiration_in_seconds": 3600,
        4957  +
    "normalize": true,
        4958  +
    "region": "us-east-1",
        4959  +
    "service": "service",
        4960  +
    "sign_body": false,
        4961  +
    "timestamp": "2015-08-30T12:36:00Z"
        4962  +
}
              \
 No newline at end of file
 3831   4963   
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
 3832   4964   
new file mode 100644
 3833   4965   
index 0000000..0b2b616
 3834         -
-- /dev/null
        4966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 3835   4967   
@@ -0,0 +1,9 @@
        4968  +
GET
        4969  +
/example%20space/
        4970  +
        4971  +
host:example.amazonaws.com
        4972  +
x-amz-date:20150830T123600Z
        4973  +
x-amz-region-set:us-east-1
        4974  +
        4975  +
host;x-amz-date;x-amz-region-set
        4976  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3836   4977   
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
 3837   4978   
new file mode 100644
 3838   4979   
index 0000000..6e7841d
 3839         -
-- /dev/null
        4980  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 3840   4981   
@@ -0,0 +1 @@
        4982  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 3841   4983   
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
 3842   4984   
new file mode 100644
 3843   4985   
index 0000000..0969cd3
 3844         -
-- /dev/null
        4986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 3845   4987   
@@ -0,0 +1,6 @@
        4988  +
GET /example space/ HTTP/1.1
        4989  +
Host:example.amazonaws.com
        4990  +
X-Amz-Date:20150830T123600Z
        4991  +
X-Amz-Region-Set:us-east-1
        4992  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        4993  +
 3846   4994   
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
 3847   4995   
new file mode 100644
 3848   4996   
index 0000000..ddae6e2
 3849         -
-- /dev/null
        4997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 3850   4998   
@@ -0,0 +1,4 @@
        4999  +
AWS4-ECDSA-P256-SHA256
        5000  +
20150830T123600Z
        5001  +
20150830/service/aws4_request
        5002  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3851   5003   
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
 3852   5004   
new file mode 100644
 3853   5005   
index 0000000..379dcb2
 3854         -
-- /dev/null
        5006  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 3855   5007   
@@ -0,0 +1,4 @@
        5008  +
{
        5009  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5010  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5011  +
}
 3856   5012   
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
 3857   5013   
new file mode 100644
 3858   5014   
index 0000000..a66b3cb
 3859         -
-- /dev/null
        5015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 3860   5016   
@@ -0,0 +1,7 @@
        5017  +
GET
        5018  +
/example%20space/
        5019  +
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
        5020  +
host:example.amazonaws.com
        5021  +
        5022  +
host
        5023  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3861   5024   
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
 3862   5025   
new file mode 100644
 3863   5026   
index 0000000..b3253ae
 3864         -
-- /dev/null
        5027  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 3865   5028   
@@ -0,0 +1 @@
        5029  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 3866   5030   
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
 3867   5031   
new file mode 100644
 3868   5032   
index 0000000..9e335b2
 3869         -
-- /dev/null
        5033  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 3870   5034   
@@ -0,0 +1,3 @@
        5035  +
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
        5036  +
Host:example.amazonaws.com
        5037  +
 3871   5038   
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
 3872   5039   
new file mode 100644
 3873   5040   
index 0000000..b6ff6fb
 3874         -
-- /dev/null
        5041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 3875   5042   
@@ -0,0 +1,4 @@
        5043  +
AWS4-ECDSA-P256-SHA256
        5044  +
20150830T123600Z
        5045  +
20150830/service/aws4_request
        5046  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3876   5047   
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
 3877   5048   
new file mode 100644
 3878   5049   
index 0000000..ab509ab
 3879         -
-- /dev/null
        5050  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 3880   5051   
@@ -0,0 +1,2 @@
        5052  +
GET /example space/ HTTP/1.1
        5053  +
Host:example.amazonaws.com
 3881   5054   
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
 3882   5055   
new file mode 100644
 3883   5056   
index 0000000..7bee5c7
 3884         -
-- /dev/null
        5057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 3885   5058   
@@ -0,0 +1,12 @@
        5059  +
{
        5060  +
    "credentials": {
        5061  +
        "access_key_id": "AKIDEXAMPLE",
        5062  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5063  +
    },
        5064  +
    "expiration_in_seconds": 3600,
        5065  +
    "normalize": false,
        5066  +
    "region": "us-east-1",
        5067  +
    "service": "service",
        5068  +
    "sign_body": false,
        5069  +
    "timestamp": "2015-08-30T12:36:00Z"
        5070  +
}
              \
 No newline at end of file
 3886   5071   
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
 3887   5072   
new file mode 100644
 3888   5073   
index 0000000..0b2b616
 3889         -
-- /dev/null
        5074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 3890   5075   
@@ -0,0 +1,9 @@
        5076  +
GET
        5077  +
/example%20space/
        5078  +
        5079  +
host:example.amazonaws.com
        5080  +
x-amz-date:20150830T123600Z
        5081  +
x-amz-region-set:us-east-1
        5082  +
        5083  +
host;x-amz-date;x-amz-region-set
        5084  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3891   5085   
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
 3892   5086   
new file mode 100644
 3893   5087   
index 0000000..e75ae08
 3894         -
-- /dev/null
        5088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 3895   5089   
@@ -0,0 +1 @@
        5090  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 3896   5091   
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
 3897   5092   
new file mode 100644
 3898   5093   
index 0000000..cb089db
 3899         -
-- /dev/null
        5094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 3900   5095   
@@ -0,0 +1,6 @@
        5096  +
GET /example space/ HTTP/1.1
        5097  +
Host:example.amazonaws.com
        5098  +
X-Amz-Date:20150830T123600Z
        5099  +
X-Amz-Region-Set:us-east-1
        5100  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5101  +
 3901   5102   
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
 3902   5103   
new file mode 100644
 3903   5104   
index 0000000..ddae6e2
 3904         -
-- /dev/null
        5105  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 3905   5106   
@@ -0,0 +1,4 @@
        5107  +
AWS4-ECDSA-P256-SHA256
        5108  +
20150830T123600Z
        5109  +
20150830/service/aws4_request
        5110  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3906   5111   
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
 3907   5112   
new file mode 100644
 3908   5113   
index 0000000..379dcb2
 3909         -
-- /dev/null
        5114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 3910   5115   
@@ -0,0 +1,4 @@
        5116  +
{
        5117  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5118  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5119  +
}
 3911   5120   
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
 3912   5121   
new file mode 100644
 3913   5122   
index 0000000..a66b3cb
 3914         -
-- /dev/null
        5123  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 3915   5124   
@@ -0,0 +1,7 @@
        5125  +
GET
        5126  +
/example%20space/
        5127  +
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
        5128  +
host:example.amazonaws.com
        5129  +
        5130  +
host
        5131  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3916   5132   
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
 3917   5133   
new file mode 100644
 3918   5134   
index 0000000..66a80c3
 3919         -
-- /dev/null
        5135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 3920   5136   
@@ -0,0 +1 @@
        5137  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 3921   5138   
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
 3922   5139   
new file mode 100644
 3923   5140   
index 0000000..7d1b9d9
 3924         -
-- /dev/null
        5141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 3925   5142   
@@ -0,0 +1,3 @@
        5143  +
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
        5144  +
Host:example.amazonaws.com
        5145  +
 3926   5146   
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
 3927   5147   
new file mode 100644
 3928   5148   
index 0000000..b6ff6fb
 3929         -
-- /dev/null
        5149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 3930   5150   
@@ -0,0 +1,4 @@
        5151  +
AWS4-ECDSA-P256-SHA256
        5152  +
20150830T123600Z
        5153  +
20150830/service/aws4_request
        5154  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3931   5155   
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
 3932   5156   
new file mode 100644
 3933   5157   
index 0000000..ab509ab
 3934         -
-- /dev/null
        5158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 3935   5159   
@@ -0,0 +1,2 @@
        5160  +
GET /example space/ HTTP/1.1
        5161  +
Host:example.amazonaws.com
 3936   5162   
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
 3937   5163   
new file mode 100644
 3938   5164   
index 0000000..0468d80
 3939         -
-- /dev/null
        5165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 3940   5166   
@@ -0,0 +1,12 @@
        5167  +
{
        5168  +
    "credentials": {
        5169  +
        "access_key_id": "AKIDEXAMPLE",
        5170  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5171  +
    },
        5172  +
    "expiration_in_seconds": 3600,
        5173  +
    "normalize": true,
        5174  +
    "region": "us-east-1",
        5175  +
    "service": "service",
        5176  +
    "sign_body": false,
        5177  +
    "timestamp": "2015-08-30T12:36:00Z"
        5178  +
}
              \
 No newline at end of file
 3941   5179   
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
 3942   5180   
similarity index 99%
 3943   5181   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 3944   5182   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 3945   5183   
index b0db648..46d76bb 100644
 3946   5184   
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
 3947   5185   
new file mode 100644
 3948   5186   
index 0000000..53c0cb6
 3949         -
-- /dev/null
        5187  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 3950   5188   
@@ -0,0 +1 @@
        5189  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 3951   5190   
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
 3952   5191   
new file mode 100644
 3953   5192   
index 0000000..3bdb653
 3954         -
-- /dev/null
        5193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 3955   5194   
@@ -0,0 +1,6 @@
        5195  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5196  +
Host:example.amazonaws.com
        5197  +
X-Amz-Date:20150830T123600Z
        5198  +
X-Amz-Region-Set:us-east-1
        5199  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5200  +
 3956   5201   
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
 3957   5202   
similarity index 99%
 3958   5203   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 3959   5204   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 3960   5205   
index 20c7cd6..3b30173 100644
 3961   5206   
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
 3962   5207   
new file mode 100644
 3963   5208   
index 0000000..379dcb2
 3964         -
-- /dev/null
        5209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 3965   5210   
@@ -0,0 +1,4 @@
        5211  +
{
        5212  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5213  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5214  +
}
 3966   5215   
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
 3967   5216   
similarity index 99%
 3968   5217   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 3969   5218   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 3970   5219   
index f9fb726..7e93f58 100644
 3971   5220   
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
 3972   5221   
new file mode 100644
 3973   5222   
index 0000000..48311a8
 3974         -
-- /dev/null
        5223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 3975   5224   
@@ -0,0 +1 @@
        5225  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 3976   5226   
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
 3977   5227   
new file mode 100644
 3978   5228   
index 0000000..82da9be
 3979         -
-- /dev/null
        5229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 3980   5230   
@@ -0,0 +1,3 @@
        5231  +
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
        5232  +
Host:example.amazonaws.com
        5233  +
 3981   5234   
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
 3982   5235   
similarity index 99%
 3983   5236   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 3984   5237   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 3985   5238   
index ef06e89..4aab9a2 100644
 3986   5239   
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
 3987   5240   
similarity index 80%
 3988   5241   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 3989   5242   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3990   5243   
index da760cd..a149694 100644
 3991         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5244  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 3992   5245   
@@ -1,3 +1,2 @@
 3993   5246   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 3994   5247   
Host:example.amazonaws.com
 3995         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3996   5248   
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
 3997   5249   
new file mode 100644
 3998   5250   
index 0000000..0468d80
 3999         -
-- /dev/null
        5251  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4000   5252   
@@ -0,0 +1,12 @@
        5253  +
{
        5254  +
    "credentials": {
        5255  +
        "access_key_id": "AKIDEXAMPLE",
        5256  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5257  +
    },
        5258  +
    "expiration_in_seconds": 3600,
        5259  +
    "normalize": true,
        5260  +
    "region": "us-east-1",
        5261  +
    "service": "service",
        5262  +
    "sign_body": false,
        5263  +
    "timestamp": "2015-08-30T12:36:00Z"
        5264  +
}
              \
 No newline at end of file
 4001   5265   
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
 4002   5266   
new file mode 100644
 4003   5267   
index 0000000..0f1afe7
 4004         -
-- /dev/null
        5268  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4005   5269   
@@ -0,0 +1,9 @@
        5270  +
GET
        5271  +
/%E1%88%B4
        5272  +
        5273  +
host:example.amazonaws.com
        5274  +
x-amz-date:20150830T123600Z
        5275  +
x-amz-region-set:us-east-1
        5276  +
        5277  +
host;x-amz-date;x-amz-region-set
        5278  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4006   5279   
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
 4007   5280   
new file mode 100644
 4008   5281   
index 0000000..4b9af6c
 4009         -
-- /dev/null
        5282  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4010   5283   
@@ -0,0 +1 @@
        5284  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 4011   5285   
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
 4012   5286   
new file mode 100644
 4013   5287   
index 0000000..d42d7b3
 4014         -
-- /dev/null
        5288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4015   5289   
@@ -0,0 +1,6 @@
        5290  +
GET /ሴ HTTP/1.1
        5291  +
Host:example.amazonaws.com
        5292  +
X-Amz-Date:20150830T123600Z
        5293  +
X-Amz-Region-Set:us-east-1
        5294  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5295  +
 4016   5296   
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
 4017   5297   
new file mode 100644
 4018   5298   
index 0000000..0827f62
 4019         -
-- /dev/null
        5299  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4020   5300   
@@ -0,0 +1,4 @@
        5301  +
AWS4-ECDSA-P256-SHA256
        5302  +
20150830T123600Z
        5303  +
20150830/service/aws4_request
        5304  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4021   5305   
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
 4022   5306   
new file mode 100644
 4023   5307   
index 0000000..379dcb2
 4024         -
-- /dev/null
        5308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4025   5309   
@@ -0,0 +1,4 @@
        5310  +
{
        5311  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5312  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5313  +
}
 4026   5314   
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
 4027   5315   
new file mode 100644
 4028   5316   
index 0000000..a41a2f8
 4029         -
-- /dev/null
        5317  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4030   5318   
@@ -0,0 +1,7 @@
        5319  +
GET
        5320  +
/%E1%88%B4
        5321  +
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
        5322  +
host:example.amazonaws.com
        5323  +
        5324  +
host
        5325  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4031   5326   
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
 4032   5327   
new file mode 100644
 4033   5328   
index 0000000..a5c7f4f
 4034         -
-- /dev/null
        5329  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4035   5330   
@@ -0,0 +1 @@
        5331  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4036   5332   
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
 4037   5333   
new file mode 100644
 4038   5334   
index 0000000..492ed33
 4039         -
-- /dev/null
        5335  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4040   5336   
@@ -0,0 +1,3 @@
        5337  +
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
        5338  +
Host:example.amazonaws.com
        5339  +
 4041   5340   
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
 4042   5341   
new file mode 100644
 4043   5342   
index 0000000..a93108f
 4044         -
-- /dev/null
        5343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4045   5344   
@@ -0,0 +1,4 @@
        5345  +
AWS4-ECDSA-P256-SHA256
        5346  +
20150830T123600Z
        5347  +
20150830/service/aws4_request
        5348  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4046   5349   
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
 4047   5350   
new file mode 100644
 4048   5351   
index 0000000..9e273f6
 4049         -
-- /dev/null
        5352  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4050   5353   
@@ -0,0 +1,2 @@
        5354  +
GET /ሴ HTTP/1.1
        5355  +
Host:example.amazonaws.com
 4051   5356   
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
 4052   5357   
new file mode 100644
 4053   5358   
index 0000000..0468d80
 4054         -
-- /dev/null
        5359  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4055   5360   
@@ -0,0 +1,12 @@
        5361  +
{
        5362  +
    "credentials": {
        5363  +
        "access_key_id": "AKIDEXAMPLE",
        5364  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5365  +
    },
        5366  +
    "expiration_in_seconds": 3600,
        5367  +
    "normalize": true,
        5368  +
    "region": "us-east-1",
        5369  +
    "service": "service",
        5370  +
    "sign_body": false,
        5371  +
    "timestamp": "2015-08-30T12:36:00Z"
        5372  +
}
              \
 No newline at end of file
 4056   5373   
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
 4057   5374   
similarity index 99%
 4058   5375   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4059   5376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4060   5377   
index bb9d4bf..edc0bb4 100644
 4061   5378   
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
 4062   5379   
new file mode 100644
 4063   5380   
index 0000000..ee9a272
 4064         -
-- /dev/null
        5381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4065   5382   
@@ -0,0 +1 @@
        5383  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4066   5384   
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
 4067   5385   
new file mode 100644
 4068   5386   
index 0000000..2090343
 4069         -
-- /dev/null
        5387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4070   5388   
@@ -0,0 +1,6 @@
        5389  +
GET /?Param1=value1 HTTP/1.1
        5390  +
Host:example.amazonaws.com
        5391  +
X-Amz-Date:20150830T123600Z
        5392  +
X-Amz-Region-Set:us-east-1
        5393  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5394  +
 4071   5395   
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
 4072   5396   
similarity index 99%
 4073   5397   
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
 4074   5398   
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
 4075   5399   
index a176f1d..06ed74f 100644
 4076   5400   
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
 4077   5401   
new file mode 100644
 4078   5402   
index 0000000..379dcb2
 4079         -
-- /dev/null
        5403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4080   5404   
@@ -0,0 +1,4 @@
        5405  +
{
        5406  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5407  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5408  +
}
 4081   5409   
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
 4082   5410   
similarity index 99%
 4083   5411   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4084   5412   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4085   5413   
index 344384b..a875d70 100644
 4086   5414   
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
 4087   5415   
new file mode 100644
 4088   5416   
index 0000000..ef93624
 4089         -
-- /dev/null
        5417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4090   5418   
@@ -0,0 +1 @@
        5419  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4091   5420   
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
 4092   5421   
new file mode 100644
 4093   5422   
index 0000000..92829f7
 4094         -
-- /dev/null
        5423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4095   5424   
@@ -0,0 +1,3 @@
        5425  +
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
        5426  +
Host:example.amazonaws.com
        5427  +
 4096   5428   
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
 4097   5429   
similarity index 99%
 4098   5430   
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
 4099   5431   
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
 4100   5432   
index b625052..4ff9191 100644
 4101   5433   
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
 4102   5434   
similarity index 67%
 4103   5435   
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
 4104   5436   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4105   5437   
index 970d0a0..f4a03bb 100644
 4106         -
-- 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
        5438  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4107   5439   
@@ -1,3 +1,2 @@
 4108   5440   
GET /?Param1=value1 HTTP/1.1
 4109   5441   
Host:example.amazonaws.com
 4110         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4111   5442   
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
 4112   5443   
new file mode 100644
 4113   5444   
index 0000000..0468d80
 4114         -
-- /dev/null
        5445  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4115   5446   
@@ -0,0 +1,12 @@
        5447  +
{
        5448  +
    "credentials": {
        5449  +
        "access_key_id": "AKIDEXAMPLE",
        5450  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5451  +
    },
        5452  +
    "expiration_in_seconds": 3600,
        5453  +
    "normalize": true,
        5454  +
    "region": "us-east-1",
        5455  +
    "service": "service",
        5456  +
    "sign_body": false,
        5457  +
    "timestamp": "2015-08-30T12:36:00Z"
        5458  +
}
              \
 No newline at end of file
 4116   5459   
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
 4117   5460   
new file mode 100644
 4118   5461   
index 0000000..da07537
 4119         -
-- /dev/null
        5462  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4120   5463   
@@ -0,0 +1,9 @@
        5464  +
GET
        5465  +
/
        5466  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5467  +
host:example.amazonaws.com
        5468  +
x-amz-date:20150830T123600Z
        5469  +
x-amz-region-set:us-east-1
        5470  +
        5471  +
host;x-amz-date;x-amz-region-set
        5472  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4121   5473   
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
 4122   5474   
new file mode 100644
 4123   5475   
index 0000000..edb21e5
 4124         -
-- /dev/null
        5476  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4125   5477   
@@ -0,0 +1 @@
        5478  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4126   5479   
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
 4127   5480   
new file mode 100644
 4128   5481   
index 0000000..e60394c
 4129         -
-- /dev/null
        5482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4130   5483   
@@ -0,0 +1,6 @@
        5484  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5485  +
Host:example.amazonaws.com
        5486  +
X-Amz-Date:20150830T123600Z
        5487  +
X-Amz-Region-Set:us-east-1
        5488  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5489  +
 4131   5490   
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
 4132   5491   
new file mode 100644
 4133   5492   
index 0000000..1dfc886
 4134         -
-- /dev/null
        5493  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4135   5494   
@@ -0,0 +1,4 @@
        5495  +
AWS4-ECDSA-P256-SHA256
        5496  +
20150830T123600Z
        5497  +
20150830/service/aws4_request
        5498  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4136   5499   
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
 4137   5500   
new file mode 100644
 4138   5501   
index 0000000..379dcb2
 4139         -
-- /dev/null
        5502  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4140   5503   
@@ -0,0 +1,4 @@
        5504  +
{
        5505  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5506  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5507  +
}
 4141   5508   
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
 4142   5509   
new file mode 100644
 4143   5510   
index 0000000..e94dc0c
 4144         -
-- /dev/null
        5511  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4145   5512   
@@ -0,0 +1,7 @@
        5513  +
GET
        5514  +
/
        5515  +
%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
        5516  +
host:example.amazonaws.com
        5517  +
        5518  +
host
        5519  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4146   5520   
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
 4147   5521   
new file mode 100644
 4148   5522   
index 0000000..7489437
 4149         -
-- /dev/null
        5523  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4150   5524   
@@ -0,0 +1 @@
        5525  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4151   5526   
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
 4152   5527   
new file mode 100644
 4153   5528   
index 0000000..90c0e73
 4154         -
-- /dev/null
        5529  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4155   5530   
@@ -0,0 +1,3 @@
        5531  +
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
        5532  +
Host:example.amazonaws.com
        5533  +
 4156   5534   
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
 4157   5535   
new file mode 100644
 4158   5536   
index 0000000..ab8a711
 4159         -
-- /dev/null
        5537  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4160   5538   
@@ -0,0 +1,4 @@
        5539  +
AWS4-ECDSA-P256-SHA256
        5540  +
20150830T123600Z
        5541  +
20150830/service/aws4_request
        5542  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4161   5543   
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
 4162   5544   
new file mode 100644
 4163   5545   
index 0000000..368c6e3
 4164         -
-- /dev/null
        5546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4165   5547   
@@ -0,0 +1,2 @@
        5548  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5549  +
Host:example.amazonaws.com
 4166   5550   
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
 4167   5551   
new file mode 100644
 4168   5552   
index 0000000..0468d80
 4169         -
-- /dev/null
        5553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4170   5554   
@@ -0,0 +1,12 @@
        5555  +
{
        5556  +
    "credentials": {
        5557  +
        "access_key_id": "AKIDEXAMPLE",
        5558  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5559  +
    },
        5560  +
    "expiration_in_seconds": 3600,
        5561  +
    "normalize": true,
        5562  +
    "region": "us-east-1",
        5563  +
    "service": "service",
        5564  +
    "sign_body": false,
        5565  +
    "timestamp": "2015-08-30T12:36:00Z"
        5566  +
}
              \
 No newline at end of file
 4171   5567   
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
 4172   5568   
similarity index 99%
 4173   5569   
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
 4174   5570   
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
 4175   5571   
index 74f625a..3db56f7 100644
 4176   5572   
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
 4177   5573   
new file mode 100644
 4178   5574   
index 0000000..e6042bc
 4179         -
-- /dev/null
        5575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4180   5576   
@@ -0,0 +1 @@
        5577  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4181   5578   
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
 4182   5579   
new file mode 100644
 4183   5580   
index 0000000..5505969
 4184         -
-- /dev/null
        5581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4185   5582   
@@ -0,0 +1,6 @@
        5583  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5584  +
Host:example.amazonaws.com
        5585  +
X-Amz-Date:20150830T123600Z
        5586  +
X-Amz-Region-Set:us-east-1
        5587  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5588  +
 4186   5589   
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
 4187   5590   
similarity index 99%
 4188   5591   
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
 4189   5592   
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
 4190   5593   
index 44873b7..e8f5e31 100644
 4191   5594   
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
 4192   5595   
new file mode 100644
 4193   5596   
index 0000000..379dcb2
 4194         -
-- /dev/null
        5597  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4195   5598   
@@ -0,0 +1,4 @@
        5599  +
{
        5600  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5601  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5602  +
}
 4196   5603   
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
 4197   5604   
similarity index 99%
 4198   5605   
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
 4199   5606   
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
 4200   5607   
index 6d30727..3fe6a9f 100644
 4201   5608   
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
 4202   5609   
new file mode 100644
 4203   5610   
index 0000000..3f35de8
 4204         -
-- /dev/null
        5611  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4205   5612   
@@ -0,0 +1 @@
        5613  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4206   5614   
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
 4207   5615   
new file mode 100644
 4208   5616   
index 0000000..30b336b
 4209         -
-- /dev/null
        5617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4210   5618   
@@ -0,0 +1,3 @@
        5619  +
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
        5620  +
Host:example.amazonaws.com
        5621  +
 4211   5622   
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
 4212   5623   
similarity index 99%
 4213   5624   
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
 4214   5625   
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
 4215   5626   
index 99d0510..7f0565f 100644
 4216   5627   
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
 4217   5628   
similarity index 100%
 4218   5629   
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
 4219   5630   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4220   5631   
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
 4221   5632   
new file mode 100644
 4222   5633   
index 0000000..0468d80
 4223         -
-- /dev/null
        5634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4224   5635   
@@ -0,0 +1,12 @@
        5636  +
{
        5637  +
    "credentials": {
        5638  +
        "access_key_id": "AKIDEXAMPLE",
        5639  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5640  +
    },
        5641  +
    "expiration_in_seconds": 3600,
        5642  +
    "normalize": true,
        5643  +
    "region": "us-east-1",
        5644  +
    "service": "service",
        5645  +
    "sign_body": false,
        5646  +
    "timestamp": "2015-08-30T12:36:00Z"
        5647  +
}
              \
 No newline at end of file
 4225   5648   
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
 4226   5649   
similarity index 99%
 4227   5650   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4228   5651   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4229   5652   
index 816c862..cc4537a 100644
 4230   5653   
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
 4231   5654   
new file mode 100644
 4232   5655   
index 0000000..70d38c1
 4233         -
-- /dev/null
        5656  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4234   5657   
@@ -0,0 +1 @@
        5658  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4235   5659   
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
 4236   5660   
new file mode 100644
 4237   5661   
index 0000000..0647eea
 4238         -
-- /dev/null
        5662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4239   5663   
@@ -0,0 +1,6 @@
        5664  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5665  +
Host:example.amazonaws.com
        5666  +
X-Amz-Date:20150830T123600Z
        5667  +
X-Amz-Region-Set:us-east-1
        5668  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5669  +
 4240   5670   
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
 4241   5671   
similarity index 99%
 4242   5672   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4243   5673   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4244   5674   
index 6129fc5..cc19d14 100644
 4245   5675   
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
 4246   5676   
new file mode 100644
 4247   5677   
index 0000000..379dcb2
 4248         -
-- /dev/null
        5678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4249   5679   
@@ -0,0 +1,4 @@
        5680  +
{
        5681  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5682  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5683  +
}
 4250   5684   
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
 4251   5685   
similarity index 99%
 4252   5686   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4253   5687   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4254   5688   
index b77ee9f..ed6a10e 100644
 4255   5689   
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
 4256   5690   
new file mode 100644
 4257   5691   
index 0000000..2ceba7b
 4258         -
-- /dev/null
        5692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4259   5693   
@@ -0,0 +1 @@
        5694  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4260   5695   
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
 4261   5696   
new file mode 100644
 4262   5697   
index 0000000..0cd6d0a
 4263         -
-- /dev/null
        5698  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4264   5699   
@@ -0,0 +1,3 @@
        5700  +
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
        5701  +
Host:example.amazonaws.com
        5702  +
 4265   5703   
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
 4266   5704   
similarity index 99%
 4267   5705   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4268   5706   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4269   5707   
index 1cfed7a..aad1421 100644
 4270   5708   
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
 4271   5709   
similarity index 86%
 4272   5710   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4273   5711   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4274   5712   
index d2833b3..36b2fe3 100644
 4275         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4276   5714   
@@ -1,3 +1,2 @@
 4277   5715   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4278   5716   
Host:example.amazonaws.com
 4279         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4280   5717   
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
 4281   5718   
new file mode 100644
 4282   5719   
index 0000000..0468d80
 4283         -
-- /dev/null
        5720  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4284   5721   
@@ -0,0 +1,12 @@
        5722  +
{
        5723  +
    "credentials": {
        5724  +
        "access_key_id": "AKIDEXAMPLE",
        5725  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5726  +
    },
        5727  +
    "expiration_in_seconds": 3600,
        5728  +
    "normalize": true,
        5729  +
    "region": "us-east-1",
        5730  +
    "service": "service",
        5731  +
    "sign_body": false,
        5732  +
    "timestamp": "2015-08-30T12:36:00Z"
        5733  +
}
              \
 No newline at end of file
 4285   5734   
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
 4286   5735   
new file mode 100644
 4287   5736   
index 0000000..76db73d
 4288         -
-- /dev/null
        5737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4289   5738   
@@ -0,0 +1,9 @@
        5739  +
GET
        5740  +
/
        5741  +
        5742  +
host:example.amazonaws.com
        5743  +
x-amz-date:20150830T123600Z
        5744  +
x-amz-region-set:us-east-1
        5745  +
        5746  +
host;x-amz-date;x-amz-region-set
        5747  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4290   5748   
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
 4291   5749   
new file mode 100644
 4292   5750   
index 0000000..281cc62
 4293         -
-- /dev/null
        5751  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4294   5752   
@@ -0,0 +1 @@
        5753  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4295   5754   
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
 4296   5755   
new file mode 100644
 4297   5756   
index 0000000..cce9925
 4298         -
-- /dev/null
        5757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4299   5758   
@@ -0,0 +1,6 @@
        5759  +
GET / HTTP/1.1
        5760  +
Host:example.amazonaws.com
        5761  +
X-Amz-Date:20150830T123600Z
        5762  +
X-Amz-Region-Set:us-east-1
        5763  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5764  +
 4300   5765   
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
 4301   5766   
new file mode 100644
 4302   5767   
index 0000000..600f1d8
 4303         -
-- /dev/null
        5768  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4304   5769   
@@ -0,0 +1,4 @@
        5770  +
AWS4-ECDSA-P256-SHA256
        5771  +
20150830T123600Z
        5772  +
20150830/service/aws4_request
        5773  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4305   5774   
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
 4306   5775   
new file mode 100644
 4307   5776   
index 0000000..379dcb2
 4308         -
-- /dev/null
        5777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4309   5778   
@@ -0,0 +1,4 @@
        5779  +
{
        5780  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5781  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5782  +
}
 4310   5783   
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
 4311   5784   
new file mode 100644
 4312   5785   
index 0000000..779c51c
 4313         -
-- /dev/null
        5786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4314   5787   
@@ -0,0 +1,7 @@
        5788  +
GET
        5789  +
/
        5790  +
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
        5791  +
host:example.amazonaws.com
        5792  +
        5793  +
host
        5794  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4315   5795   
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
 4316   5796   
new file mode 100644
 4317   5797   
index 0000000..2979e5e
 4318         -
-- /dev/null
        5798  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4319   5799   
@@ -0,0 +1 @@
        5800  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4320   5801   
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
 4321   5802   
new file mode 100644
 4322   5803   
index 0000000..1b3179c
 4323         -
-- /dev/null
        5804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4324   5805   
@@ -0,0 +1,3 @@
        5806  +
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
        5807  +
Host:example.amazonaws.com
        5808  +
 4325   5809   
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
 4326   5810   
new file mode 100644
 4327   5811   
index 0000000..6e29a7e
 4328         -
-- /dev/null
        5812  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4329   5813   
@@ -0,0 +1,4 @@
        5814  +
AWS4-ECDSA-P256-SHA256
        5815  +
20150830T123600Z
        5816  +
20150830/service/aws4_request
        5817  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4330   5818   
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
 4331   5819   
similarity index 60%
 4332   5820   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4333   5821   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4334   5822   
index 0f7a9bf..e659c3b 100644
 4335         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4336   5824   
@@ -1,3 +1,2 @@
 4337   5825   
GET / HTTP/1.1
 4338   5826   
Host:example.amazonaws.com
 4339         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4340   5827   
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
 4341   5828   
new file mode 100644
 4342   5829   
index 0000000..0468d80
 4343         -
-- /dev/null
        5830  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4344   5831   
@@ -0,0 +1,12 @@
        5832  +
{
        5833  +
    "credentials": {
        5834  +
        "access_key_id": "AKIDEXAMPLE",
        5835  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5836  +
    },
        5837  +
    "expiration_in_seconds": 3600,
        5838  +
    "normalize": true,
        5839  +
    "region": "us-east-1",
        5840  +
    "service": "service",
        5841  +
    "sign_body": false,
        5842  +
    "timestamp": "2015-08-30T12:36:00Z"
        5843  +
}
              \
 No newline at end of file
 4345   5844   
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
 4346   5845   
new file mode 100644
 4347   5846   
index 0000000..8841ddf
 4348         -
-- /dev/null
        5847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4349   5848   
@@ -0,0 +1,9 @@
        5849  +
GET
        5850  +
/
        5851  +
%E1%88%B4=bar
        5852  +
host:example.amazonaws.com
        5853  +
x-amz-date:20150830T123600Z
        5854  +
x-amz-region-set:us-east-1
        5855  +
        5856  +
host;x-amz-date;x-amz-region-set
        5857  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4350   5858   
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
 4351   5859   
new file mode 100644
 4352   5860   
index 0000000..1497add
 4353         -
-- /dev/null
        5861  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4354   5862   
@@ -0,0 +1 @@
        5863  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4355   5864   
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
 4356   5865   
new file mode 100644
 4357   5866   
index 0000000..961bc10
 4358         -
-- /dev/null
        5867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4359   5868   
@@ -0,0 +1,6 @@
        5869  +
GET /?ሴ=bar HTTP/1.1
        5870  +
Host:example.amazonaws.com
        5871  +
X-Amz-Date:20150830T123600Z
        5872  +
X-Amz-Region-Set:us-east-1
        5873  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        5874  +
 4360   5875   
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
 4361   5876   
new file mode 100644
 4362   5877   
index 0000000..e78ed70
 4363         -
-- /dev/null
        5878  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4364   5879   
@@ -0,0 +1,4 @@
        5880  +
AWS4-ECDSA-P256-SHA256
        5881  +
20150830T123600Z
        5882  +
20150830/service/aws4_request
        5883  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4365   5884   
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
 4366   5885   
new file mode 100644
 4367   5886   
index 0000000..379dcb2
 4368         -
-- /dev/null
        5887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4369   5888   
@@ -0,0 +1,4 @@
        5889  +
{
        5890  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5891  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5892  +
}
 4370   5893   
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
 4371   5894   
new file mode 100644
 4372   5895   
index 0000000..6d5ae93
 4373         -
-- /dev/null
        5896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4374   5897   
@@ -0,0 +1,7 @@
        5898  +
GET
        5899  +
/
        5900  +
%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
        5901  +
host:example.amazonaws.com
        5902  +
        5903  +
host
        5904  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4375   5905   
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
 4376   5906   
new file mode 100644
 4377   5907   
index 0000000..92107f2
 4378         -
-- /dev/null
        5908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4379   5909   
@@ -0,0 +1 @@
        5910  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4380   5911   
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
 4381   5912   
new file mode 100644
 4382   5913   
index 0000000..bb8a75b
 4383         -
-- /dev/null
        5914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4384   5915   
@@ -0,0 +1,3 @@
        5916  +
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
        5917  +
Host:example.amazonaws.com
        5918  +
 4385   5919   
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
 4386   5920   
new file mode 100644
 4387   5921   
index 0000000..9fa94c7
 4388         -
-- /dev/null
        5922  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4389   5923   
@@ -0,0 +1,4 @@
        5924  +
AWS4-ECDSA-P256-SHA256
        5925  +
20150830T123600Z
        5926  +
20150830/service/aws4_request
        5927  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4390   5928   
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
 4391   5929   
new file mode 100644
 4392   5930   
index 0000000..aff333a
 4393         -
-- /dev/null
        5931  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4394   5932   
@@ -0,0 +1,2 @@
        5933  +
GET /?ሴ=bar HTTP/1.1
        5934  +
Host:example.amazonaws.com
 4395   5935   
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
 4396   5936   
new file mode 100644
 4397   5937   
index 0000000..a334e18
 4398         -
-- /dev/null
        5938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4399   5939   
@@ -0,0 +1,13 @@
        5940  +
{
        5941  +
    "credentials": {
        5942  +
        "access_key_id": "AKIDEXAMPLE",
        5943  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        5944  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        5945  +
    },
        5946  +
    "expiration_in_seconds": 3600,
        5947  +
    "normalize": true,
        5948  +
    "region": "us-east-1",
        5949  +
    "service": "service",
        5950  +
    "sign_body": false,
        5951  +
    "timestamp": "2015-08-30T12:36:00Z"
        5952  +
}
              \
 No newline at end of file
 4400   5953   
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
 4401   5954   
similarity index 99%
 4402   5955   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4403   5956   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4404   5957   
index f14defd..0e9ad42 100644
 4405   5958   
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
 4406   5959   
new file mode 100644
 4407   5960   
index 0000000..a7673b5
 4408         -
-- /dev/null
        5961  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4409   5962   
@@ -0,0 +1 @@
        5963  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4410   5964   
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
 4411   5965   
new file mode 100644
 4412   5966   
index 0000000..ed16e76
 4413         -
-- /dev/null
        5967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4414   5968   
@@ -0,0 +1,7 @@
        5969  +
GET / HTTP/1.1
        5970  +
Host:example.amazonaws.com
        5971  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        5972  +
X-Amz-Date:20150830T123600Z
        5973  +
X-Amz-Region-Set:us-east-1
        5974  +
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
        5975  +
 4415   5976   
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
 4416   5977   
similarity index 99%
 4417   5978   
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
 4418   5979   
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
 4419   5980   
index 4edece5..6c1ec65 100644
 4420   5981   
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
 4421   5982   
new file mode 100644
 4422   5983   
index 0000000..379dcb2
 4423         -
-- /dev/null
        5984  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4424   5985   
@@ -0,0 +1,4 @@
        5986  +
{
        5987  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5988  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5989  +
}
 4425   5990   
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
 4426   5991   
similarity index 99%
 4427   5992   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4428   5993   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4429   5994   
index 7c042af..1876b42 100644
 4430   5995   
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
 4431   5996   
new file mode 100644
 4432   5997   
index 0000000..903dfb4
 4433         -
-- /dev/null
        5998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4434   5999   
@@ -0,0 +1 @@
        6000  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4435   6001   
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
 4436   6002   
new file mode 100644
 4437   6003   
index 0000000..bf1d246
 4438         -
-- /dev/null
        6004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4439   6005   
@@ -0,0 +1,3 @@
        6006  +
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
        6007  +
Host:example.amazonaws.com
        6008  +
 4440   6009   
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
 4441   6010   
similarity index 99%
 4442   6011   
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
 4443   6012   
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
 4444   6013   
index 0fd066a..f1b1790 100644
 4445   6014   
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
 4446   6015   
similarity index 60%
 4447   6016   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4448   6017   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4449   6018   
index 0f7a9bf..e659c3b 100644
 4450         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4451   6020   
@@ -1,3 +1,2 @@
 4452   6021   
GET / HTTP/1.1
 4453   6022   
Host:example.amazonaws.com
 4454         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4455   6023   
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
 4456   6024   
new file mode 100644
 4457   6025   
index 0000000..76db73d
 4458         -
-- /dev/null
        6026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4459   6027   
@@ -0,0 +1,9 @@
        6028  +
GET
        6029  +
/
        6030  +
        6031  +
host:example.amazonaws.com
        6032  +
x-amz-date:20150830T123600Z
        6033  +
x-amz-region-set:us-east-1
        6034  +
        6035  +
host;x-amz-date;x-amz-region-set
        6036  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4460   6037   
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
 4461   6038   
new file mode 100644
 4462   6039   
index 0000000..0468d80
 4463         -
-- /dev/null
        6040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4464   6041   
@@ -0,0 +1,12 @@
        6042  +
{
        6043  +
    "credentials": {
        6044  +
        "access_key_id": "AKIDEXAMPLE",
        6045  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6046  +
    },
        6047  +
    "expiration_in_seconds": 3600,
        6048  +
    "normalize": true,
        6049  +
    "region": "us-east-1",
        6050  +
    "service": "service",
        6051  +
    "sign_body": false,
        6052  +
    "timestamp": "2015-08-30T12:36:00Z"
        6053  +
}
              \
 No newline at end of file
 4465   6054   
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
 4466   6055   
new file mode 100644
 4467   6056   
index 0000000..76db73d
 4468         -
-- /dev/null
        6057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4469   6058   
@@ -0,0 +1,9 @@
        6059  +
GET
        6060  +
/
        6061  +
        6062  +
host:example.amazonaws.com
        6063  +
x-amz-date:20150830T123600Z
        6064  +
x-amz-region-set:us-east-1
        6065  +
        6066  +
host;x-amz-date;x-amz-region-set
        6067  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4470   6068   
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
 4471   6069   
new file mode 100644
 4472   6070   
index 0000000..a96ff24
 4473         -
-- /dev/null
        6071  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4474   6072   
@@ -0,0 +1 @@
        6073  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4475   6074   
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
 4476   6075   
new file mode 100644
 4477   6076   
index 0000000..689078b
 4478         -
-- /dev/null
        6077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4479   6078   
@@ -0,0 +1,6 @@
        6079  +
GET / HTTP/1.1
        6080  +
Host:example.amazonaws.com
        6081  +
X-Amz-Date:20150830T123600Z
        6082  +
X-Amz-Region-Set:us-east-1
        6083  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6084  +
 4480   6085   
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
 4481   6086   
new file mode 100644
 4482   6087   
index 0000000..600f1d8
 4483         -
-- /dev/null
        6088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4484   6089   
@@ -0,0 +1,4 @@
        6090  +
AWS4-ECDSA-P256-SHA256
        6091  +
20150830T123600Z
        6092  +
20150830/service/aws4_request
        6093  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4485   6094   
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
 4486   6095   
new file mode 100644
 4487   6096   
index 0000000..379dcb2
 4488         -
-- /dev/null
        6097  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4489   6098   
@@ -0,0 +1,4 @@
        6099  +
{
        6100  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6101  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6102  +
}
 4490   6103   
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
 4491   6104   
new file mode 100644
 4492   6105   
index 0000000..779c51c
 4493         -
-- /dev/null
        6106  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4494   6107   
@@ -0,0 +1,7 @@
        6108  +
GET
        6109  +
/
        6110  +
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
        6111  +
host:example.amazonaws.com
        6112  +
        6113  +
host
        6114  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4495   6115   
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
 4496   6116   
new file mode 100644
 4497   6117   
index 0000000..cc42158
 4498         -
-- /dev/null
        6118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4499   6119   
@@ -0,0 +1 @@
        6120  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4500   6121   
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
 4501   6122   
new file mode 100644
 4502   6123   
index 0000000..dc6d01d
 4503         -
-- /dev/null
        6124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4504   6125   
@@ -0,0 +1,3 @@
        6126  +
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
        6127  +
Host:example.amazonaws.com
        6128  +
 4505   6129   
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
 4506   6130   
new file mode 100644
 4507   6131   
index 0000000..6e29a7e
 4508         -
-- /dev/null
        6132  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4509   6133   
@@ -0,0 +1,4 @@
        6134  +
AWS4-ECDSA-P256-SHA256
        6135  +
20150830T123600Z
        6136  +
20150830/service/aws4_request
        6137  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4510   6138   
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
 4511   6139   
new file mode 100644
 4512   6140   
index 0000000..e659c3b
 4513         -
-- /dev/null
        6141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4514   6142   
@@ -0,0 +1,2 @@
        6143  +
GET / HTTP/1.1
        6144  +
Host:example.amazonaws.com
 4515   6145   
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
 4516   6146   
new file mode 100644
 4517   6147   
index 0000000..600f1d8
 4518         -
-- /dev/null
        6148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4519   6149   
@@ -0,0 +1,4 @@
        6150  +
AWS4-ECDSA-P256-SHA256
        6151  +
20150830T123600Z
        6152  +
20150830/service/aws4_request
        6153  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4520   6154   
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
 4521   6155   
new file mode 100644
 4522   6156   
index 0000000..0468d80
 4523         -
-- /dev/null
        6157  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4524   6158   
@@ -0,0 +1,12 @@
        6159  +
{
        6160  +
    "credentials": {
        6161  +
        "access_key_id": "AKIDEXAMPLE",
        6162  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6163  +
    },
        6164  +
    "expiration_in_seconds": 3600,
        6165  +
    "normalize": true,
        6166  +
    "region": "us-east-1",
        6167  +
    "service": "service",
        6168  +
    "sign_body": false,
        6169  +
    "timestamp": "2015-08-30T12:36:00Z"
        6170  +
}
              \
 No newline at end of file
 4525   6171   
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
 4526   6172   
similarity index 99%
 4527   6173   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4528   6174   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4529   6175   
index a6942c1..e881ac7 100644
 4530   6176   
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
 4531   6177   
new file mode 100644
 4532   6178   
index 0000000..4210210
 4533         -
-- /dev/null
        6179  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4534   6180   
@@ -0,0 +1 @@
        6181  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4535   6182   
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
 4536   6183   
new file mode 100644
 4537   6184   
index 0000000..257b110
 4538         -
-- /dev/null
        6185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4539   6186   
@@ -0,0 +1,6 @@
        6187  +
POST / HTTP/1.1
        6188  +
Host:example.amazonaws.com
        6189  +
X-Amz-Date:20150830T123600Z
        6190  +
X-Amz-Region-Set:us-east-1
        6191  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6192  +
 4540   6193   
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
 4541   6194   
similarity index 99%
 4542   6195   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4543   6196   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4544   6197   
index d5650cb..f8adf13 100644
 4545   6198   
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
 4546   6199   
new file mode 100644
 4547   6200   
index 0000000..379dcb2
 4548         -
-- /dev/null
        6201  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4549   6202   
@@ -0,0 +1,4 @@
        6203  +
{
        6204  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6205  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6206  +
}
 4550   6207   
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
 4551   6208   
similarity index 99%
 4552   6209   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4553   6210   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4554   6211   
index e48ce07..5ea8e3c 100644
 4555   6212   
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
 4556   6213   
new file mode 100644
 4557   6214   
index 0000000..9e2069e
 4558         -
-- /dev/null
        6215  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4559   6216   
@@ -0,0 +1 @@
        6217  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4560   6218   
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
 4561   6219   
new file mode 100644
 4562   6220   
index 0000000..67f5d29
 4563         -
-- /dev/null
        6221  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4564   6222   
@@ -0,0 +1,3 @@
        6223  +
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
        6224  +
Host:example.amazonaws.com
        6225  +
 4565   6226   
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
 4566   6227   
similarity index 99%
 4567   6228   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4568   6229   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4569   6230   
index 34e3382..711c162 100644
 4570   6231   
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
 4571   6232   
similarity index 61%
 4572   6233   
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
 4573   6234   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4574   6235   
index 3dc4179..3f0a82a 100644
 4575         -
-- 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
        6236  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4576   6237   
@@ -1,3 +1,2 @@
 4577   6238   
POST / HTTP/1.1
 4578   6239   
Host:example.amazonaws.com
 4579         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4580   6240   
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
 4581   6241   
new file mode 100644
 4582   6242   
index 0000000..0468d80
 4583         -
-- /dev/null
        6243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4584   6244   
@@ -0,0 +1,12 @@
        6245  +
{
        6246  +
    "credentials": {
        6247  +
        "access_key_id": "AKIDEXAMPLE",
        6248  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6249  +
    },
        6250  +
    "expiration_in_seconds": 3600,
        6251  +
    "normalize": true,
        6252  +
    "region": "us-east-1",
        6253  +
    "service": "service",
        6254  +
    "sign_body": false,
        6255  +
    "timestamp": "2015-08-30T12:36:00Z"
        6256  +
}
              \
 No newline at end of file
 4585   6257   
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
 4586   6258   
similarity index 99%
 4587   6259   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4588   6260   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4589   6261   
index a8e1727..2883822 100644
 4590   6262   
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
 4591   6263   
new file mode 100644
 4592   6264   
index 0000000..e3c2e6e
 4593         -
-- /dev/null
        6265  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4594   6266   
@@ -0,0 +1 @@
        6267  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4595   6268   
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
 4596   6269   
new file mode 100644
 4597   6270   
index 0000000..1d6e288
 4598         -
-- /dev/null
        6271  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4599   6272   
@@ -0,0 +1,7 @@
        6273  +
POST / HTTP/1.1
        6274  +
Host:example.amazonaws.com
        6275  +
My-Header1:value1
        6276  +
X-Amz-Date:20150830T123600Z
        6277  +
X-Amz-Region-Set:us-east-1
        6278  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6279  +
 4600   6280   
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
 4601   6281   
similarity index 99%
 4602   6282   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4603   6283   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4604   6284   
index f6e3e9b..7c5236a 100644
 4605   6285   
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
 4606   6286   
new file mode 100644
 4607   6287   
index 0000000..379dcb2
 4608         -
-- /dev/null
        6288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4609   6289   
@@ -0,0 +1,4 @@
        6290  +
{
        6291  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6292  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6293  +
}
 4610   6294   
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
 4611   6295   
similarity index 99%
 4612   6296   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4613   6297   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4614   6298   
index 0ae73e1..2cf3f29 100644
 4615   6299   
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
 4616   6300   
new file mode 100644
 4617   6301   
index 0000000..2a08401
 4618         -
-- /dev/null
        6302  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4619   6303   
@@ -0,0 +1 @@
        6304  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4620   6305   
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
 4621   6306   
new file mode 100644
 4622   6307   
index 0000000..8d2343f
 4623         -
-- /dev/null
        6308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4624   6309   
@@ -0,0 +1,4 @@
        6310  +
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
        6311  +
Host:example.amazonaws.com
        6312  +
My-Header1:value1
        6313  +
 4625   6314   
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
 4626   6315   
similarity index 99%
 4627   6316   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4628   6317   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4629   6318   
index 8cb96bf..2c4db7a 100644
 4630   6319   
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
 4631   6320   
similarity index 69%
 4632   6321   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4633   6322   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4634   6323   
index 0253f19..917720e 100644
 4635         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6324  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4636   6325   
@@ -1,4 +1,3 @@
 4637   6326   
POST / HTTP/1.1
 4638   6327   
Host:example.amazonaws.com
 4639   6328   
My-Header1:value1
 4640         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4641   6329   
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
 4642   6330   
new file mode 100644
 4643   6331   
index 0000000..0468d80
 4644         -
-- /dev/null
        6332  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4645   6333   
@@ -0,0 +1,12 @@
        6334  +
{
        6335  +
    "credentials": {
        6336  +
        "access_key_id": "AKIDEXAMPLE",
        6337  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6338  +
    },
        6339  +
    "expiration_in_seconds": 3600,
        6340  +
    "normalize": true,
        6341  +
    "region": "us-east-1",
        6342  +
    "service": "service",
        6343  +
    "sign_body": false,
        6344  +
    "timestamp": "2015-08-30T12:36:00Z"
        6345  +
}
              \
 No newline at end of file
 4646   6346   
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
 4647   6347   
similarity index 99%
 4648   6348   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4649   6349   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4650   6350   
index 1dc3ef8..164e65c 100644
 4651   6351   
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
 4652   6352   
new file mode 100644
 4653   6353   
index 0000000..7072b0e
 4654         -
-- /dev/null
        6354  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4655   6355   
@@ -0,0 +1 @@
        6356  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4656   6357   
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
 4657   6358   
new file mode 100644
 4658   6359   
index 0000000..17f5e3e
 4659         -
-- /dev/null
        6360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4660   6361   
@@ -0,0 +1,7 @@
        6362  +
POST / HTTP/1.1
        6363  +
Host:example.amazonaws.com
        6364  +
My-Header1:VALUE1
        6365  +
X-Amz-Date:20150830T123600Z
        6366  +
X-Amz-Region-Set:us-east-1
        6367  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6368  +
 4661   6369   
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
 4662   6370   
similarity index 99%
 4663   6371   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4664   6372   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4665   6373   
index 59c7e45..620f54e 100644
 4666   6374   
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
 4667   6375   
new file mode 100644
 4668   6376   
index 0000000..379dcb2
 4669         -
-- /dev/null
        6377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4670   6378   
@@ -0,0 +1,4 @@
        6379  +
{
        6380  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6381  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6382  +
}
 4671   6383   
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
 4672   6384   
similarity index 99%
 4673   6385   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4674   6386   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4675   6387   
index 377e6f3..23e0da3 100644
 4676   6388   
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
 4677   6389   
new file mode 100644
 4678   6390   
index 0000000..a18acb8
 4679         -
-- /dev/null
        6391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4680   6392   
@@ -0,0 +1 @@
        6393  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4681   6394   
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
 4682   6395   
new file mode 100644
 4683   6396   
index 0000000..7cbdcfa
 4684         -
-- /dev/null
        6397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4685   6398   
@@ -0,0 +1,4 @@
        6399  +
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
        6400  +
Host:example.amazonaws.com
        6401  +
My-Header1:VALUE1
        6402  +
 4686   6403   
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
 4687   6404   
similarity index 99%
 4688   6405   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4689   6406   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4690   6407   
index 84a7afd..0c90627 100644
 4691   6408   
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
 4692   6409   
similarity index 69%
 4693   6410   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4694   6411   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4695   6412   
index 3f9987a..5f14c91 100644
 4696         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4697   6414   
@@ -1,4 +1,3 @@
 4698   6415   
POST / HTTP/1.1
 4699   6416   
Host:example.amazonaws.com
 4700   6417   
My-Header1:VALUE1
 4701         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4702   6418   
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
 4703   6419   
new file mode 100644
 4704   6420   
index 0000000..8f1d5ce
 4705         -
-- /dev/null
        6421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4706   6422   
@@ -0,0 +1,14 @@
        6423  +
{
        6424  +
    "credentials": {
        6425  +
        "access_key_id": "AKIDEXAMPLE",
        6426  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6427  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6428  +
    },
        6429  +
    "expiration_in_seconds": 3600,
        6430  +
    "normalize": true,
        6431  +
    "region": "us-east-1",
        6432  +
    "service": "service",
        6433  +
    "sign_body": false,
        6434  +
    "timestamp": "2015-08-30T12:36:00Z",
        6435  +
    "omit_session_token": true
        6436  +
}
 4707   6437   
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
 4708   6438   
similarity index 99%
 4709   6439   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4710   6440   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4711   6441   
index a6942c1..e881ac7 100644
 4712   6442   
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
 4713   6443   
new file mode 100644
 4714   6444   
index 0000000..9c5ecb9
 4715         -
-- /dev/null
        6445  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4716   6446   
@@ -0,0 +1 @@
        6447  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4717   6448   
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
 4718   6449   
similarity index 52%
 4719   6450   
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
 4720   6451   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4721   6452   
index 9d91775..61b6527 100644
 4722         -
-- 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
        6453  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4723   6454   
@@ -1,4 +1,7 @@
 4724   6455   
POST / HTTP/1.1
 4725   6456   
Host:example.amazonaws.com
 4726         -
X-Amz-Date:20150830T123600Z
 4727   6457   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6458  +
X-Amz-Date:20150830T123600Z
        6459  +
X-Amz-Region-Set:us-east-1
        6460  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6461  +
 4728   6462   
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
 4729   6463   
similarity index 99%
 4730   6464   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4731   6465   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4732   6466   
index d5650cb..f8adf13 100644
 4733   6467   
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
 4734   6468   
new file mode 100644
 4735   6469   
index 0000000..379dcb2
 4736         -
-- /dev/null
        6470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4737   6471   
@@ -0,0 +1,4 @@
        6472  +
{
        6473  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6474  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6475  +
}
 4738   6476   
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
 4739   6477   
similarity index 99%
 4740   6478   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4741   6479   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4742   6480   
index e48ce07..5ea8e3c 100644
 4743   6481   
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
 4744   6482   
new file mode 100644
 4745   6483   
index 0000000..ff8823a
 4746         -
-- /dev/null
        6484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 4747   6485   
@@ -0,0 +1 @@
        6486  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 4748   6487   
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
 4749   6488   
new file mode 100644
 4750   6489   
index 0000000..cfac41b
 4751         -
-- /dev/null
        6490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 4752   6491   
@@ -0,0 +1,3 @@
        6492  +
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
        6493  +
Host:example.amazonaws.com
        6494  +
 4753   6495   
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
 4754   6496   
similarity index 99%
 4755   6497   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 4756   6498   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 4757   6499   
index 34e3382..711c162 100644
 4758   6500   
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
 4759   6501   
similarity index 61%
 4760   6502   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 4761   6503   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4762   6504   
index 3dc4179..3f0a82a 100644
 4763         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4764   6506   
@@ -1,3 +1,2 @@
 4765   6507   
POST / HTTP/1.1
 4766   6508   
Host:example.amazonaws.com
 4767         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4768   6509   
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
 4769   6510   
new file mode 100644
 4770   6511   
index 0000000..5187392
 4771         -
-- /dev/null
        6512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 4772   6513   
@@ -0,0 +1,14 @@
        6514  +
{
        6515  +
    "credentials": {
        6516  +
        "access_key_id": "AKIDEXAMPLE",
        6517  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6518  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6519  +
    },
        6520  +
    "expiration_in_seconds": 3600,
        6521  +
    "normalize": true,
        6522  +
    "region": "us-east-1",
        6523  +
    "service": "service",
        6524  +
    "sign_body": false,
        6525  +
    "timestamp": "2015-08-30T12:36:00Z",
        6526  +
    "omit_session_token": false
        6527  +
}
 4773   6528   
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
 4774   6529   
similarity index 99%
 4775   6530   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 4776   6531   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 4777   6532   
index dd408c8..e95924e 100644
 4778   6533   
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
 4779   6534   
new file mode 100644
 4780   6535   
index 0000000..1573f07
 4781         -
-- /dev/null
        6536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 4782   6537   
@@ -0,0 +1 @@
        6538  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 4783   6539   
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
 4784   6540   
new file mode 100644
 4785   6541   
index 0000000..6ef9a08
 4786         -
-- /dev/null
        6542  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 4787   6543   
@@ -0,0 +1,7 @@
        6544  +
POST / HTTP/1.1
        6545  +
Host:example.amazonaws.com
        6546  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6547  +
X-Amz-Date:20150830T123600Z
        6548  +
X-Amz-Region-Set:us-east-1
        6549  +
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
        6550  +
 4788   6551   
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
 4789   6552   
similarity index 99%
 4790   6553   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 4791   6554   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 4792   6555   
index f352b54..3c3235f 100644
 4793   6556   
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
 4794   6557   
new file mode 100644
 4795   6558   
index 0000000..379dcb2
 4796         -
-- /dev/null
        6559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 4797   6560   
@@ -0,0 +1,4 @@
        6561  +
{
        6562  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6563  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6564  +
}
 4798   6565   
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
 4799   6566   
similarity index 99%
 4800   6567   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 4801   6568   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 4802   6569   
index 832cdc0..63b7de5 100644
 4803   6570   
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
 4804   6571   
new file mode 100644
 4805   6572   
index 0000000..713f57c
 4806         -
-- /dev/null
        6573  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 4807   6574   
@@ -0,0 +1 @@
        6575  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 4808   6576   
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
 4809   6577   
new file mode 100644
 4810   6578   
index 0000000..32c3bb3
 4811         -
-- /dev/null
        6579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 4812   6580   
@@ -0,0 +1,3 @@
        6581  +
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
        6582  +
Host:example.amazonaws.com
        6583  +
 4813   6584   
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
 4814   6585   
similarity index 99%
 4815   6586   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 4816   6587   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 4817   6588   
index d7f3668..b46cd8c 100644
 4818   6589   
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
 4819   6590   
similarity index 60%
 4820   6591   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 4821   6592   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4822   6593   
index 8b5efc8..3f0a82a 100644
 4823         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6594  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4824   6595   
@@ -1,3 +1,2 @@
 4825   6596   
POST / HTTP/1.1
 4826   6597   
Host:example.amazonaws.com
 4827         -
X-Amz-Date:20150830T123600Z
 4828   6598   
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
 4829   6599   
new file mode 100644
 4830   6600   
index 0000000..0468d80
 4831         -
-- /dev/null
        6601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 4832   6602   
@@ -0,0 +1,12 @@
        6603  +
{
        6604  +
    "credentials": {
        6605  +
        "access_key_id": "AKIDEXAMPLE",
        6606  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6607  +
    },
        6608  +
    "expiration_in_seconds": 3600,
        6609  +
    "normalize": true,
        6610  +
    "region": "us-east-1",
        6611  +
    "service": "service",
        6612  +
    "sign_body": false,
        6613  +
    "timestamp": "2015-08-30T12:36:00Z"
        6614  +
}
              \
 No newline at end of file
 4833   6615   
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
 4834   6616   
similarity index 99%
 4835   6617   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 4836   6618   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 4837   6619   
index 02af60f..34b8c11 100644
 4838   6620   
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
 4839   6621   
new file mode 100644
 4840   6622   
index 0000000..aac6427
 4841         -
-- /dev/null
        6623  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 4842   6624   
@@ -0,0 +1 @@
        6625  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 4843   6626   
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
 4844   6627   
new file mode 100644
 4845   6628   
index 0000000..a611436
 4846         -
-- /dev/null
        6629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 4847   6630   
@@ -0,0 +1,6 @@
        6631  +
POST /?Param1=value1 HTTP/1.1
        6632  +
Host:example.amazonaws.com
        6633  +
X-Amz-Date:20150830T123600Z
        6634  +
X-Amz-Region-Set:us-east-1
        6635  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6636  +
 4848   6637   
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
 4849   6638   
similarity index 99%
 4850   6639   
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
 4851   6640   
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
 4852   6641   
index 4256b4f..ad88dff 100644
 4853   6642   
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
 4854   6643   
new file mode 100644
 4855   6644   
index 0000000..379dcb2
 4856         -
-- /dev/null
        6645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 4857   6646   
@@ -0,0 +1,4 @@
        6647  +
{
        6648  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6649  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6650  +
}
 4858   6651   
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
 4859   6652   
similarity index 99%
 4860   6653   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 4861   6654   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 4862   6655   
index fa84bbd..76d5ad6 100644
 4863   6656   
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
 4864   6657   
new file mode 100644
 4865   6658   
index 0000000..4cb1c94
 4866         -
-- /dev/null
        6659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 4867   6660   
@@ -0,0 +1 @@
        6661  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 4868   6662   
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
 4869   6663   
new file mode 100644
 4870   6664   
index 0000000..bd22b97
 4871         -
-- /dev/null
        6665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 4872   6666   
@@ -0,0 +1,3 @@
        6667  +
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
        6668  +
Host:example.amazonaws.com
        6669  +
 4873   6670   
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
 4874   6671   
similarity index 99%
 4875   6672   
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
 4876   6673   
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
 4877   6674   
index de270ef..8c9d319 100644
 4878   6675   
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
 4879   6676   
similarity index 67%
 4880   6677   
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
 4881   6678   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4882   6679   
index 9157bc7..c9d6e5d 100644
 4883         -
-- 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
        6680  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4884   6681   
@@ -1,3 +1,2 @@
 4885   6682   
POST /?Param1=value1 HTTP/1.1
 4886   6683   
Host:example.amazonaws.com
 4887         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4888   6684   
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
 4889   6685   
new file mode 100644
 4890   6686   
index 0000000..0468d80
 4891         -
-- /dev/null
        6687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 4892   6688   
@@ -0,0 +1,12 @@
        6689  +
{
        6690  +
    "credentials": {
        6691  +
        "access_key_id": "AKIDEXAMPLE",
        6692  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6693  +
    },
        6694  +
    "expiration_in_seconds": 3600,
        6695  +
    "normalize": true,
        6696  +
    "region": "us-east-1",
        6697  +
    "service": "service",
        6698  +
    "sign_body": false,
        6699  +
    "timestamp": "2015-08-30T12:36:00Z"
        6700  +
}
              \
 No newline at end of file
 4893   6701   
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
 4894   6702   
similarity index 99%
 4895   6703   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 4896   6704   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 4897   6705   
index 02af60f..34b8c11 100644
 4898   6706   
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
 4899   6707   
new file mode 100644
 4900   6708   
index 0000000..34f75c8
 4901         -
-- /dev/null
        6709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 4902   6710   
@@ -0,0 +1 @@
        6711  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 4903   6712   
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
 4904   6713   
new file mode 100644
 4905   6714   
index 0000000..c731408
 4906         -
-- /dev/null
        6715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 4907   6716   
@@ -0,0 +1,6 @@
        6717  +
POST /?Param1=value1 HTTP/1.1
        6718  +
Host:example.amazonaws.com
        6719  +
X-Amz-Date:20150830T123600Z
        6720  +
X-Amz-Region-Set:us-east-1
        6721  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6722  +
 4908   6723   
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
 4909   6724   
similarity index 99%
 4910   6725   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 4911   6726   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 4912   6727   
index 4256b4f..ad88dff 100644
 4913   6728   
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
 4914   6729   
new file mode 100644
 4915   6730   
index 0000000..379dcb2
 4916         -
-- /dev/null
        6731  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 4917   6732   
@@ -0,0 +1,4 @@
        6733  +
{
        6734  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6735  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6736  +
}
 4918   6737   
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
 4919   6738   
similarity index 99%
 4920   6739   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 4921   6740   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 4922   6741   
index fa84bbd..76d5ad6 100644
 4923   6742   
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
 4924   6743   
new file mode 100644
 4925   6744   
index 0000000..ae000d6
 4926         -
-- /dev/null
        6745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 4927   6746   
@@ -0,0 +1 @@
        6747  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 4928   6748   
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
 4929   6749   
new file mode 100644
 4930   6750   
index 0000000..a868f7d
 4931         -
-- /dev/null
        6751  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 4932   6752   
@@ -0,0 +1,3 @@
        6753  +
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
        6754  +
Host:example.amazonaws.com
        6755  +
 4933   6756   
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
 4934   6757   
similarity index 99%
 4935   6758   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 4936   6759   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 4937   6760   
index de270ef..8c9d319 100644
 4938   6761   
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
 4939   6762   
similarity index 67%
 4940   6763   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 4941   6764   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4942   6765   
index 9157bc7..c9d6e5d 100644
 4943         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6766  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4944   6767   
@@ -1,3 +1,2 @@
 4945   6768   
POST /?Param1=value1 HTTP/1.1
 4946   6769   
Host:example.amazonaws.com
 4947         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4948   6770   
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
 4949   6771   
new file mode 100644
 4950   6772   
index 0000000..0468d80
 4951         -
-- /dev/null
        6773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 4952   6774   
@@ -0,0 +1,12 @@
        6775  +
{
        6776  +
    "credentials": {
        6777  +
        "access_key_id": "AKIDEXAMPLE",
        6778  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6779  +
    },
        6780  +
    "expiration_in_seconds": 3600,
        6781  +
    "normalize": true,
        6782  +
    "region": "us-east-1",
        6783  +
    "service": "service",
        6784  +
    "sign_body": false,
        6785  +
    "timestamp": "2015-08-30T12:36:00Z"
        6786  +
}
              \
 No newline at end of file
 4953   6787   
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
 4954   6788   
similarity index 99%
 4955   6789   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 4956   6790   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 4957   6791   
index a6942c1..e881ac7 100644
 4958   6792   
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
 4959   6793   
new file mode 100644
 4960   6794   
index 0000000..7c5e47b
 4961         -
-- /dev/null
        6795  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 4962   6796   
@@ -0,0 +1 @@
        6797  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 4963   6798   
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
 4964   6799   
new file mode 100644
 4965   6800   
index 0000000..c0e50a0
 4966         -
-- /dev/null
        6801  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 4967   6802   
@@ -0,0 +1,6 @@
        6803  +
POST / HTTP/1.1
        6804  +
Host:example.amazonaws.com
        6805  +
X-Amz-Date:20150830T123600Z
        6806  +
X-Amz-Region-Set:us-east-1
        6807  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6808  +
 4968   6809   
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
 4969   6810   
similarity index 99%
 4970   6811   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 4971   6812   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 4972   6813   
index d5650cb..f8adf13 100644
 4973   6814   
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
 4974   6815   
new file mode 100644
 4975   6816   
index 0000000..379dcb2
 4976         -
-- /dev/null
        6817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 4977   6818   
@@ -0,0 +1,4 @@
        6819  +
{
        6820  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6821  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6822  +
}
 4978   6823   
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
 4979   6824   
similarity index 99%
 4980   6825   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 4981   6826   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 4982   6827   
index e48ce07..5ea8e3c 100644
 4983   6828   
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
 4984   6829   
new file mode 100644
 4985   6830   
index 0000000..ea8e3b4
 4986         -
-- /dev/null
        6831  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 4987   6832   
@@ -0,0 +1 @@
        6833  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 4988   6834   
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
 4989   6835   
new file mode 100644
 4990   6836   
index 0000000..616973f
 4991         -
-- /dev/null
        6837  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 4992   6838   
@@ -0,0 +1,3 @@
        6839  +
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
        6840  +
Host:example.amazonaws.com
        6841  +
 4993   6842   
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
 4994   6843   
similarity index 99%
 4995   6844   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 4996   6845   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 4997   6846   
index 34e3382..711c162 100644
 4998   6847   
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
 4999   6848   
new file mode 100644
 5000   6849   
index 0000000..3f0a82a
 5001         -
-- /dev/null
        6850  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 5002   6851   
@@ -0,0 +1,2 @@
        6852  +
POST / HTTP/1.1
        6853  +
Host:example.amazonaws.com
 5003   6854   
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
 5004   6855   
new file mode 100644
 5005   6856   
index 0000000..0db1df1
 5006         -
-- /dev/null
        6857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 5007   6858   
@@ -0,0 +1,12 @@
        6859  +
{
        6860  +
    "credentials": {
        6861  +
        "access_key_id": "AKIDEXAMPLE",
        6862  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6863  +
    },
        6864  +
    "expiration_in_seconds": 3600,
        6865  +
    "normalize": true,
        6866  +
    "region": "us-east-1",
        6867  +
    "service": "service",
        6868  +
    "sign_body": true,
        6869  +
    "timestamp": "2015-08-30T12:36:00Z"
        6870  +
}
              \
 No newline at end of file
 5008   6871   
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
 5009   6872   
similarity index 62%
 5010   6873   
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
 5011   6874   
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
 5012   6875   
index 05ab787..62639b2 100644
 5013         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        6876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 5014   6877   
@@ -1,12 +1,12 @@
 5015   6878   
POST
 5016   6879   
/
 5017   6880   
 5018   6881   
content-length:13
 5019   6882   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5020   6883   
host:example.amazonaws.com
 5021         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6884  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5022   6885   
x-amz-date:20150830T123600Z
 5023   6886   
x-amz-region-set:us-east-1
 5024   6887   
 5025   6888   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5026         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6889  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5027   6890   
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
 5028   6891   
new file mode 100644
 5029   6892   
index 0000000..006ec2e
 5030         -
-- /dev/null
        6893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 5031   6894   
@@ -0,0 +1 @@
        6895  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 5032   6896   
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
 5033   6897   
new file mode 100644
 5034   6898   
index 0000000..87a11f2
 5035         -
-- /dev/null
        6899  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 5036   6900   
@@ -0,0 +1,10 @@
        6901  +
POST / HTTP/1.1
        6902  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6903  +
Host:example.amazonaws.com
        6904  +
Content-Length:13
        6905  +
X-Amz-Date:20150830T123600Z
        6906  +
X-Amz-Region-Set:us-east-1
        6907  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6908  +
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
        6909  +
        6910  +
Param1=value1
              \
 No newline at end of file
 5037   6911   
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
 5038   6912   
new file mode 100644
 5039   6913   
index 0000000..c047afb
 5040         -
-- /dev/null
        6914  +
++ 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
 5041   6915   
@@ -0,0 +1,4 @@
        6916  +
AWS4-ECDSA-P256-SHA256
        6917  +
20150830T123600Z
        6918  +
20150830/service/aws4_request
        6919  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 5042   6920   
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
 5043   6921   
new file mode 100644
 5044   6922   
index 0000000..379dcb2
 5045         -
-- /dev/null
        6923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 5046   6924   
@@ -0,0 +1,4 @@
        6925  +
{
        6926  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6927  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6928  +
}
 5047   6929   
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
 5048   6930   
similarity index 85%
 5049   6931   
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
 5050   6932   
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
 5051   6933   
index fcc454f..6933a8c 100644
 5052         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        6934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 5053   6935   
@@ -1,9 +1,9 @@
 5054   6936   
POST
 5055   6937   
/
 5056   6938   
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
 5057   6939   
content-length:13
 5058   6940   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5059   6941   
host:example.amazonaws.com
 5060   6942   
 5061   6943   
content-length;content-type;host
 5062         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6944  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5063   6945   
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
 5064   6946   
new file mode 100644
 5065   6947   
index 0000000..34a2e12
 5066         -
-- /dev/null
        6948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 5067   6949   
@@ -0,0 +1 @@
        6950  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 5068   6951   
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
 5069   6952   
new file mode 100644
 5070   6953   
index 0000000..197b99e
 5071         -
-- /dev/null
        6954  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 5072   6955   
@@ -0,0 +1,6 @@
        6956  +
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
        6957  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6958  +
Host:example.amazonaws.com
        6959  +
Content-Length:13
        6960  +
        6961  +
Param1=value1
              \
 No newline at end of file
 5073   6962   
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
 5074   6963   
new file mode 100644
 5075   6964   
index 0000000..9d2bc74
 5076         -
-- /dev/null
        6965  +
++ 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
 5077   6966   
@@ -0,0 +1,4 @@
        6967  +
AWS4-ECDSA-P256-SHA256
        6968  +
20150830T123600Z
        6969  +
20150830/service/aws4_request
        6970  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 5078   6971   
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
 5079   6972   
similarity index 80%
 5080   6973   
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
 5081   6974   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5082   6975   
index 36015f1..8289eaa 100644
 5083         -
-- 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
        6976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5084   6977   
@@ -1,6 +1,6 @@
 5085   6978   
POST / HTTP/1.1
 5086   6979   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 5087   6980   
Host:example.amazonaws.com
 5088         -
X-Amz-Date:20150830T123600Z
        6981  +
Content-Length:13
 5089   6982   
 5090   6983   
Param1=value1
              \
 No newline at end of file
 5091   6984   
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
 5092   6985   
new file mode 100644
 5093   6986   
index 0000000..0db1df1
 5094         -
-- /dev/null
        6987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 5095   6988   
@@ -0,0 +1,12 @@
        6989  +
{
        6990  +
    "credentials": {
        6991  +
        "access_key_id": "AKIDEXAMPLE",
        6992  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6993  +
    },
        6994  +
    "expiration_in_seconds": 3600,
        6995  +
    "normalize": true,
        6996  +
    "region": "us-east-1",
        6997  +
    "service": "service",
        6998  +
    "sign_body": true,
        6999  +
    "timestamp": "2015-08-30T12:36:00Z"
        7000  +
}
              \
 No newline at end of file
 5096   7001   
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
 5097   7002   
similarity index 61%
 5098   7003   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 5099   7004   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5100   7005   
index 69009dc..797632b 100644
 5101         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        7006  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5102   7007   
@@ -1,12 +1,12 @@
 5103   7008   
POST
 5104   7009   
/
 5105   7010   
 5106   7011   
content-length:13
 5107   7012   
content-type:application/x-www-form-urlencoded
 5108   7013   
host:example.amazonaws.com
 5109         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7014  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5110   7015   
x-amz-date:20150830T123600Z
 5111   7016   
x-amz-region-set:us-east-1
 5112   7017   
 5113   7018   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5114         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7019  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5115   7020   
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
 5116   7021   
new file mode 100644
 5117   7022   
index 0000000..f5a641c
 5118         -
-- /dev/null
        7023  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 5119   7024   
@@ -0,0 +1 @@
        7025  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 5120   7026   
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
 5121   7027   
new file mode 100644
 5122   7028   
index 0000000..7bd94a7
 5123         -
-- /dev/null
        7029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 5124   7030   
@@ -0,0 +1,10 @@
        7031  +
POST / HTTP/1.1
        7032  +
Content-Type:application/x-www-form-urlencoded
        7033  +
Host:example.amazonaws.com
        7034  +
Content-Length:13
        7035  +
X-Amz-Date:20150830T123600Z
        7036  +
X-Amz-Region-Set:us-east-1
        7037  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7038  +
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
        7039  +
        7040  +
Param1=value1
              \
 No newline at end of file
 5125   7041   
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
 5126   7042   
new file mode 100644
 5127   7043   
index 0000000..8d25ba9
 5128         -
-- /dev/null
        7044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 5129   7045   
@@ -0,0 +1,4 @@
        7046  +
AWS4-ECDSA-P256-SHA256
        7047  +
20150830T123600Z
        7048  +
20150830/service/aws4_request
        7049  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 5130   7050   
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
 5131   7051   
new file mode 100644
 5132   7052   
index 0000000..379dcb2
 5133         -
-- /dev/null
        7053  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 5134   7054   
@@ -0,0 +1,4 @@
        7055  +
{
        7056  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7057  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7058  +
}
 5135   7059   
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
 5136   7060   
similarity index 99%
 5137   7061   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 5138   7062   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 5139   7063   
index 9ed065b..563ff58 100644
 5140   7064   
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
 5141   7065   
new file mode 100644
 5142   7066   
index 0000000..0c77daf
 5143         -
-- /dev/null
        7067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 5144   7068   
@@ -0,0 +1 @@
        7069  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 5145   7070   
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
 5146   7071   
new file mode 100644
 5147   7072   
index 0000000..71d6de9
 5148         -
-- /dev/null
        7073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5149   7074   
@@ -0,0 +1,6 @@
        7075  +
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
        7076  +
Content-Type:application/x-www-form-urlencoded
        7077  +
Host:example.amazonaws.com
        7078  +
Content-Length:13
        7079  +
        7080  +
Param1=value1
              \
 No newline at end of file
 5150   7081   
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
 5151   7082   
similarity index 99%
 5152   7083   
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
 5153   7084   
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
 5154   7085   
index bef3143..cc7a224 100644
 5155   7086   
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
 5156   7087   
new file mode 100644
 5157   7088   
index 0000000..760b2d3
 5158         -
-- /dev/null
        7089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5159   7090   
@@ -0,0 +1,6 @@
        7091  +
POST / HTTP/1.1
        7092  +
Content-Type:application/x-www-form-urlencoded
        7093  +
Host:example.amazonaws.com
        7094  +
Content-Length:13
        7095  +
        7096  +
Param1=value1
              \
 No newline at end of file
 5160   7097   
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
 5161   7098   
index 9bd636f..b53f33f 100644
 5162         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7099  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5163   7100   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5164   7101   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5165   7102   
        }
 5166   7103   
 5167   7104   
        if let SignatureValues::QueryParams(values) = values {
 5168   7105   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5169   7106   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5170   7107   
 5171   7108   
            #[cfg(feature = "sigv4a")]
 5172   7109   
            if let Some(regions) = values.region_set {
 5173   7110   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5174   7111   
            }
 5175   7112   
 5176   7113   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5177   7114   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5178   7115   
            add_param(
 5179   7116   
                &mut params,
 5180   7117   
                param::X_AMZ_SIGNED_HEADERS,
 5181   7118   
                values.signed_headers.as_str(),
 5182   7119   
            );
 5183   7120   
 5184   7121   
            if let Some(security_token) = values.security_token {
 5185   7122   
                add_param(
 5186   7123   
                    &mut params,
 5187   7124   
                    settings
 5188   7125   
                        .session_token_name_override
 5189   7126   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5190   7127   
                    security_token,
 5191   7128   
                );
 5192   7129   
            }
 5193   7130   
        }
 5194         -
        // Sort by param name, and then by param value
        7131  +
        7132  +
        // Sort on the _encoded_ key/value pairs
        7133  +
        let mut params: Vec<(String, String)> = params
        7134  +
            .into_iter()
        7135  +
            .map(|x| {
        7136  +
                use aws_smithy_http::query::fmt_string;
        7137  +
                let enc_k = fmt_string(&x.0);
        7138  +
                let enc_v = fmt_string(&x.1);
        7139  +
                (enc_k, enc_v)
        7140  +
            })
        7141  +
            .collect();
        7142  +
 5195   7143   
        params.sort();
 5196   7144   
 5197   7145   
        let mut query = QueryWriter::new(uri);
 5198   7146   
        query.clear_params();
 5199   7147   
        for (key, value) in params {
 5200         -
            query.insert(&key, &value);
        7148  +
            query.insert_encoded(&key, &value);
 5201   7149   
        }
 5202   7150   
 5203   7151   
        let query = query.build_query();
 5204   7152   
        if query.is_empty() {
 5205   7153   
            None
 5206   7154   
        } else {
 5207   7155   
            Some(query)
 5208   7156   
        }
 5209   7157   
    }
 5210   7158   
 5211   7159   
    fn insert_host_header(
 5212   7160   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5213   7161   
        uri: &Uri,
 5214   7162   
    ) -> HeaderValue {
 5215   7163   
        match canonical_headers.get(&HOST) {
 5216   7164   
            Some(header) => header.clone(),
 5217   7165   
            None => {
 5218   7166   
                let port = uri.port();
 5219   7167   
                let scheme = uri.scheme();
 5220   7168   
                let authority = uri
 5221   7169   
                    .authority()
 5222   7170   
                    .expect("request uri authority must be set for signing")
 5223   7171   
                    .as_str();
 5224   7172   
                let host = uri
 5225   7173   
                    .host()
 5226   7174   
                    .expect("request uri host must be set for signing");
 5227   7175   
 5228   7176   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5229   7177   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5230   7178   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5231   7179   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5232   7180   
            service,
 5233   7181   
            hashed_creq,
 5234   7182   
            signature_version: SignatureVersion::V4a,
 5235   7183   
        }
 5236   7184   
    }
 5237   7185   
}
 5238   7186   
 5239   7187   
impl fmt::Display for StringToSign<'_> {
 5240   7188   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5241   7189   
        write!(
 5242   7190   
            f,
 5243   7191   
            "{}\n{}\n{}\n{}",
 5244   7192   
            self.algorithm,
 5245   7193   
            format_date_time(self.time),
 5246   7194   
            match self.signature_version {
 5247   7195   
                SignatureVersion::V4 => self.scope.to_string(),
 5248   7196   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5249   7197   
            },
 5250   7198   
            self.hashed_creq
 5251   7199   
        )
 5252   7200   
    }
 5253   7201   
}
 5254   7202   
 5255   7203   
#[cfg(test)]
 5256   7204   
mod tests {
 5257   7205   
    use crate::date_time::test_parsers::parse_date_time;
 5258   7206   
    use crate::http_request::canonical_request::{
 5259   7207   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5260   7208   
    };
 5261   7209   
    use crate::http_request::test;
        7210  +
    use crate::http_request::test::SigningSuiteTest;
 5262   7211   
    use crate::http_request::{
 5263   7212   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5264   7213   
        SigningParams, SigningSettings,
 5265   7214   
    };
 5266   7215   
    use crate::sign::v4;
 5267   7216   
    use crate::sign::v4::sha256_hex_string;
 5268   7217   
    use aws_credential_types::Credentials;
 5269   7218   
    use aws_smithy_http::query_writer::QueryWriter;
 5270   7219   
    use aws_smithy_runtime_api::client::identity::Identity;
 5271   7220   
    use http0::{HeaderValue, Uri};
 5272   7221   
    use pretty_assertions::assert_eq;
 5273   7222   
    use proptest::{prelude::*, proptest};
 5274   7223   
    use std::borrow::Cow;
 5275   7224   
    use std::time::Duration;
 5276   7225   
 5277   7226   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5278   7227   
        v4::signing_params::Builder::default()
 5279   7228   
            .identity(identity)
 5280   7229   
            .region("test-region")
 5281   7230   
            .name("testservicename")
 5282   7231   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5283   7232   
            .settings(settings)
 5284   7233   
            .build()
 5285   7234   
            .unwrap()
 5286   7235   
            .into()
 5287   7236   
    }
 5288   7237   
 5289   7238   
    #[test]
 5290   7239   
    fn test_repeated_header() {
 5291         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7240  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7241  +
        let mut req = test.request();
 5292   7242   
        req.headers.push((
 5293   7243   
            "x-amz-object-attributes".to_string(),
 5294   7244   
            "Checksum".to_string(),
 5295   7245   
        ));
 5296   7246   
        req.headers.push((
 5297   7247   
            "x-amz-object-attributes".to_string(),
 5298   7248   
            "ObjectSize".to_string(),
 5299   7249   
        ));
 5300   7250   
        let req = SignableRequest::from(&req);
 5301   7251   
        let settings = SigningSettings {
 5302   7252   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5303   7253   
            session_token_mode: SessionTokenMode::Exclude,
 5304   7254   
            ..Default::default()
 5305   7255   
        };
 5306   7256   
        let identity = Credentials::for_tests().into();
 5307   7257   
        let signing_params = signing_params(&identity, settings);
 5308   7258   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5309   7259   
 5310   7260   
        assert_eq!(
 5311   7261   
            creq.values.signed_headers().to_string(),
 5312   7262   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5313   7263   
        );
 5314   7264   
        assert_eq!(
 5315   7265   
            creq.header_values_for("x-amz-object-attributes"),
 5316   7266   
            "Checksum,ObjectSize",
 5317   7267   
        );
 5318   7268   
    }
 5319   7269   
 5320   7270   
    #[test]
 5321   7271   
    fn test_host_header_properly_handles_ports() {
 5322   7272   
        fn host_header_test_setup(endpoint: String) -> String {
 5323         -
            let mut req = test::v4::test_request("get-vanilla");
        7273  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7274  +
            let mut req = test.request();
 5324   7275   
            req.uri = endpoint;
 5325   7276   
            let req = SignableRequest::from(&req);
 5326   7277   
            let settings = SigningSettings {
 5327   7278   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5328   7279   
                session_token_mode: SessionTokenMode::Exclude,
 5329   7280   
                ..Default::default()
 5330   7281   
            };
 5331   7282   
            let identity = Credentials::for_tests().into();
 5332   7283   
            let signing_params = signing_params(&identity, settings);
 5333   7284   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5334   7285   
            creq.header_values_for("host")
 5335   7286   
        }
 5336   7287   
 5337   7288   
        // HTTP request with 80 port should not be signed with that port
 5338   7289   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5339   7290   
        assert_eq!(http_80_host_header, "localhost",);
 5340   7291   
 5341   7292   
        // HTTP request with non-80 port should be signed with that port
 5342   7293   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5343   7294   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5344   7295   
 5345   7296   
        // HTTPS request with 443 port should not be signed with that port
 5346   7297   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5347   7298   
        assert_eq!(https_443_host_header, "localhost",);
 5348   7299   
 5349   7300   
        // HTTPS request with non-443 port should be signed with that port
 5350   7301   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5351   7302   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5352   7303   
    }
 5353   7304   
 5354   7305   
    #[test]
 5355   7306   
    fn test_set_xamz_sha_256() {
 5356         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7307  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7308  +
        let req = test.request();
 5357   7309   
        let req = SignableRequest::from(&req);
 5358   7310   
        let settings = SigningSettings {
 5359   7311   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5360   7312   
            session_token_mode: SessionTokenMode::Exclude,
 5361   7313   
            ..Default::default()
 5362   7314   
        };
 5363   7315   
        let identity = Credentials::for_tests().into();
 5364   7316   
        let mut signing_params = signing_params(&identity, settings);
 5365   7317   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5366   7318   
        assert_eq!(
 5367   7319   
            creq.values.content_sha256(),
 5368   7320   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5369   7321   
        );
 5370   7322   
        // assert that the sha256 header was added
 5371   7323   
        assert_eq!(
 5372   7324   
            creq.values.signed_headers().as_str(),
 5373   7325   
            "host;x-amz-content-sha256;x-amz-date"
 5374   7326   
        );
 5375   7327   
 5376   7328   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5377   7329   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5378   7330   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5379   7331   
    }
 5380   7332   
 5381   7333   
    #[test]
 5382   7334   
    fn test_unsigned_payload() {
 5383         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7335  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7336  +
        let mut req = test.request();
 5384   7337   
        req.set_body(SignableBody::UnsignedPayload);
 5385   7338   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5386   7339   
 5387   7340   
        let settings = SigningSettings {
 5388   7341   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5389   7342   
            ..Default::default()
 5390   7343   
        };
 5391   7344   
        let identity = Credentials::for_tests().into();
 5392   7345   
        let signing_params = signing_params(&identity, settings);
 5393   7346   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5394   7347   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5395   7348   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5396   7349   
    }
 5397   7350   
 5398   7351   
    #[test]
 5399   7352   
    fn test_precomputed_payload() {
 5400   7353   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5401         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7354  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7355  +
        let mut req = test.request();
 5402   7356   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5403   7357   
        let req = SignableRequest::from(&req);
 5404   7358   
        let settings = SigningSettings {
 5405   7359   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5406   7360   
            ..Default::default()
 5407   7361   
        };
 5408   7362   
        let identity = Credentials::for_tests().into();
 5409   7363   
        let signing_params = signing_params(&identity, settings);
 5410   7364   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5411   7365   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5412   7366   
        assert!(creq.to_string().ends_with(payload_hash));
 5413   7367   
    }
 5414   7368   
 5415   7369   
    #[test]
 5416   7370   
    fn test_generate_scope() {
 5417   7371   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5418   7372   
        let scope = SigningScope {
 5419   7373   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5420   7374   
            region: "us-east-1",
 5421   7375   
            service: "iam",
 5422   7376   
        };
 5423   7377   
        assert_eq!(format!("{}\n", scope), expected);
 5424   7378   
    }
 5425   7379   
 5426   7380   
    #[test]
 5427   7381   
    fn test_string_to_sign() {
 5428   7382   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5429         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5430         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7383  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7384  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7385  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5431   7386   
        let encoded = sha256_hex_string(creq.as_bytes());
 5432   7387   
 5433   7388   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5434   7389   
        assert_eq!(expected_sts, actual.to_string());
 5435   7390   
    }
 5436   7391   
 5437   7392   
    #[test]
 5438   7393   
    fn test_digest_of_canonical_request() {
 5439         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7394  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7395  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5440   7396   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5441   7397   
        let actual = sha256_hex_string(creq.as_bytes());
 5442   7398   
        assert_eq!(expected, actual);
 5443   7399   
    }
 5444   7400   
 5445   7401   
    #[test]
 5446   7402   
    fn test_double_url_encode_path() {
 5447         -
        let req = test::v4::test_request("double-encode-path");
        7403  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7404  +
        let req = test.request();
 5448   7405   
        let req = SignableRequest::from(&req);
 5449   7406   
        let identity = Credentials::for_tests().into();
 5450   7407   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5451   7408   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5452   7409   
 5453         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7410  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5454   7411   
        let actual = format!("{}", creq);
 5455   7412   
        assert_eq!(actual, expected);
 5456   7413   
    }
 5457   7414   
 5458   7415   
    #[test]
 5459   7416   
    fn test_double_url_encode() {
 5460         -
        let req = test::v4::test_request("double-url-encode");
        7417  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7418  +
        let req = test.request();
 5461   7419   
        let req = SignableRequest::from(&req);
 5462   7420   
        let identity = Credentials::for_tests().into();
 5463   7421   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5464   7422   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5465         -
 5466         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7423  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5467   7424   
        let actual = format!("{}", creq);
 5468   7425   
        assert_eq!(actual, expected);
 5469   7426   
    }
 5470   7427   
 5471   7428   
    #[test]
 5472   7429   
    fn test_tilde_in_uri() {
 5473   7430   
        let req = http0::Request::builder()
 5474   7431   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5475   7432   
        let req = SignableRequest::from(&req);
 5476   7433   
        let identity = Credentials::for_tests().into();
 5477   7434   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5478   7435   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5479   7436   
        assert_eq!(
 5480   7437   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5481   7438   
            creq.params.as_deref(),
 5482   7439   
        );
 5483   7440   
    }
 5484   7441   
 5485   7442   
    #[test]
 5486   7443   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5487   7444   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5488   7445   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5489   7446   
 5490   7447   
        let mut query_writer = QueryWriter::new(&uri);
 5491   7448   
        query_writer.insert("list-type", "2");
 5492   7449   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5493   7450   
 5494   7451   
        let req = http0::Request::builder()
 5495   7452   
            .uri(query_writer.build_uri())
 5496   7453   
            .body("")
 5497   7454   
            .unwrap()
 5498   7455   
            .into();
 5499   7456   
        let req = SignableRequest::from(&req);
 5500   7457   
        let identity = Credentials::for_tests().into();
 5501   7458   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5502   7459   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5503   7460   
 5504   7461   
        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~";
 5505   7462   
        let actual = creq.params.unwrap();
 5506   7463   
        assert_eq!(expected, actual);
 5507   7464   
    }
 5508   7465   
 5509   7466   
    #[test]
 5510   7467   
    fn test_omit_session_token() {
 5511         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7468  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7469  +
        let req = test.request();
 5512   7470   
        let req = SignableRequest::from(&req);
 5513   7471   
        let settings = SigningSettings {
 5514   7472   
            session_token_mode: SessionTokenMode::Include,
 5515   7473   
            ..Default::default()
 5516   7474   
        };
 5517   7475   
        let identity = Credentials::for_tests_with_session_token().into();
 5518   7476   
        let mut signing_params = signing_params(&identity, settings);
 5519   7477   
 5520   7478   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5521   7479   
        assert_eq!(
 5522   7480   
            creq.values.signed_headers().as_str(),
 5523   7481   
            "host;x-amz-date;x-amz-security-token"
 5524   7482   
        );
 5525   7483   
        assert_eq!(
 5526   7484   
            creq.headers.get("x-amz-security-token").unwrap(),
 5527   7485   
            "notarealsessiontoken"
 5528   7486   
        );
 5529   7487   
 5530   7488   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5531   7489   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5532   7490   
        assert_eq!(
 5533   7491   
            creq.headers.get("x-amz-security-token").unwrap(),
 5534   7492   
            "notarealsessiontoken"
 5535   7493   
        );
 5536   7494   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5537   7495   
    }
 5538   7496   
 5539   7497   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5540   7498   
    #[test]
 5541   7499   
    fn non_presigning_header_exclusion() {
 5542   7500   
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
 5543   7501   
index c4bbbee..363fc2c 100644
 5544         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7502  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5545   7503   
@@ -6,60 +6,62 @@
 5546   7504   
use super::error::SigningError;
 5547   7505   
use super::{PayloadChecksumKind, SignatureLocation};
 5548   7506   
use crate::http_request::canonical_request::header;
 5549   7507   
use crate::http_request::canonical_request::param;
 5550   7508   
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5551   7509   
use crate::http_request::error::CanonicalRequestError;
 5552   7510   
use crate::http_request::SigningParams;
 5553   7511   
use crate::sign::v4;
 5554   7512   
#[cfg(feature = "sigv4a")]
 5555   7513   
use crate::sign::v4a;
 5556   7514   
use crate::{SignatureVersion, SigningOutput};
 5557   7515   
use http0::Uri;
 5558   7516   
use std::borrow::Cow;
 5559   7517   
use std::fmt::{Debug, Formatter};
 5560   7518   
use std::str;
 5561   7519   
 5562   7520   
const LOG_SIGNABLE_BODY: &str = "LOG_SIGNABLE_BODY";
 5563   7521   
 5564   7522   
/// Represents all of the information necessary to sign an HTTP request.
 5565   7523   
#[derive(Debug)]
 5566   7524   
#[non_exhaustive]
 5567   7525   
pub struct SignableRequest<'a> {
 5568   7526   
    method: &'a str,
 5569   7527   
    uri: Uri,
 5570   7528   
    headers: Vec<(&'a str, &'a str)>,
 5571   7529   
    body: SignableBody<'a>,
 5572   7530   
}
 5573   7531   
 5574   7532   
impl<'a> SignableRequest<'a> {
 5575   7533   
    /// Creates a new `SignableRequest`.
        7534  +
    ///
        7535  +
    /// NOTE: The `uri` is expected to already in encoded form.
 5576   7536   
    pub fn new(
 5577   7537   
        method: &'a str,
 5578   7538   
        uri: impl Into<Cow<'a, str>>,
 5579   7539   
        headers: impl Iterator<Item = (&'a str, &'a str)>,
 5580   7540   
        body: SignableBody<'a>,
 5581   7541   
    ) -> Result<Self, SigningError> {
 5582   7542   
        let uri = uri
 5583   7543   
            .into()
 5584   7544   
            .parse()
 5585   7545   
            .map_err(|e| SigningError::from(CanonicalRequestError::from(e)))?;
 5586   7546   
        let headers = headers.collect();
 5587   7547   
        Ok(Self {
 5588   7548   
            method,
 5589   7549   
            uri,
 5590   7550   
            headers,
 5591   7551   
            body,
 5592   7552   
        })
 5593   7553   
    }
 5594   7554   
 5595   7555   
    /// Returns the signable URI
 5596   7556   
    pub(crate) fn uri(&self) -> &Uri {
 5597   7557   
        &self.uri
 5598   7558   
    }
 5599   7559   
 5600   7560   
    /// Returns the signable HTTP method
 5601   7561   
    pub(crate) fn method(&self) -> &str {
 5602   7562   
        self.method
 5603   7563   
    }
 5604   7564   
 5605   7565   
    /// Returns the request headers
 5606   7566   
@@ -478,436 +480,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5607   7567   
        sensitive,
 5608   7568   
    });
 5609   7569   
}
 5610   7570   
 5611   7571   
// add signature to authorization header
 5612   7572   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5613   7573   
fn build_authorization_header(
 5614   7574   
    access_key: &str,
 5615   7575   
    creq: &CanonicalRequest<'_>,
 5616   7576   
    sts: StringToSign<'_>,
 5617   7577   
    signature: &str,
 5618   7578   
    signature_version: SignatureVersion,
 5619   7579   
) -> String {
 5620   7580   
    let scope = match signature_version {
 5621   7581   
        SignatureVersion::V4 => sts.scope.to_string(),
 5622   7582   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5623   7583   
    };
 5624   7584   
    format!(
 5625   7585   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5626   7586   
        sts.algorithm,
 5627   7587   
        access_key,
 5628   7588   
        scope,
 5629   7589   
        creq.values.signed_headers().as_str(),
 5630   7590   
        signature
 5631   7591   
    )
 5632   7592   
}
 5633   7593   
#[cfg(test)]
 5634   7594   
mod tests {
 5635   7595   
    use crate::date_time::test_parsers::parse_date_time;
 5636   7596   
    use crate::http_request::sign::{add_header, SignableRequest};
        7597  +
    use crate::http_request::test::SigningSuiteTest;
 5637   7598   
    use crate::http_request::{
 5638         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7599  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5639   7600   
        SigningSettings,
 5640   7601   
    };
 5641   7602   
    use crate::sign::v4;
 5642   7603   
    use aws_credential_types::Credentials;
 5643   7604   
    use http0::{HeaderValue, Request};
 5644   7605   
    use pretty_assertions::assert_eq;
 5645   7606   
    use proptest::proptest;
 5646   7607   
    use std::borrow::Cow;
 5647   7608   
    use std::iter;
 5648         -
    use std::time::Duration;
 5649   7609   
 5650   7610   
    macro_rules! assert_req_eq {
 5651   7611   
        (http: $expected:expr, $actual:expr) => {
 5652   7612   
            let mut expected = ($expected).map(|_b|"body");
 5653   7613   
            let mut actual = ($actual).map(|_b|"body");
 5654   7614   
            make_headers_comparable(&mut expected);
 5655   7615   
            make_headers_comparable(&mut actual);
 5656   7616   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5657   7617   
        };
 5658   7618   
        ($expected:tt, $actual:tt) => {
 5659   7619   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5660   7620   
        };
 5661   7621   
    }
 5662   7622   
 5663   7623   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5664   7624   
        for (_name, value) in request.headers_mut() {
 5665   7625   
            value.set_sensitive(false);
 5666   7626   
        }
 5667   7627   
    }
 5668   7628   
 5669         -
    #[test]
 5670         -
    fn test_sign_vanilla_with_headers() {
 5671         -
        let settings = SigningSettings::default();
 5672         -
        let identity = &Credentials::for_tests().into();
 5673         -
        let params = v4::SigningParams {
 5674         -
            identity,
 5675         -
            region: "us-east-1",
 5676         -
            name: "service",
 5677         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5678         -
            settings,
 5679         -
        }
 5680         -
        .into();
 5681         -
 5682         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5683         -
        let signable = SignableRequest::from(&original);
 5684         -
        let out = sign(signable, &params).unwrap();
 5685         -
        assert_eq!(
 5686         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5687         -
            out.signature
 5688         -
        );
 5689         -
 5690         -
        let mut signed = original.as_http_request();
 5691         -
        out.output.apply_to_request_http0x(&mut signed);
 5692         -
 5693         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5694         -
        assert_req_eq!(expected, signed);
 5695         -
    }
 5696         -
        7629  +
    // Sigv4A suite tests
 5697   7630   
    #[cfg(feature = "sigv4a")]
 5698         -
    mod sigv4a_tests {
 5699         -
        use super::*;
 5700         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5701         -
        use crate::http_request::{sign, test, SigningParams};
 5702         -
        use crate::sign::v4a;
 5703         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5704         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5705         -
        use pretty_assertions::assert_eq;
 5706         -
 5707         -
        fn new_v4a_signing_params_from_context(
 5708         -
            test_context: &'_ test::v4a::TestContext,
 5709         -
            signature_location: SignatureLocation,
 5710         -
        ) -> SigningParams<'_> {
 5711         -
            let mut params = v4a::SigningParams::from(test_context);
 5712         -
            params.settings.signature_location = signature_location;
 5713         -
 5714         -
            params.into()
 5715         -
        }
 5716         -
 5717         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5718         -
            let tc = test::v4a::test_context(test_name);
 5719         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5720         -
 5721         -
            let req = test::v4a::test_request(test_name);
 5722         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5723         -
            let signable_req = SignableRequest::from(&req);
 5724         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        7631  +
    mod v4a_suite {
        7632  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5725   7633   
 5726         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 5727         -
 5728         -
            let expected_string_to_sign =
 5729         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5730         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5731         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5732         -
                *params.time(),
 5733         -
                params.region_set().unwrap(),
 5734         -
                params.name(),
 5735         -
                hashed_creq,
 5736         -
            )
 5737         -
            .to_string();
 5738         -
 5739         -
            assert_eq!(
 5740         -
                expected_string_to_sign, actual_string_to_sign,
 5741         -
                "'string to sign' didn't match"
 5742         -
            );
 5743         -
 5744         -
            let out = sign(signable_req, &params).unwrap();
 5745         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5746         -
            out.output
 5747         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5748         -
 5749         -
            let creds = params.credentials().unwrap();
 5750         -
            let signing_key =
 5751         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5752         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5753         -
            let sig = sig
 5754         -
                .try_into()
 5755         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5756         -
 5757         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5758         -
            let peer_public_key = signing_key.verifying_key();
 5759         -
            let sts = actual_string_to_sign.as_bytes();
 5760         -
            peer_public_key.verify(sts, &sig).unwrap();
        7634  +
        #[test]
        7635  +
        fn test_get_header_key_duplicate() {
        7636  +
            run_test_suite_v4a("get-header-key-duplicate")
 5761   7637   
        }
 5762   7638   
 5763   7639   
        #[test]
 5764         -
        fn test_get_header_key_duplicate() {
 5765         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7640  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7641  +
        fn test_get_header_value_multiline() {
        7642  +
            run_test_suite_v4a("get-header-value-multiline")
 5766   7643   
        }
 5767   7644   
 5768   7645   
        #[test]
 5769   7646   
        fn test_get_header_value_order() {
 5770         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7647  +
            run_test_suite_v4a("get-header-value-order")
 5771   7648   
        }
 5772   7649   
 5773   7650   
        #[test]
 5774   7651   
        fn test_get_header_value_trim() {
 5775         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7652  +
            run_test_suite_v4a("get-header-value-trim");
 5776   7653   
        }
 5777   7654   
 5778   7655   
        #[test]
 5779   7656   
        fn test_get_relative_normalized() {
 5780         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7657  +
            run_test_suite_v4a("get-relative-normalized");
 5781   7658   
        }
 5782   7659   
 5783   7660   
        #[test]
 5784   7661   
        fn test_get_relative_relative_normalized() {
 5785         -
            run_v4a_test_suite(
 5786         -
                "get-relative-relative-normalized",
 5787         -
                SignatureLocation::Headers,
 5788         -
            );
        7662  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5789   7663   
        }
 5790   7664   
 5791   7665   
        #[test]
 5792   7666   
        fn test_get_relative_relative_unnormalized() {
 5793         -
            run_v4a_test_suite(
 5794         -
                "get-relative-relative-unnormalized",
 5795         -
                SignatureLocation::Headers,
 5796         -
            );
        7667  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5797   7668   
        }
 5798   7669   
 5799   7670   
        #[test]
 5800   7671   
        fn test_get_relative_unnormalized() {
 5801         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7672  +
            run_test_suite_v4a("get-relative-unnormalized");
 5802   7673   
        }
 5803   7674   
 5804   7675   
        #[test]
 5805   7676   
        fn test_get_slash_dot_slash_normalized() {
 5806         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7677  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5807   7678   
        }
 5808   7679   
 5809   7680   
        #[test]
 5810   7681   
        fn test_get_slash_dot_slash_unnormalized() {
 5811         -
            run_v4a_test_suite(
 5812         -
                "get-slash-dot-slash-unnormalized",
 5813         -
                SignatureLocation::Headers,
 5814         -
            );
        7682  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5815   7683   
        }
 5816   7684   
 5817   7685   
        #[test]
 5818   7686   
        fn test_get_slash_normalized() {
 5819         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7687  +
            run_test_suite_v4a("get-slash-normalized");
 5820   7688   
        }
 5821   7689   
 5822   7690   
        #[test]
 5823   7691   
        fn test_get_slash_pointless_dot_normalized() {
 5824         -
            run_v4a_test_suite(
 5825         -
                "get-slash-pointless-dot-normalized",
 5826         -
                SignatureLocation::Headers,
 5827         -
            );
        7692  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5828   7693   
        }
 5829   7694   
 5830   7695   
        #[test]
 5831   7696   
        fn test_get_slash_pointless_dot_unnormalized() {
 5832         -
            run_v4a_test_suite(
 5833         -
                "get-slash-pointless-dot-unnormalized",
 5834         -
                SignatureLocation::Headers,
 5835         -
            );
        7697  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5836   7698   
        }
 5837   7699   
 5838   7700   
        #[test]
 5839   7701   
        fn test_get_slash_unnormalized() {
 5840         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7702  +
            run_test_suite_v4a("get-slash-unnormalized");
 5841   7703   
        }
 5842   7704   
 5843   7705   
        #[test]
 5844   7706   
        fn test_get_slashes_normalized() {
 5845         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7707  +
            run_test_suite_v4a("get-slashes-normalized");
 5846   7708   
        }
 5847   7709   
 5848   7710   
        #[test]
 5849   7711   
        fn test_get_slashes_unnormalized() {
 5850         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7712  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7713  +
        }
        7714  +
        7715  +
        #[test]
        7716  +
        #[ignore = "relies on single encode of path segments"]
        7717  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7718  +
        // skipped until we add control over double_uri_encode in context.json
        7719  +
        fn test_get_space_normalized() {
        7720  +
            run_test_suite_v4a("get-space-normalized");
        7721  +
        }
        7722  +
        7723  +
        #[test]
        7724  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7725  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7726  +
        fn test_get_space_unnormalized() {
        7727  +
            run_test_suite_v4a("get-space-unnormalized");
 5851   7728   
        }
 5852   7729   
 5853   7730   
        #[test]
 5854   7731   
        fn test_get_unreserved() {
 5855         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7732  +
            run_test_suite_v4a("get-unreserved");
        7733  +
        }
        7734  +
        7735  +
        #[test]
        7736  +
        #[ignore = "httparse fails on invalid uri character"]
        7737  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7738  +
        fn test_get_utf8() {
        7739  +
            run_test_suite_v4a("get-utf8");
 5856   7740   
        }
 5857   7741   
 5858   7742   
        #[test]
 5859   7743   
        fn test_get_vanilla() {
 5860         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7744  +
            run_test_suite_v4a("get-vanilla");
 5861   7745   
        }
 5862   7746   
 5863   7747   
        #[test]
 5864   7748   
        fn test_get_vanilla_empty_query_key() {
 5865         -
            run_v4a_test_suite(
 5866         -
                "get-vanilla-empty-query-key",
 5867         -
                SignatureLocation::QueryParams,
 5868         -
            );
        7749  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5869   7750   
        }
 5870   7751   
 5871   7752   
        #[test]
 5872   7753   
        fn test_get_vanilla_query() {
 5873         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7754  +
            run_test_suite_v4a("get-vanilla-query");
        7755  +
        }
        7756  +
        7757  +
        #[test]
        7758  +
        fn test_get_vanilla_query_order_encoded() {
        7759  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5874   7760   
        }
 5875   7761   
 5876   7762   
        #[test]
 5877   7763   
        fn test_get_vanilla_query_order_key_case() {
 5878         -
            run_v4a_test_suite(
 5879         -
                "get-vanilla-query-order-key-case",
 5880         -
                SignatureLocation::QueryParams,
 5881         -
            );
        7764  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5882   7765   
        }
 5883   7766   
 5884   7767   
        #[test]
 5885   7768   
        fn test_get_vanilla_query_unreserved() {
 5886         -
            run_v4a_test_suite(
 5887         -
                "get-vanilla-query-unreserved",
 5888         -
                SignatureLocation::QueryParams,
 5889         -
            );
        7769  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7770  +
        }
        7771  +
        7772  +
        #[test]
        7773  +
        #[ignore = "httparse fails on invalid uri character"]
        7774  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7775  +
        fn test_get_vanilla_utf8_query() {
        7776  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 5890   7777   
        }
 5891   7778   
 5892   7779   
        #[test]
 5893   7780   
        fn test_get_vanilla_with_session_token() {
 5894         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7781  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 5895   7782   
        }
 5896   7783   
 5897   7784   
        #[test]
 5898   7785   
        fn test_post_header_key_case() {
 5899         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7786  +
            run_test_suite_v4a("post-header-key-case");
 5900   7787   
        }
 5901   7788   
 5902   7789   
        #[test]
 5903   7790   
        fn test_post_header_key_sort() {
 5904         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7791  +
            run_test_suite_v4a("post-header-key-sort");
 5905   7792   
        }
 5906   7793   
 5907   7794   
        #[test]
 5908   7795   
        fn test_post_header_value_case() {
 5909         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7796  +
            run_test_suite_v4a("post-header-value-case");
 5910   7797   
        }
 5911   7798   
 5912   7799   
        #[test]
 5913   7800   
        fn test_post_sts_header_after() {
 5914         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7801  +
            run_test_suite_v4a("post-sts-header-after");
 5915   7802   
        }
 5916   7803   
 5917   7804   
        #[test]
 5918   7805   
        fn test_post_sts_header_before() {
 5919         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7806  +
            run_test_suite_v4a("post-sts-header-before");
 5920   7807   
        }
 5921   7808   
 5922   7809   
        #[test]
 5923   7810   
        fn test_post_vanilla() {
 5924         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7811  +
            run_test_suite_v4a("post-vanilla");
 5925   7812   
        }
 5926   7813   
 5927   7814   
        #[test]
 5928   7815   
        fn test_post_vanilla_empty_query_value() {
 5929         -
            run_v4a_test_suite(
 5930         -
                "post-vanilla-empty-query-value",
 5931         -
                SignatureLocation::QueryParams,
 5932         -
            );
        7816  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 5933   7817   
        }
 5934   7818   
 5935   7819   
        #[test]
 5936   7820   
        fn test_post_vanilla_query() {
 5937         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7821  +
            run_test_suite_v4a("post-vanilla-query");
 5938   7822   
        }
 5939   7823   
 5940   7824   
        #[test]
 5941   7825   
        fn test_post_x_www_form_urlencoded() {
 5942         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7826  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 5943   7827   
        }
 5944   7828   
 5945   7829   
        #[test]
 5946   7830   
        fn test_post_x_www_form_urlencoded_parameters() {
 5947         -
            run_v4a_test_suite(
 5948         -
                "post-x-www-form-urlencoded-parameters",
 5949         -
                SignatureLocation::QueryParams,
 5950         -
            );
        7831  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 5951   7832   
        }
 5952   7833   
    }
 5953   7834   
 5954   7835   
    #[test]
 5955   7836   
    fn test_sign_url_escape() {
 5956         -
        let test = "double-encode-path";
        7837  +
        let test = SigningSuiteTest::v4("double-encode-path");
 5957   7838   
        let settings = SigningSettings::default();
 5958   7839   
        let identity = &Credentials::for_tests().into();
 5959   7840   
        let params = v4::SigningParams {
 5960   7841   
            identity,
 5961   7842   
            region: "us-east-1",
 5962   7843   
            name: "service",
 5963   7844   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5964   7845   
            settings,
 5965   7846   
        }
 5966   7847   
        .into();
 5967   7848   
 5968         -
        let original = test::v4::test_request(test);
        7849  +
        let original = test.request();
 5969   7850   
        let signable = SignableRequest::from(&original);
 5970   7851   
        let out = sign(signable, &params).unwrap();
 5971   7852   
        assert_eq!(
 5972   7853   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 5973   7854   
            out.signature
 5974   7855   
        );
 5975   7856   
 5976   7857   
        let mut signed = original.as_http_request();
 5977   7858   
        out.output.apply_to_request_http0x(&mut signed);
 5978   7859   
 5979         -
        let expected = test::v4::test_signed_request(test);
 5980         -
        assert_req_eq!(expected, signed);
 5981         -
    }
 5982         -
 5983         -
    #[test]
 5984         -
    fn test_sign_vanilla_with_query_params() {
 5985         -
        let settings = SigningSettings {
 5986         -
            signature_location: SignatureLocation::QueryParams,
 5987         -
            expires_in: Some(Duration::from_secs(35)),
 5988         -
            ..Default::default()
 5989         -
        };
 5990         -
        let identity = &Credentials::for_tests().into();
 5991         -
        let params = v4::SigningParams {
 5992         -
            identity,
 5993         -
            region: "us-east-1",
 5994         -
            name: "service",
 5995         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5996         -
            settings,
 5997         -
        }
 5998         -
        .into();
 5999         -
 6000         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 6001         -
        let signable = SignableRequest::from(&original);
 6002         -
        let out = sign(signable, &params).unwrap();
 6003         -
        assert_eq!(
 6004         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 6005         -
            out.signature
 6006         -
        );
 6007         -
 6008         -
        let mut signed = original.as_http_request();
 6009         -
        out.output.apply_to_request_http0x(&mut signed);
 6010         -
 6011         -
        let expected =
 6012         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7860  +
        let expected = test.signed_request(SignatureLocation::Headers);
 6013   7861   
        assert_req_eq!(expected, signed);
 6014   7862   
    }
 6015   7863   
 6016   7864   
    #[test]
 6017   7865   
    fn test_sign_headers_utf8() {
 6018   7866   
        let settings = SigningSettings::default();
 6019   7867   
        let identity = &Credentials::for_tests().into();
 6020   7868   
        let params = v4::SigningParams {
 6021   7869   
            identity,
 6022   7870   
            region: "us-east-1",
 6023   7871   
            name: "service",
 6024   7872   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6025   7873   
            settings,
 6026   7874   
        }
 6027   7875   
        .into();
 6028   7876   
 6029   7877   
        let original = http0::Request::builder()
 6030   7878   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 6031   7879   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 6032   7880   
            .body("")
 6033   7881   
            .unwrap()
 6034   7882   
            .into();
 6035   7883   
        let signable = SignableRequest::from(&original);
 6036   7884   
        let out = sign(signable, &params).unwrap();
 6037   7885   
        assert_eq!(
 6038   7886   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 6039   7887   
            out.signature
 6040   7888   
        );
 6041   7889   
 6042   7890   
        let mut signed = original.as_http_request();
 6043   7891   
@@ -1138,31 +1028,236 @@ mod tests {
 6044   7892   
        let mut request = http::Request::builder()
 6045   7893   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 6046   7894   
            .body("")
 6047   7895   
            .unwrap();
 6048   7896   
 6049   7897   
        instructions.apply_to_request_http1x(&mut request);
 6050   7898   
 6051   7899   
        assert_eq!(
 6052   7900   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 6053   7901   
            request.uri().path_and_query().unwrap().to_string()
 6054   7902   
        );
 6055   7903   
    }
 6056   7904   
 6057   7905   
    #[test]
 6058   7906   
    fn test_debug_signable_body() {
 6059   7907   
        let sut = SignableBody::Bytes(b"hello signable body");
 6060   7908   
        assert_eq!(
 6061   7909   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 6062   7910   
            format!("{sut:?}")
 6063   7911   
        );
 6064   7912   
 6065   7913   
        let sut = SignableBody::UnsignedPayload;
 6066   7914   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 6067   7915   
 6068   7916   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 6069   7917   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 6070   7918   
 6071   7919   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 6072   7920   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 6073   7921   
    }
        7922  +
        7923  +
    // v4 test suite
        7924  +
    mod v4_suite {
        7925  +
        use crate::http_request::test::run_test_suite_v4;
        7926  +
        7927  +
        #[test]
        7928  +
        fn test_get_header_key_duplicate() {
        7929  +
            run_test_suite_v4("get-header-key-duplicate");
        7930  +
        }
        7931  +
        7932  +
        #[test]
        7933  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7934  +
        fn test_get_header_value_multiline() {
        7935  +
            run_test_suite_v4("get-header-value-multiline");
        7936  +
        }
        7937  +
        7938  +
        #[test]
        7939  +
        fn test_get_header_value_order() {
        7940  +
            run_test_suite_v4("get-header-value-order");
        7941  +
        }
        7942  +
        7943  +
        #[test]
        7944  +
        fn test_get_header_value_trim() {
        7945  +
            run_test_suite_v4("get-header-value-trim");
        7946  +
        }
        7947  +
        7948  +
        #[test]
        7949  +
        fn test_get_relative_normalized() {
        7950  +
            run_test_suite_v4("get-relative-normalized");
        7951  +
        }
        7952  +
        7953  +
        #[test]
        7954  +
        fn test_get_relative_relative_normalized() {
        7955  +
            run_test_suite_v4("get-relative-relative-normalized");
        7956  +
        }
        7957  +
        7958  +
        #[test]
        7959  +
        fn test_get_relative_relative_unnormalized() {
        7960  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        7961  +
        }
        7962  +
        7963  +
        #[test]
        7964  +
        fn test_get_relative_unnormalized() {
        7965  +
            run_test_suite_v4("get-relative-unnormalized");
        7966  +
        }
        7967  +
        7968  +
        #[test]
        7969  +
        fn test_get_slash_dot_slash_normalized() {
        7970  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        7971  +
        }
        7972  +
        7973  +
        #[test]
        7974  +
        fn test_get_slash_dot_slash_unnormalized() {
        7975  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        7976  +
        }
        7977  +
        7978  +
        #[test]
        7979  +
        fn test_get_slash_normalized() {
        7980  +
            run_test_suite_v4("get-slash-normalized");
        7981  +
        }
        7982  +
        7983  +
        #[test]
        7984  +
        fn test_get_slash_pointless_dot_normalized() {
        7985  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        7986  +
        }
        7987  +
        7988  +
        #[test]
        7989  +
        fn test_get_slash_pointless_dot_unnormalized() {
        7990  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        7991  +
        }
        7992  +
        7993  +
        #[test]
        7994  +
        fn test_get_slash_unnormalized() {
        7995  +
            run_test_suite_v4("get-slash-unnormalized");
        7996  +
        }
        7997  +
        7998  +
        #[test]
        7999  +
        fn test_get_slashes_normalized() {
        8000  +
            run_test_suite_v4("get-slashes-normalized");
        8001  +
        }
        8002  +
        8003  +
        #[test]
        8004  +
        fn test_get_slashes_unnormalized() {
        8005  +
            run_test_suite_v4("get-slashes-unnormalized");
        8006  +
        }
        8007  +
        8008  +
        #[test]
        8009  +
        #[ignore = "relies on single encode of path segments"]
        8010  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        8011  +
        // skipped until we add control over double_uri_encode in context.json
        8012  +
        fn test_get_space_normalized() {
        8013  +
            run_test_suite_v4("get-space-normalized");
        8014  +
        }
        8015  +
        8016  +
        #[test]
        8017  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        8018  +
        // the input request has unencoded space ' ' in the path which fails to parse
        8019  +
        fn test_get_space_unnormalized() {
        8020  +
            run_test_suite_v4("get-space-unnormalized");
        8021  +
        }
        8022  +
        8023  +
        #[test]
        8024  +
        fn test_get_unreserved() {
        8025  +
            run_test_suite_v4("get-unreserved");
        8026  +
        }
        8027  +
        8028  +
        #[test]
        8029  +
        #[ignore = "httparse fails on invalid uri character"]
        8030  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8031  +
        fn test_get_utf8() {
        8032  +
            run_test_suite_v4("get-utf8");
        8033  +
        }
        8034  +
        8035  +
        #[test]
        8036  +
        fn test_get_vanilla() {
        8037  +
            run_test_suite_v4("get-vanilla");
        8038  +
        }
        8039  +
        8040  +
        #[test]
        8041  +
        fn test_get_vanilla_empty_query_key() {
        8042  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        8043  +
        }
        8044  +
        8045  +
        #[test]
        8046  +
        fn test_get_vanilla_query() {
        8047  +
            run_test_suite_v4("get-vanilla-query");
        8048  +
        }
        8049  +
        8050  +
        #[test]
        8051  +
        fn test_get_vanilla_query_order_encoded() {
        8052  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        8053  +
        }
        8054  +
        8055  +
        #[test]
        8056  +
        fn test_get_vanilla_query_order_key_case() {
        8057  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        8058  +
        }
        8059  +
        8060  +
        #[test]
        8061  +
        fn test_get_vanilla_query_unreserved() {
        8062  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        8063  +
        }
        8064  +
        8065  +
        #[test]
        8066  +
        #[ignore = "httparse fails on invalid uri character"]
        8067  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8068  +
        fn test_get_vanilla_utf8_query() {
        8069  +
            run_test_suite_v4("get-vanilla-utf8-query");
        8070  +
        }
        8071  +
        8072  +
        #[test]
        8073  +
        fn test_get_vanilla_with_session_token() {
        8074  +
            run_test_suite_v4("get-vanilla-with-session-token");
        8075  +
        }
        8076  +
        8077  +
        #[test]
        8078  +
        fn test_post_header_key_case() {
        8079  +
            run_test_suite_v4("post-header-key-case");
        8080  +
        }
        8081  +
        8082  +
        #[test]
        8083  +
        fn test_post_header_key_sort() {
        8084  +
            run_test_suite_v4("post-header-key-sort");
        8085  +
        }
        8086  +
        8087  +
        #[test]
        8088  +
        fn test_post_header_value_case() {
        8089  +
            run_test_suite_v4("post-header-value-case");
        8090  +
        }
        8091  +
        8092  +
        #[test]
        8093  +
        fn test_post_sts_header_after() {
        8094  +
            run_test_suite_v4("post-sts-header-after");
        8095  +
        }
        8096  +
        8097  +
        #[test]
        8098  +
        fn test_post_sts_header_before() {
        8099  +
            run_test_suite_v4("post-sts-header-before");
        8100  +
        }
        8101  +
        8102  +
        #[test]
        8103  +
        fn test_post_vanilla() {
        8104  +
            run_test_suite_v4("post-vanilla");
        8105  +
        }
        8106  +
        8107  +
        #[test]
        8108  +
        fn test_post_vanilla_empty_query_value() {
        8109  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8110  +
        }
        8111  +
        8112  +
        #[test]
        8113  +
        fn test_post_vanilla_query() {
        8114  +
            run_test_suite_v4("post-vanilla-query");
        8115  +
        }
        8116  +
        8117  +
        #[test]
        8118  +
        fn test_post_x_www_form_urlencoded() {
        8119  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8120  +
        }
        8121  +
        8122  +
        #[test]
        8123  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8124  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8125  +
        }
        8126  +
    }
 6074   8127   
}
 6075   8128   
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
 6076   8129   
index be6c496..86eec20 100644
 6077         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8130  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 6078   8131   
@@ -1,242 +1,453 @@
 6079   8132   
/*
 6080   8133   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 6081   8134   
 * SPDX-License-Identifier: Apache-2.0
 6082   8135   
 */
 6083   8136   
 6084   8137   
//! Functions shared between the tests of several modules.
 6085   8138   
 6086         -
use crate::http_request::{SignableBody, SignableRequest};
        8139  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8140  +
use crate::http_request::{
        8141  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8142  +
    SigningSettings,
        8143  +
};
        8144  +
use aws_credential_types::Credentials;
        8145  +
use aws_smithy_runtime_api::client::identity::Identity;
 6087   8146   
use http0::{Method, Uri};
        8147  +
use std::borrow::Cow;
 6088   8148   
use std::error::Error as StdError;
        8149  +
use std::time::{Duration, SystemTime};
        8150  +
use time::format_description::well_known::Rfc3339;
        8151  +
use time::OffsetDateTime;
        8152  +
        8153  +
/// Common test suite collection
        8154  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8155  +
enum Collection {
        8156  +
    V4,
        8157  +
    V4A,
        8158  +
}
 6089   8159   
 6090         -
pub(crate) mod v4 {
 6091         -
    use super::*;
        8160  +
/// A test from the common CRT test suite
        8161  +
#[derive(Debug, Clone)]
        8162  +
pub(crate) struct SigningSuiteTest {
        8163  +
    test_name: &'static str,
        8164  +
    collection: Collection,
        8165  +
}
 6092   8166   
 6093         -
    fn path(name: &str, ext: &str) -> String {
 6094         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8167  +
impl SigningSuiteTest {
        8168  +
    /// Create a new test from the V4 test suite
        8169  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8170  +
        Self {
        8171  +
            test_name,
        8172  +
            collection: Collection::V4,
 6095   8173   
        }
 6096         -
 6097         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 6098         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 6099         -
        read(&path(name, "creq")).trim().to_string()
 6100   8174   
    }
 6101   8175   
 6102         -
    pub(crate) fn test_sts(name: &str) -> String {
 6103         -
        read(&path(name, "sts"))
        8176  +
    /// Create a new test from the V4a test suite
        8177  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8178  +
        Self {
        8179  +
            test_name,
        8180  +
            collection: Collection::V4A,
 6104   8181   
        }
 6105         -
 6106         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6107         -
        test_parsed_request(name, "req")
 6108   8182   
    }
 6109   8183   
 6110         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 6111         -
        test_parsed_request(name, "sreq")
        8184  +
    /// Get the path to a file in this test suite directory
        8185  +
    fn path(&self, filename: &str) -> String {
        8186  +
        let dir = match self.collection {
        8187  +
            Collection::V4 => "v4",
        8188  +
            Collection::V4A => "v4a",
        8189  +
        };
        8190  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 6112   8191   
    }
 6113   8192   
 6114         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 6115         -
        test_parsed_request(name, "qpsreq")
        8193  +
    /// Get the HTTP request for the test
        8194  +
    pub(crate) fn request(&self) -> TestRequest {
        8195  +
        test_parsed_request(&self.path("request.txt"))
 6116   8196   
    }
 6117   8197   
 6118         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 6119         -
        let path = path(name, ext);
 6120         -
        match parse_request(read(&path).as_bytes()) {
 6121         -
            Ok(parsed) => parsed,
 6122         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8198  +
    /// Get the signed HTTP request for the test
        8199  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8200  +
        match signature_location {
        8201  +
            SignatureLocation::QueryParams => {
        8202  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 6123   8203   
            }
        8204  +
            SignatureLocation::Headers => {
        8205  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 6124   8206   
            }
 6125         -
 6126         -
    #[test]
 6127         -
    fn test_parse() {
 6128         -
        test_request("post-header-key-case");
 6129   8207   
        }
 6130         -
 6131         -
    #[test]
 6132         -
    fn test_read_query_params() {
 6133         -
        test_request("get-vanilla-query-order-key-case");
 6134   8208   
    }
 6135         -
}
 6136         -
 6137         -
#[cfg(feature = "sigv4a")]
 6138         -
pub(crate) mod v4a {
 6139         -
    use super::*;
 6140         -
    use crate::http_request::{
 6141         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 6142         -
    };
 6143         -
    use aws_credential_types::Credentials;
 6144         -
    use aws_smithy_runtime_api::client::identity::Identity;
 6145         -
    use serde_derive::Deserialize;
 6146         -
    use std::time::{Duration, SystemTime};
 6147         -
    use time::format_description::well_known::Rfc3339;
 6148         -
    use time::OffsetDateTime;
 6149   8209   
 6150         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6151         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8210  +
    /// Get the canonical request for the test
        8211  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8212  +
        match signature_location {
        8213  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8214  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6152   8215   
        }
 6153         -
 6154         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6155         -
        test_parsed_request(&path(name, "request"))
 6156   8216   
    }
 6157   8217   
 6158         -
    pub(crate) fn test_canonical_request(
 6159         -
        name: &str,
 6160         -
        signature_location: SignatureLocation,
 6161         -
    ) -> String {
        8218  +
    /// Get the string to sign for the test
        8219  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6162   8220   
        match signature_location {
 6163         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6164         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8221  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8222  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6165   8223   
        }
 6166   8224   
    }
 6167   8225   
 6168         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8226  +
    /// Get the signature for the test
        8227  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6169   8228   
        match signature_location {
 6170         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6171         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8229  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8230  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8231  +
        }
 6172   8232   
    }
        8233  +
        8234  +
    /// Get the test context for the test
        8235  +
    pub(crate) fn context(&self) -> TestContext {
        8236  +
        let context = read(&self.path("context.json"));
        8237  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8238  +
        tc_builder.build()
 6173   8239   
    }
        8240  +
}
 6174   8241   
 6175         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8242  +
fn test_parsed_request(path: &str) -> TestRequest {
 6176   8243   
    match parse_request(read(path).as_bytes()) {
 6177   8244   
        Ok(parsed) => parsed,
 6178   8245   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6179   8246   
    }
 6180         -
    }
        8247  +
}
 6181   8248   
 6182         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6183         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6184         -
        let context = read(&path);
 6185         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6186         -
        tc_builder.build()
 6187         -
    }
        8249  +
fn new_v4_signing_params_from_context(
        8250  +
    test_context: &'_ TestContext,
        8251  +
    signature_location: SignatureLocation,
        8252  +
) -> crate::http_request::SigningParams<'_> {
        8253  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8254  +
    params.settings.signature_location = signature_location;
        8255  +
    params.into()
        8256  +
}
        8257  +
        8258  +
/// Run the given test from the v4 suite for both header and query
        8259  +
/// signature locations
        8260  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8261  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8262  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8263  +
}
        8264  +
        8265  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8266  +
    assert_eq!(expected.scheme(), actual.scheme());
        8267  +
    assert_eq!(expected.authority(), actual.authority());
        8268  +
    assert_eq!(expected.path(), actual.path());
        8269  +
        8270  +
    // query params may be out of order
        8271  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8272  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8273  +
    expected_params.sort();
        8274  +
        8275  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8276  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8277  +
    actual_params.sort();
        8278  +
        8279  +
    assert_eq!(expected_params, actual_params);
        8280  +
}
 6188   8281   
 6189         -
    pub(crate) struct TestContext {
        8282  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8283  +
    let expected = expected.as_http_request();
        8284  +
    let actual = actual;
        8285  +
    assert_eq!(expected.method(), actual.method());
        8286  +
    assert_eq!(
        8287  +
        expected.headers().len(),
        8288  +
        actual.headers().len(),
        8289  +
        "extra or missing headers"
        8290  +
    );
        8291  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8292  +
    assert_uri_eq(expected.uri(), actual.uri());
        8293  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8294  +
}
        8295  +
        8296  +
/// Run the given test from the v4 suite for the given signature location
        8297  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8298  +
    let test = SigningSuiteTest::v4(test_name);
        8299  +
    let tc = test.context();
        8300  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8301  +
        8302  +
    let req = test.request();
        8303  +
    let expected_creq = test.canonical_request(signature_location);
        8304  +
    let signable_req = SignableRequest::from(&req);
        8305  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8306  +
        8307  +
    // check canonical request
        8308  +
    assert_eq!(
        8309  +
        expected_creq,
        8310  +
        actual_creq.to_string(),
        8311  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8312  +
    );
        8313  +
        8314  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8315  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8316  +
    let actual_string_to_sign = StringToSign::new_v4(
        8317  +
        *params.time(),
        8318  +
        params.region().unwrap(),
        8319  +
        params.name(),
        8320  +
        hashed_creq,
        8321  +
    )
        8322  +
    .to_string();
        8323  +
        8324  +
    // check string to sign
        8325  +
    assert_eq!(
        8326  +
        expected_string_to_sign, actual_string_to_sign,
        8327  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8328  +
    );
        8329  +
        8330  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8331  +
    let mut signed = req.as_http_request();
        8332  +
    out.output.apply_to_request_http0x(&mut signed);
        8333  +
        8334  +
    // check signature
        8335  +
    assert_eq!(
        8336  +
        test.signature(signature_location),
        8337  +
        out.signature,
        8338  +
        "signature didn't match (signature location: {signature_location:?})"
        8339  +
    );
        8340  +
        8341  +
    let expected = test.signed_request(signature_location);
        8342  +
    assert_requests_eq(expected, signed);
        8343  +
}
        8344  +
        8345  +
/// Test suite context.json
        8346  +
pub(crate) struct TestContext {
 6190   8347   
    pub(crate) identity: Identity,
 6191   8348   
    pub(crate) expiration_in_seconds: u64,
 6192   8349   
    pub(crate) normalize: bool,
 6193   8350   
    pub(crate) region: String,
 6194   8351   
    pub(crate) service: String,
 6195   8352   
    pub(crate) timestamp: String,
 6196   8353   
    pub(crate) omit_session_token: bool,
 6197   8354   
    pub(crate) sign_body: bool,
 6198         -
    }
 6199         -
 6200         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6201         -
        fn from(tc: &'a TestContext) -> Self {
 6202         -
            crate::sign::v4a::SigningParams {
 6203         -
                identity: &tc.identity,
 6204         -
                region_set: &tc.region,
 6205         -
                name: &tc.service,
 6206         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6207         -
                    .unwrap()
 6208         -
                    .into(),
 6209         -
                settings: SigningSettings {
 6210         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6211         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6212         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6213         -
                    session_token_mode: if tc.omit_session_token {
 6214         -
                        SessionTokenMode::Exclude
 6215         -
                    } else {
 6216         -
                        SessionTokenMode::Include
 6217         -
                    },
 6218         -
                    payload_checksum_kind: if tc.sign_body {
 6219         -
                        PayloadChecksumKind::XAmzSha256
 6220         -
                    } else {
 6221         -
                        PayloadChecksumKind::NoHeader
 6222         -
                    },
 6223         -
                    ..Default::default()
 6224         -
                },
 6225         -
            }
 6226         -
        }
 6227         -
    }
        8355  +
}
 6228   8356   
 6229         -
    // Serde has limitations requiring this odd workaround.
 6230         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6231         -
    fn return_true() -> bool {
        8357  +
// Serde has limitations requiring this odd workaround.
        8358  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8359  +
fn return_true() -> bool {
 6232   8360   
    true
 6233         -
    }
        8361  +
}
 6234   8362   
 6235         -
    #[derive(Deserialize)]
 6236         -
    pub(crate) struct TestContextBuilder {
        8363  +
#[derive(serde_derive::Deserialize)]
        8364  +
pub(crate) struct TestContextBuilder {
 6237   8365   
    credentials: TestContextCreds,
 6238   8366   
    expiration_in_seconds: u64,
 6239   8367   
    normalize: bool,
 6240   8368   
    region: String,
 6241   8369   
    service: String,
 6242   8370   
    timestamp: String,
 6243   8371   
    #[serde(default)]
 6244   8372   
    omit_session_token: bool,
 6245   8373   
    #[serde(default = "return_true")]
 6246   8374   
    sign_body: bool,
 6247         -
    }
        8375  +
}
 6248   8376   
 6249         -
    impl TestContextBuilder {
        8377  +
impl TestContextBuilder {
 6250   8378   
    pub(crate) fn build(self) -> TestContext {
 6251   8379   
        let identity = Identity::new(
 6252   8380   
            Credentials::from_keys(
 6253   8381   
                &self.credentials.access_key_id,
 6254   8382   
                &self.credentials.secret_access_key,
 6255   8383   
                self.credentials.token.clone(),
 6256   8384   
            ),
 6257   8385   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6258   8386   
        );
 6259   8387   
 6260   8388   
        TestContext {
 6261   8389   
            identity,
 6262   8390   
            expiration_in_seconds: self.expiration_in_seconds,
 6263   8391   
            normalize: self.normalize,
 6264   8392   
            region: self.region,
 6265   8393   
            service: self.service,
 6266   8394   
            timestamp: self.timestamp,
 6267   8395   
            omit_session_token: self.omit_session_token,
 6268   8396   
            sign_body: self.sign_body,
 6269   8397   
        }
 6270   8398   
    }
 6271         -
    }
        8399  +
}
 6272   8400   
 6273         -
    #[derive(Deserialize)]
 6274         -
    pub(crate) struct TestContextCreds {
        8401  +
#[derive(serde_derive::Deserialize)]
        8402  +
pub(crate) struct TestContextCreds {
 6275   8403   
    access_key_id: String,
 6276   8404   
    secret_access_key: String,
 6277   8405   
    token: Option<String>,
        8406  +
}
        8407  +
        8408  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8409  +
    fn from(tc: &'a TestContext) -> Self {
        8410  +
        crate::sign::v4::SigningParams {
        8411  +
            identity: &tc.identity,
        8412  +
            region: &tc.region,
        8413  +
            name: &tc.service,
        8414  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8415  +
                .unwrap()
        8416  +
                .into(),
        8417  +
            settings: SigningSettings {
        8418  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8419  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8420  +
                uri_path_normalization_mode: tc.normalize.into(),
        8421  +
                session_token_mode: if tc.omit_session_token {
        8422  +
                    SessionTokenMode::Exclude
        8423  +
                } else {
        8424  +
                    SessionTokenMode::Include
        8425  +
                },
        8426  +
                payload_checksum_kind: if tc.sign_body {
        8427  +
                    PayloadChecksumKind::XAmzSha256
        8428  +
                } else {
        8429  +
                    PayloadChecksumKind::NoHeader
        8430  +
                },
        8431  +
                ..Default::default()
        8432  +
            },
        8433  +
        }
        8434  +
    }
        8435  +
}
        8436  +
        8437  +
#[cfg(feature = "sigv4a")]
        8438  +
pub(crate) mod v4a {
        8439  +
    use super::*;
        8440  +
    use crate::http_request::{
        8441  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8442  +
    };
        8443  +
    use crate::sign::v4a;
        8444  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8445  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8446  +
    use std::time::Duration;
        8447  +
    use time::format_description::well_known::Rfc3339;
        8448  +
    use time::OffsetDateTime;
        8449  +
        8450  +
    fn new_v4a_signing_params_from_context(
        8451  +
        test_context: &'_ TestContext,
        8452  +
        signature_location: SignatureLocation,
        8453  +
    ) -> crate::http_request::SigningParams<'_> {
        8454  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8455  +
        params.settings.signature_location = signature_location;
        8456  +
        params.into()
        8457  +
    }
        8458  +
        8459  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8460  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8461  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8462  +
    }
        8463  +
        8464  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8465  +
        let test = SigningSuiteTest::v4a(test_name);
        8466  +
        let tc = test.context();
        8467  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8468  +
        8469  +
        let req = test.request();
        8470  +
        let expected_creq = test.canonical_request(signature_location);
        8471  +
        let signable_req = SignableRequest::from(&req);
        8472  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8473  +
        8474  +
        assert_eq!(
        8475  +
            expected_creq,
        8476  +
            actual_creq.to_string(),
        8477  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8478  +
        );
        8479  +
        8480  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8481  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8482  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8483  +
            *params.time(),
        8484  +
            params.region_set().unwrap(),
        8485  +
            params.name(),
        8486  +
            hashed_creq,
        8487  +
        )
        8488  +
        .to_string();
        8489  +
        8490  +
        assert_eq!(
        8491  +
            expected_string_to_sign, actual_string_to_sign,
        8492  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8493  +
        );
        8494  +
        8495  +
        let out = sign(signable_req, &params).unwrap();
        8496  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8497  +
        out.output
        8498  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8499  +
        8500  +
        let creds = params.credentials().unwrap();
        8501  +
        let signing_key =
        8502  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8503  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8504  +
        let sig = sig
        8505  +
            .try_into()
        8506  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8507  +
        8508  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8509  +
        let peer_public_key = signing_key.verifying_key();
        8510  +
        let sts = actual_string_to_sign.as_bytes();
        8511  +
        peer_public_key.verify(sts, &sig).unwrap();
        8512  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8513  +
    }
        8514  +
        8515  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8516  +
        fn from(tc: &'a TestContext) -> Self {
        8517  +
            crate::sign::v4a::SigningParams {
        8518  +
                identity: &tc.identity,
        8519  +
                region_set: &tc.region,
        8520  +
                name: &tc.service,
        8521  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8522  +
                    .unwrap()
        8523  +
                    .into(),
        8524  +
                settings: SigningSettings {
        8525  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8526  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8527  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8528  +
                    session_token_mode: if tc.omit_session_token {
        8529  +
                        SessionTokenMode::Exclude
        8530  +
                    } else {
        8531  +
                        SessionTokenMode::Include
        8532  +
                    },
        8533  +
                    payload_checksum_kind: if tc.sign_body {
        8534  +
                        PayloadChecksumKind::XAmzSha256
        8535  +
                    } else {
        8536  +
                        PayloadChecksumKind::NoHeader
        8537  +
                    },
        8538  +
                    ..Default::default()
        8539  +
                },
        8540  +
            }
        8541  +
        }
 6278   8542   
    }
 6279   8543   
 6280   8544   
    #[test]
 6281   8545   
    fn test_parse() {
 6282         -
        let req = test_request("post-header-key-case");
        8546  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6283   8547   
        assert_eq!(req.method, "POST");
 6284   8548   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6285   8549   
        assert!(req.headers.is_empty());
 6286   8550   
    }
 6287   8551   
 6288   8552   
    #[test]
 6289   8553   
    fn test_read_query_params() {
 6290         -
        let req = test_request("get-header-value-trim");
        8554  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6291   8555   
        assert_eq!(req.method, "GET");
 6292   8556   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6293   8557   
        assert!(!req.headers.is_empty());
 6294   8558   
    }
 6295   8559   
}
 6296   8560   
 6297   8561   
fn read(path: &str) -> String {
 6298   8562   
    println!("Loading `{}` for test case...", path);
 6299   8563   
    let v = {
 6300   8564   
        match std::fs::read_to_string(path) {
 6301   8565   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6302   8566   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6303   8567   
            Ok(value) => value.replace("\r\n", "\n"),
 6304   8568   
            Err(err) => {
 6305   8569   
                panic!("failed to load test case `{}`: {}", path, err);
 6306   8570   
            }
 6307   8571   
        }
 6308   8572   
    };
 6309   8573   
 6310   8574   
    v.trim().to_string()
 6311   8575   
}
 6312   8576   
 6313   8577   
pub(crate) struct TestRequest {
 6314   8578   
    pub(crate) uri: String,
 6315   8579   
    pub(crate) method: String,
 6316   8580   
    pub(crate) headers: Vec<(String, String)>,
 6317   8581   
    pub(crate) body: TestSignedBody,
 6318   8582   
}
 6319   8583   
 6320   8584   
pub(crate) enum TestSignedBody {
 6321   8585   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6322   8586   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6323   8587   
                    )
 6324   8588   
                })
 6325   8589   
                .collect::<Vec<_>>(),
 6326   8590   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6327   8591   
        }
 6328   8592   
    }
 6329   8593   
}
 6330   8594   
 6331   8595   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6332   8596   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6333   8597   
        SignableRequest::new(
 6334   8598   
            &request.method,
 6335   8599   
            &request.uri,
 6336   8600   
            request
 6337   8601   
                .headers
 6338   8602   
                .iter()
 6339   8603   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6340   8604   
            request.body.as_signable_body(),
 6341   8605   
        )
 6342   8606   
        .expect("URI MUST be valid")
 6343   8607   
    }
 6344   8608   
}
 6345   8609   
 6346   8610   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6347   8611   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6348   8612   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6349   8613   
    let mut with_newline = Vec::from(s);
 6350   8614   
    with_newline.push(b'\n');
 6351   8615   
    let mut req = httparse::Request::new(&mut headers);
 6352         -
    let _ = req.parse(&with_newline).unwrap();
        8616  +
    let status = req.parse(&with_newline).unwrap();
        8617  +
        8618  +
    let body = if status.is_complete() {
        8619  +
        let body_offset = status.unwrap();
        8620  +
        // ignore the newline we added, take from original
        8621  +
        &s[body_offset..]
        8622  +
    } else {
        8623  +
        &[]
        8624  +
    };
 6353   8625   
 6354   8626   
    let mut uri_builder = Uri::builder().scheme("https");
 6355   8627   
    if let Some(path) = req.path {
 6356   8628   
        uri_builder = uri_builder.path_and_query(path);
 6357   8629   
    }
 6358   8630   
 6359   8631   
    let mut headers = vec![];
 6360   8632   
    for header in req.headers {
 6361   8633   
        let name = header.name.to_lowercase();
 6362   8634   
        if name == "host" {
 6363   8635   
            uri_builder = uri_builder.authority(header.value);
 6364   8636   
        } else if !name.is_empty() {
 6365   8637   
            headers.push((
 6366   8638   
                header.name.to_string(),
 6367   8639   
                std::str::from_utf8(header.value)?.to_string(),
 6368   8640   
            ));
 6369   8641   
        }
 6370   8642   
    }
 6371   8643   
 6372   8644   
    Ok(TestRequest {
 6373   8645   
        uri: uri_builder.build()?.to_string(),
 6374   8646   
        method: req.method.unwrap().to_string(),
 6375   8647   
        headers,
 6376         -
        body: TestSignedBody::Bytes(vec![]),
        8648  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6377   8649   
    })
 6378   8650   
}
 6379   8651   
 6380   8652   
#[test]
 6381   8653   
fn test_parse_headers() {
 6382   8654   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6383   8655   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6384   8656   
    assert_eq!(
 6385   8657   
        httparse::parse_headers(buf, &mut headers),
 6386   8658   
        Ok(httparse::Status::Complete((
 6387   8659   
            56,
 6388   8660   
            &[
 6389   8661   
                httparse::Header {
 6390   8662   
                    name: "Host",
 6391   8663   
                    value: b"example.amazonaws.com",
 6392   8664   
                },
 6393   8665   
                httparse::Header {
 6394   8666   
                    name: "X-Amz-Date",
 6395   8667   
                    value: b"20150830T123600Z",
 6396   8668   
                }
 6397   8669   
            ][..]
 6398   8670   
        )))
 6399   8671   
    );
 6400   8672   
}
 6401   8673   
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
 6402   8674   
index a208453..fc00249 100644
 6403         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8675  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6404   8676   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6405   8677   
        );
 6406   8678   
 6407   8679   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6408   8680   
        /// a required argument was not given.
 6409   8681   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6410   8682   
            Ok(SigningParams {
 6411   8683   
                identity: self
 6412   8684   
                    .identity
 6413   8685   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6414   8686   
                region: self
 6415   8687   
                    .region
 6416   8688   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6417   8689   
                name: self
 6418   8690   
                    .name
 6419   8691   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6420   8692   
                time: self
 6421   8693   
                    .time
 6422   8694   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6423   8695   
                settings: self
 6424   8696   
                    .settings
 6425   8697   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6426   8698   
            })
 6427   8699   
        }
 6428   8700   
    }
 6429   8701   
}
 6430   8702   
 6431   8703   
#[cfg(test)]
 6432   8704   
mod tests {
 6433   8705   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6434   8706   
    use crate::date_time::test_parsers::parse_date_time;
 6435         -
    use crate::http_request::test;
 6436   8707   
 6437   8708   
    #[test]
 6438   8709   
    fn test_signature_calculation() {
 6439   8710   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6440         -
        let creq = test::v4::test_canonical_request("iam");
        8711  +
        let creq = r#"AWS4-HMAC-SHA256
        8712  +
20150830T123600Z
        8713  +
20150830/us-east-1/iam/aws4_request
        8714  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6441   8715   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6442   8716   
 6443   8717   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6444   8718   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6445   8719   
 6446   8720   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6447   8721   
        assert_eq!(expected, &signature);
 6448   8722   
    }
 6449   8723   
 6450   8724   
    #[test]
 6451   8725   
    fn sign_payload_empty_string() {
 6452   8726   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6453   8727   
        let actual = sha256_hex_string([]);
 6454   8728   
        assert_eq!(expected, actual);
 6455   8729   
    }
 6456   8730   
}
 6457   8731   
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
 6458   8732   
index ce78c38..8c2f591 100644
 6459         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6460   8734   
@@ -1,43 +1,43 @@
 6461   8735   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6462   8736   
[package]
 6463   8737   
name = "aws-smithy-checksums"
 6464   8738   
version = "0.63.5"
 6465   8739   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6466   8740   
description = "Checksum calculation and verification callbacks"
 6467   8741   
edition = "2021"
 6468   8742   
license = "Apache-2.0"
 6469   8743   
repository = "https://github.com/smithy-lang/smithy-rs"
 6470   8744   
[package.metadata.docs.rs]
 6471   8745   
all-features = true
 6472   8746   
targets = ["x86_64-unknown-linux-gnu"]
 6473   8747   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6474   8748   
rustdoc-args = ["--cfg", "docsrs"]
 6475   8749   
 6476   8750   
[dependencies]
 6477   8751   
bytes = "1.10.0"
 6478   8752   
crc-fast = "1.3.0"
 6479   8753   
hex = "0.4.3"
 6480   8754   
http = "0.2.9"
 6481   8755   
http-body = "0.4.5"
 6482   8756   
md-5 = "0.10"
 6483   8757   
pin-project-lite = "0.2.14"
 6484   8758   
sha1 = "0.10"
 6485   8759   
sha2 = "0.10"
 6486   8760   
tracing = "0.1.40"
 6487   8761   
 6488   8762   
[dependencies.aws-smithy-http]
 6489   8763   
path = "../aws-smithy-http"
 6490         -
version = "0.62.2"
        8764  +
version = "0.62.3"
 6491   8765   
 6492   8766   
[dependencies.aws-smithy-types]
 6493   8767   
path = "../aws-smithy-types"
 6494   8768   
version = "1.3.2"
 6495   8769   
 6496   8770   
[dev-dependencies]
 6497   8771   
bytes-utils = "0.1.2"
 6498   8772   
pretty_assertions = "1.3"
 6499   8773   
tracing-test = "0.2.1"
 6500   8774   
 6501   8775   
[dev-dependencies.tokio]
 6502   8776   
version = "1.23.1"
 6503   8777   
features = ["macros", "rt"]
 6504   8778   
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
 6505   8779   
index 970c99e..d3c7a49 100644
 6506         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8780  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6507   8781   
@@ -1,34 +1,34 @@
 6508   8782   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6509   8783   
[package]
 6510   8784   
name = "aws-smithy-http"
 6511         -
version = "0.62.2"
        8785  +
version = "0.62.3"
 6512   8786   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6513   8787   
description = "Smithy HTTP logic for smithy-rs."
 6514   8788   
edition = "2021"
 6515   8789   
license = "Apache-2.0"
 6516   8790   
repository = "https://github.com/smithy-lang/smithy-rs"
 6517   8791   
[package.metadata.docs.rs]
 6518   8792   
all-features = true
 6519   8793   
targets = ["x86_64-unknown-linux-gnu"]
 6520   8794   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6521   8795   
rustdoc-args = ["--cfg", "docsrs"]
 6522   8796   
 6523   8797   
[features]
 6524   8798   
event-stream = ["aws-smithy-eventstream"]
 6525   8799   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6526   8800   
 6527   8801   
[dependencies]
 6528   8802   
bytes = "1.10.0"
 6529   8803   
bytes-utils = "0.1"
 6530   8804   
percent-encoding = "2.3.1"
 6531   8805   
pin-project-lite = "0.2.14"
 6532   8806   
pin-utils = "0.1.0"
 6533   8807   
tracing = "0.1.40"
 6534   8808   
futures-core = "0.3.31"
 6535   8809   
 6536   8810   
[dependencies.aws-smithy-eventstream]
 6537   8811   
path = "../aws-smithy-eventstream"
 6538   8812   
optional = true
 6539   8813   
version = "0.60.10"
 6540   8814   
 6541   8815   
[dependencies.aws-smithy-runtime-api]
 6542   8816   
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
 6543   8817   
index 508f7a2..361545e 100644
 6544         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6545   8819   
@@ -1,27 +1,27 @@
 6546   8820   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6547   8821   
[[bin]]
 6548   8822   
name = "read_many_from_str"
 6549   8823   
path = "fuzz_targets/read_many_from_str.rs"
 6550   8824   
test = false
 6551   8825   
doc = false
 6552   8826   
 6553   8827   
[package]
 6554   8828   
name = "aws-smithy-http-fuzz"
 6555   8829   
version = "0.0.0"
 6556   8830   
authors = ["Automatically generated"]
 6557   8831   
publish = false
 6558   8832   
edition = "2021"
 6559   8833   
 6560   8834   
[package.metadata]
 6561   8835   
cargo-fuzz = true
 6562   8836   
 6563   8837   
[dependencies]
 6564   8838   
libfuzzer-sys = "=0.4.7"
 6565   8839   
http = "0.2.3"
 6566   8840   
 6567   8841   
[dependencies.aws-smithy-http]
 6568   8842   
path = ".."
 6569         -
version = "0.62.2"
        8843  +
version = "0.62.3"
 6570   8844   
 6571   8845   
[workspace]
 6572   8846   
members = ["."]
 6573   8847   
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
 6574   8848   
index fef41d0..7694da6 100644
 6575         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6576   8850   
@@ -25,68 +25,73 @@ impl QueryWriter {
 6577   8851   
    pub fn new(uri: &Uri) -> Self {
 6578   8852   
        let new_path_and_query = uri
 6579   8853   
            .path_and_query()
 6580   8854   
            .map(|pq| pq.to_string())
 6581   8855   
            .unwrap_or_default();
 6582   8856   
        let prefix = if uri.query().is_none() {
 6583   8857   
            Some('?')
 6584   8858   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6585   8859   
            Some('&')
 6586   8860   
        } else {
 6587   8861   
            None
 6588   8862   
        };
 6589   8863   
        QueryWriter {
 6590   8864   
            base_uri: uri.clone(),
 6591   8865   
            new_path_and_query,
 6592   8866   
            prefix,
 6593   8867   
        }
 6594   8868   
    }
 6595   8869   
 6596   8870   
    /// Clears all query parameters.
 6597   8871   
    pub fn clear_params(&mut self) {
 6598   8872   
        if let Some(index) = self.new_path_and_query.find('?') {
 6599   8873   
            self.new_path_and_query.truncate(index);
 6600   8874   
            self.prefix = Some('?');
 6601   8875   
        }
 6602   8876   
    }
 6603   8877   
 6604   8878   
    /// Inserts a new query parameter. The key and value are percent encoded
 6605   8879   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6606   8880   
    pub fn insert(&mut self, k: &str, v: &str) {
        8881  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8882  +
    }
        8883  +
        8884  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8885  +
    /// as is.
        8886  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6607   8887   
        if let Some(prefix) = self.prefix {
 6608   8888   
            self.new_path_and_query.push(prefix);
 6609   8889   
        }
 6610   8890   
        self.prefix = Some('&');
 6611         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8891  +
        self.new_path_and_query.push_str(encoded_k);
 6612   8892   
        self.new_path_and_query.push('=');
 6613         -
 6614         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
        8893  +
        self.new_path_and_query.push_str(encoded_v)
 6615   8894   
    }
 6616   8895   
 6617   8896   
    /// Returns just the built query string.
 6618   8897   
    pub fn build_query(self) -> String {
 6619   8898   
        self.build_uri().query().unwrap_or_default().to_string()
 6620   8899   
    }
 6621   8900   
 6622   8901   
    /// Returns a full [`Uri`] with the query string updated.
 6623   8902   
    pub fn build_uri(self) -> Uri {
 6624   8903   
        let mut parts = self.base_uri.into_parts();
 6625   8904   
        parts.path_and_query = Some(
 6626   8905   
            self.new_path_and_query
 6627   8906   
                .parse()
 6628   8907   
                .expect("adding query should not invalidate URI"),
 6629   8908   
        );
 6630   8909   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6631   8910   
    }
 6632   8911   
}
 6633   8912   
 6634   8913   
#[cfg(test)]
 6635   8914   
mod test {
 6636   8915   
    use super::QueryWriter;
 6637   8916   
    use http_02x::Uri;
 6638   8917   
 6639   8918   
    #[test]
 6640   8919   
    fn empty_uri() {
 6641   8920   
        let uri = Uri::from_static("http://www.example.com");
 6642   8921   
        let mut query_writer = QueryWriter::new(&uri);
 6643   8922   
        query_writer.insert("key", "val%ue");
 6644   8923   
        query_writer.insert("another", "value");
 6645   8924   
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
 6646   8925   
index f108978..df7a9fe 100644
 6647         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6648   8927   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6649   8928   
 6650   8929   
[package.metadata.smithy-rs-release-tooling]
 6651   8930   
stable = true
 6652   8931   
[package.metadata.cargo-udeps.ignore]
 6653   8932   
normal = ["aws-smithy-http"]
 6654   8933   
 6655   8934   
[features]
 6656   8935   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6657   8936   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6658   8937   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6659   8938   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6660   8939   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6661   8940   
rt-tokio = ["tokio/rt"]
 6662   8941   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6663   8942   
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"]
 6664   8943   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6665   8944   
 6666   8945   
[dependencies]
 6667   8946   
bytes = "1.10.0"
 6668   8947   
fastrand = "2.3.0"
 6669   8948   
pin-project-lite = "0.2.14"
 6670   8949   
pin-utils = "0.1.0"
 6671   8950   
tracing = "0.1.40"
 6672   8951   
 6673   8952   
[dependencies.aws-smithy-async]
 6674   8953   
path = "../aws-smithy-async"
 6675   8954   
version = "1.2.5"
 6676   8955   
 6677   8956   
[dependencies.aws-smithy-http]
 6678   8957   
path = "../aws-smithy-http"
 6679         -
version = "0.62.2"
        8958  +
version = "0.62.3"
 6680   8959   
 6681   8960   
[dependencies.aws-smithy-observability]
 6682   8961   
path = "../aws-smithy-observability"
 6683   8962   
version = "0.1.3"
 6684   8963   
 6685   8964   
[dependencies.aws-smithy-runtime-api]
 6686   8965   
path = "../aws-smithy-runtime-api"
 6687   8966   
version = "1.8.5"
 6688   8967   
 6689   8968   
[dependencies.aws-smithy-types]
 6690   8969   
path = "../aws-smithy-types"
 6691   8970   
features = ["http-body-0-4-x"]
 6692   8971   
version = "1.3.2"
 6693   8972   
 6694   8973   
[dependencies.aws-smithy-http-client]
 6695   8974   
path = "../aws-smithy-http-client"
 6696   8975   
optional = true
 6697   8976   
version = "1.0.6"
 6698   8977   
 6699   8978   
[dependencies.http-02x]
 6700   8979   
package = "http"
 6701   8980   
version = "0.2.9"
 6702   8981   
 6703   8982   
[dependencies.http-1x]
 6704   8983   
package = "http"
 6705   8984   
version = "1"
 6706   8985   
 6707   8986   
[dependencies.http-body-04x]
 6708   8987   
package = "http-body"
 6709   8988   
version = "0.4.5"
 6710   8989   
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
 6711   8990   
index 4e050c6..f58eb1c 100644
 6712         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        8991  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6713   8992   
@@ -1,33 +1,33 @@
 6714   8993   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6715   8994   
[package]
 6716   8995   
name = "aws-smithy-wasm"
 6717   8996   
version = "0.1.4"
 6718   8997   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6719   8998   
description = "Smithy WebAssembly configuration for smithy-rs."
 6720   8999   
edition = "2021"
 6721   9000   
license = "Apache-2.0"
 6722   9001   
repository = "https://github.com/awslabs/smithy-rs"
 6723   9002   
[package.metadata.docs.rs]
 6724   9003   
all-features = true
 6725   9004   
targets = ["x86_64-unknown-linux-gnu"]
 6726   9005   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6727   9006   
rustdoc-args = ["--cfg", "docsrs"]
 6728   9007   
 6729   9008   
[dependencies]
 6730   9009   
bytes = "1.10.0"
 6731   9010   
http = "1.0.0"
 6732   9011   
tracing = "0.1.40"
 6733   9012   
wasi = "0.12.1"
 6734   9013   
 6735   9014   
[dependencies.aws-smithy-runtime-api]
 6736   9015   
path = "../aws-smithy-runtime-api"
 6737   9016   
features = ["http-1x"]
 6738   9017   
version = "1.8.5"
 6739   9018   
 6740   9019   
[dependencies.aws-smithy-http]
 6741   9020   
path = "../aws-smithy-http"
 6742         -
version = "0.62.2"
        9021  +
version = "0.62.3"
 6743   9022   
 6744   9023   
[dependencies.aws-smithy-types]
 6745   9024   
path = "../aws-smithy-types"
 6746   9025   
version = "1.3.2"
 6747   9026   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6748   9027   
index a880648..139e808 100644
 6749         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        9028  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6750   9029   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6751   9030   
edition = "2021"
 6752   9031   
license = "Apache-2.0"
 6753   9032   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6754   9033   
rust-version = "1.86.0"
 6755   9034   
readme = "README.md"
 6756   9035   
[package.metadata.smithy]
 6757   9036   
codegen-version = "ci"
 6758   9037   
[package.metadata.docs.rs]
 6759   9038   
all-features = true
 6760   9039   
targets = ["x86_64-unknown-linux-gnu"]
 6761   9040   
[dependencies.aws-credential-types]
 6762   9041   
path = "../aws-credential-types"
 6763   9042   
version = "1.2.4"
 6764   9043   
 6765   9044   
[dependencies.aws-runtime]
 6766   9045   
path = "../aws-runtime"
 6767   9046   
features = ["event-stream"]
 6768   9047   
version = "1.5.9"
 6769   9048   
 6770   9049   
[dependencies.aws-smithy-async]
 6771   9050   
path = "../aws-smithy-async"
 6772   9051   
version = "1.2.5"
 6773   9052   
 6774   9053   
[dependencies.aws-smithy-eventstream]
 6775   9054   
path = "../aws-smithy-eventstream"
 6776   9055   
version = "0.60.10"
 6777   9056   
 6778   9057   
[dependencies.aws-smithy-http]
 6779   9058   
path = "../aws-smithy-http"
 6780   9059   
features = ["event-stream"]
 6781         -
version = "0.62.2"
        9060  +
version = "0.62.3"
 6782   9061   
 6783   9062   
[dependencies.aws-smithy-json]
 6784   9063   
path = "../aws-smithy-json"
 6785   9064   
version = "0.61.4"
 6786   9065   
 6787   9066   
[dependencies.aws-smithy-runtime]
 6788   9067   
path = "../aws-smithy-runtime"
 6789   9068   
features = ["client"]
 6790   9069   
version = "1.8.5"
 6791   9070   
 6792   9071   
[dependencies.aws-smithy-runtime-api]
 6793   9072   
path = "../aws-smithy-runtime-api"
 6794   9073   
features = ["client", "http-02x"]
 6795   9074   
version = "1.8.5"
 6796   9075   
 6797   9076   
[dependencies.aws-smithy-types]
 6798   9077   
path = "../aws-smithy-types"
 6799   9078   
version = "1.3.2"
 6800   9079   
 6801   9080   
[dependencies.aws-types]
 6802   9081   
path = "../aws-types"
 6803   9082   
version = "1.3.8"
 6804   9083   
 6805   9084   
[dependencies.bytes]
 6806   9085   
version = "1.4.0"
 6807   9086   
 6808   9087   
[dependencies.fastrand]
 6809   9088   
version = "2.0.0"
 6810   9089   
 6811   9090   
[dependencies.http]
 6812   9091   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6813   9092   
index 415ecc9..667d12b 100644
 6814         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9093  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6815   9094   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6816   9095   
edition = "2021"
 6817   9096   
license = "Apache-2.0"
 6818   9097   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6819   9098   
rust-version = "1.86.0"
 6820   9099   
readme = "README.md"
 6821   9100   
[package.metadata.smithy]
 6822   9101   
codegen-version = "ci"
 6823   9102   
[package.metadata.docs.rs]
 6824   9103   
all-features = true
 6825   9104   
targets = ["x86_64-unknown-linux-gnu"]
 6826   9105   
[dependencies.aws-credential-types]
 6827   9106   
path = "../aws-credential-types"
 6828   9107   
version = "1.2.4"
 6829   9108   
 6830   9109   
[dependencies.aws-runtime]
 6831   9110   
path = "../aws-runtime"
 6832   9111   
features = ["event-stream"]
 6833   9112   
version = "1.5.9"
 6834   9113   
 6835   9114   
[dependencies.aws-smithy-async]
 6836   9115   
path = "../aws-smithy-async"
 6837   9116   
version = "1.2.5"
 6838   9117   
 6839   9118   
[dependencies.aws-smithy-eventstream]
 6840   9119   
path = "../aws-smithy-eventstream"
 6841   9120   
version = "0.60.10"
 6842   9121   
 6843   9122   
[dependencies.aws-smithy-http]
 6844   9123   
path = "../aws-smithy-http"
 6845   9124   
features = ["event-stream"]
 6846         -
version = "0.62.2"
        9125  +
version = "0.62.3"
 6847   9126   
 6848   9127   
[dependencies.aws-smithy-json]
 6849   9128   
path = "../aws-smithy-json"
 6850   9129   
version = "0.61.4"
 6851   9130   
 6852   9131   
[dependencies.aws-smithy-runtime]
 6853   9132   
path = "../aws-smithy-runtime"
 6854   9133   
features = ["client"]
 6855   9134   
version = "1.8.5"
 6856   9135   
 6857   9136   
[dependencies.aws-smithy-runtime-api]
 6858   9137   
path = "../aws-smithy-runtime-api"
 6859   9138   
features = ["client", "http-02x"]
 6860   9139   
version = "1.8.5"
 6861   9140   
 6862   9141   
[dependencies.aws-smithy-types]
 6863   9142   
path = "../aws-smithy-types"
 6864   9143   
version = "1.3.2"
 6865   9144   
 6866   9145   
[dependencies.aws-types]
 6867   9146   
path = "../aws-types"
 6868   9147   
version = "1.3.8"
 6869   9148   
 6870   9149   
[dependencies.bytes]
 6871   9150   
version = "1.4.0"
 6872   9151   
 6873   9152   
[dependencies.fastrand]
 6874   9153   
version = "2.0.0"
 6875   9154   
 6876   9155   
[dependencies.http]
 6877   9156   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6878   9157   
index 8871cab..ed88de6 100644
 6879         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6880   9159   
@@ -1,61 +1,61 @@
 6881   9160   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6882   9161   
[package]
 6883   9162   
name = "aws-sdk-codecatalyst"
 6884   9163   
version = "0.0.0-local"
 6885   9164   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6886   9165   
description = "AWS SDK for Amazon CodeCatalyst"
 6887   9166   
edition = "2021"
 6888   9167   
license = "Apache-2.0"
 6889   9168   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6890   9169   
rust-version = "1.86.0"
 6891   9170   
readme = "README.md"
 6892   9171   
[package.metadata.smithy]
 6893   9172   
codegen-version = "ci"
 6894   9173   
[package.metadata.docs.rs]
 6895   9174   
all-features = true
 6896   9175   
targets = ["x86_64-unknown-linux-gnu"]
 6897   9176   
[dependencies.aws-credential-types]
 6898   9177   
path = "../aws-credential-types"
 6899   9178   
version = "1.2.4"
 6900   9179   
 6901   9180   
[dependencies.aws-runtime]
 6902   9181   
path = "../aws-runtime"
 6903   9182   
version = "1.5.9"
 6904   9183   
 6905   9184   
[dependencies.aws-smithy-async]
 6906   9185   
path = "../aws-smithy-async"
 6907   9186   
version = "1.2.5"
 6908   9187   
 6909   9188   
[dependencies.aws-smithy-http]
 6910   9189   
path = "../aws-smithy-http"
 6911         -
version = "0.62.2"
        9190  +
version = "0.62.3"
 6912   9191   
 6913   9192   
[dependencies.aws-smithy-json]
 6914   9193   
path = "../aws-smithy-json"
 6915   9194   
version = "0.61.4"
 6916   9195   
 6917   9196   
[dependencies.aws-smithy-runtime]
 6918   9197   
path = "../aws-smithy-runtime"
 6919   9198   
features = ["client", "http-auth"]
 6920   9199   
version = "1.8.5"
 6921   9200   
 6922   9201   
[dependencies.aws-smithy-runtime-api]
 6923   9202   
path = "../aws-smithy-runtime-api"
 6924   9203   
features = ["client", "http-02x", "http-auth"]
 6925   9204   
version = "1.8.5"
 6926   9205   
 6927   9206   
[dependencies.aws-smithy-types]
 6928   9207   
path = "../aws-smithy-types"
 6929   9208   
version = "1.3.2"
 6930   9209   
 6931   9210   
[dependencies.aws-types]
 6932   9211   
path = "../aws-types"
 6933   9212   
version = "1.3.8"
 6934   9213   
 6935   9214   
[dependencies.bytes]
 6936   9215   
version = "1.4.0"
 6937   9216   
 6938   9217   
[dependencies.fastrand]
 6939   9218   
version = "2.0.0"
 6940   9219   
 6941   9220   
[dependencies.http]
 6942   9221   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6943   9222   
index 89573ff..05238af 100644
 6944         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6945   9224   
@@ -1,61 +1,61 @@
 6946   9225   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6947   9226   
[package]
 6948   9227   
name = "aws-sdk-config"
 6949   9228   
version = "0.0.0-local"
 6950   9229   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6951   9230   
description = "AWS SDK for AWS Config"
 6952   9231   
edition = "2021"
 6953   9232   
license = "Apache-2.0"
 6954   9233   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6955   9234   
rust-version = "1.86.0"
 6956   9235   
readme = "README.md"
 6957   9236   
[package.metadata.smithy]
 6958   9237   
codegen-version = "ci"
 6959   9238   
[package.metadata.docs.rs]
 6960   9239   
all-features = true
 6961   9240   
targets = ["x86_64-unknown-linux-gnu"]
 6962   9241   
[dependencies.aws-credential-types]
 6963   9242   
path = "../aws-credential-types"
 6964   9243   
version = "1.2.4"
 6965   9244   
 6966   9245   
[dependencies.aws-runtime]
 6967   9246   
path = "../aws-runtime"
 6968   9247   
version = "1.5.9"
 6969   9248   
 6970   9249   
[dependencies.aws-smithy-async]
 6971   9250   
path = "../aws-smithy-async"
 6972   9251   
version = "1.2.5"
 6973   9252   
 6974   9253   
[dependencies.aws-smithy-http]
 6975   9254   
path = "../aws-smithy-http"
 6976         -
version = "0.62.2"
        9255  +
version = "0.62.3"
 6977   9256   
 6978   9257   
[dependencies.aws-smithy-json]
 6979   9258   
path = "../aws-smithy-json"
 6980   9259   
version = "0.61.4"
 6981   9260   
 6982   9261   
[dependencies.aws-smithy-runtime]
 6983   9262   
path = "../aws-smithy-runtime"
 6984   9263   
features = ["client"]
 6985   9264   
version = "1.8.5"
 6986   9265   
 6987   9266   
[dependencies.aws-smithy-runtime-api]
 6988   9267   
path = "../aws-smithy-runtime-api"
 6989   9268   
features = ["client", "http-02x"]
 6990   9269   
version = "1.8.5"
 6991   9270   
 6992   9271   
[dependencies.aws-smithy-types]
 6993   9272   
path = "../aws-smithy-types"
 6994   9273   
version = "1.3.2"
 6995   9274   
 6996   9275   
[dependencies.aws-types]
 6997   9276   
path = "../aws-types"
 6998   9277   
version = "1.3.8"
 6999   9278   
 7000   9279   
[dependencies.bytes]
 7001   9280   
version = "1.4.0"
 7002   9281   
 7003   9282   
[dependencies.fastrand]
 7004   9283   
version = "2.0.0"
 7005   9284   
 7006   9285   
[dependencies.http]
 7007   9286   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7008   9287   
index d397c58..2c1062b 100644
 7009         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7010   9289   
@@ -1,61 +1,61 @@
 7011   9290   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7012   9291   
[package]
 7013   9292   
name = "aws-sdk-dynamodb"
 7014   9293   
version = "0.0.0-local"
 7015   9294   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7016   9295   
description = "AWS SDK for Amazon DynamoDB"
 7017   9296   
edition = "2021"
 7018   9297   
license = "Apache-2.0"
 7019   9298   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7020   9299   
rust-version = "1.86.0"
 7021   9300   
readme = "README.md"
 7022   9301   
[package.metadata.smithy]
 7023   9302   
codegen-version = "ci"
 7024   9303   
[package.metadata.docs.rs]
 7025   9304   
all-features = true
 7026   9305   
targets = ["x86_64-unknown-linux-gnu"]
 7027   9306   
[dependencies.aws-credential-types]
 7028   9307   
path = "../aws-credential-types"
 7029   9308   
version = "1.2.4"
 7030   9309   
 7031   9310   
[dependencies.aws-runtime]
 7032   9311   
path = "../aws-runtime"
 7033   9312   
version = "1.5.9"
 7034   9313   
 7035   9314   
[dependencies.aws-smithy-async]
 7036   9315   
path = "../aws-smithy-async"
 7037   9316   
version = "1.2.5"
 7038   9317   
 7039   9318   
[dependencies.aws-smithy-http]
 7040   9319   
path = "../aws-smithy-http"
 7041         -
version = "0.62.2"
        9320  +
version = "0.62.3"
 7042   9321   
 7043   9322   
[dependencies.aws-smithy-json]
 7044   9323   
path = "../aws-smithy-json"
 7045   9324   
version = "0.61.4"
 7046   9325   
 7047   9326   
[dependencies.aws-smithy-runtime]
 7048   9327   
path = "../aws-smithy-runtime"
 7049   9328   
features = ["client"]
 7050   9329   
version = "1.8.5"
 7051   9330   
 7052   9331   
[dependencies.aws-smithy-runtime-api]
 7053   9332   
path = "../aws-smithy-runtime-api"
 7054   9333   
features = ["client", "http-02x"]
 7055   9334   
version = "1.8.5"
 7056   9335   
 7057   9336   
[dependencies.aws-smithy-types]
 7058   9337   
path = "../aws-smithy-types"
 7059   9338   
version = "1.3.2"
 7060   9339   
 7061   9340   
[dependencies.aws-types]
 7062   9341   
path = "../aws-types"
 7063   9342   
version = "1.3.8"
 7064   9343   
 7065   9344   
[dependencies.bytes]
 7066   9345   
version = "1.4.0"
 7067   9346   
 7068   9347   
[dependencies.fastrand]
 7069   9348   
version = "2.0.0"
 7070   9349   
 7071   9350   
[dependencies.http]
 7072   9351   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7073   9352   
index c0ba315..46168af 100644
 7074         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7075   9354   
@@ -1,61 +1,61 @@
 7076   9355   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7077   9356   
[package]
 7078   9357   
name = "aws-sdk-ec2"
 7079   9358   
version = "0.0.0-local"
 7080   9359   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7081   9360   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 7082   9361   
edition = "2021"
 7083   9362   
license = "Apache-2.0"
 7084   9363   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7085   9364   
rust-version = "1.86.0"
 7086   9365   
readme = "README.md"
 7087   9366   
[package.metadata.smithy]
 7088   9367   
codegen-version = "ci"
 7089   9368   
[package.metadata.docs.rs]
 7090   9369   
all-features = true
 7091   9370   
targets = ["x86_64-unknown-linux-gnu"]
 7092   9371   
[dependencies.aws-credential-types]
 7093   9372   
path = "../aws-credential-types"
 7094   9373   
version = "1.2.4"
 7095   9374   
 7096   9375   
[dependencies.aws-runtime]
 7097   9376   
path = "../aws-runtime"
 7098   9377   
version = "1.5.9"
 7099   9378   
 7100   9379   
[dependencies.aws-smithy-async]
 7101   9380   
path = "../aws-smithy-async"
 7102   9381   
version = "1.2.5"
 7103   9382   
 7104   9383   
[dependencies.aws-smithy-http]
 7105   9384   
path = "../aws-smithy-http"
 7106         -
version = "0.62.2"
        9385  +
version = "0.62.3"
 7107   9386   
 7108   9387   
[dependencies.aws-smithy-json]
 7109   9388   
path = "../aws-smithy-json"
 7110   9389   
version = "0.61.4"
 7111   9390   
 7112   9391   
[dependencies.aws-smithy-query]
 7113   9392   
path = "../aws-smithy-query"
 7114   9393   
version = "0.60.7"
 7115   9394   
 7116   9395   
[dependencies.aws-smithy-runtime]
 7117   9396   
path = "../aws-smithy-runtime"
 7118   9397   
features = ["client"]
 7119   9398   
version = "1.8.5"
 7120   9399   
 7121   9400   
[dependencies.aws-smithy-runtime-api]
 7122   9401   
path = "../aws-smithy-runtime-api"
 7123   9402   
features = ["client", "http-02x"]
 7124   9403   
version = "1.8.5"
 7125   9404   
 7126   9405   
[dependencies.aws-smithy-types]
 7127   9406   
path = "../aws-smithy-types"
 7128   9407   
version = "1.3.2"
 7129   9408   
 7130   9409   
[dependencies.aws-smithy-xml]
 7131   9410   
path = "../aws-smithy-xml"
 7132   9411   
version = "0.60.10"
 7133   9412   
 7134   9413   
[dependencies.aws-types]
 7135   9414   
path = "../aws-types"
 7136   9415   
version = "1.3.8"
 7137   9416   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7138   9417   
index 4474d17..095d40e 100644
 7139         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9418  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7140   9419   
@@ -1,61 +1,61 @@
 7141   9420   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7142   9421   
[package]
 7143   9422   
name = "aws-sdk-ecs"
 7144   9423   
version = "0.0.0-local"
 7145   9424   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7146   9425   
description = "AWS SDK for Amazon EC2 Container Service"
 7147   9426   
edition = "2021"
 7148   9427   
license = "Apache-2.0"
 7149   9428   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7150   9429   
rust-version = "1.86.0"
 7151   9430   
readme = "README.md"
 7152   9431   
[package.metadata.smithy]
 7153   9432   
codegen-version = "ci"
 7154   9433   
[package.metadata.docs.rs]
 7155   9434   
all-features = true
 7156   9435   
targets = ["x86_64-unknown-linux-gnu"]
 7157   9436   
[dependencies.aws-credential-types]
 7158   9437   
path = "../aws-credential-types"
 7159   9438   
version = "1.2.4"
 7160   9439   
 7161   9440   
[dependencies.aws-runtime]
 7162   9441   
path = "../aws-runtime"
 7163   9442   
version = "1.5.9"
 7164   9443   
 7165   9444   
[dependencies.aws-smithy-async]
 7166   9445   
path = "../aws-smithy-async"
 7167   9446   
version = "1.2.5"
 7168   9447   
 7169   9448   
[dependencies.aws-smithy-http]
 7170   9449   
path = "../aws-smithy-http"
 7171         -
version = "0.62.2"
        9450  +
version = "0.62.3"
 7172   9451   
 7173   9452   
[dependencies.aws-smithy-json]
 7174   9453   
path = "../aws-smithy-json"
 7175   9454   
version = "0.61.4"
 7176   9455   
 7177   9456   
[dependencies.aws-smithy-runtime]
 7178   9457   
path = "../aws-smithy-runtime"
 7179   9458   
features = ["client"]
 7180   9459   
version = "1.8.5"
 7181   9460   
 7182   9461   
[dependencies.aws-smithy-runtime-api]
 7183   9462   
path = "../aws-smithy-runtime-api"
 7184   9463   
features = ["client", "http-02x"]
 7185   9464   
version = "1.8.5"
 7186   9465   
 7187   9466   
[dependencies.aws-smithy-types]
 7188   9467   
path = "../aws-smithy-types"
 7189   9468   
version = "1.3.2"
 7190   9469   
 7191   9470   
[dependencies.aws-types]
 7192   9471   
path = "../aws-types"
 7193   9472   
version = "1.3.8"
 7194   9473   
 7195   9474   
[dependencies.bytes]
 7196   9475   
version = "1.4.0"
 7197   9476   
 7198   9477   
[dependencies.fastrand]
 7199   9478   
version = "2.0.0"
 7200   9479   
 7201   9480   
[dependencies.http]
 7202   9481   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7203   9482   
index 15b1d77..16d7d89 100644
 7204         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9483  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7205   9484   
@@ -1,65 +1,65 @@
 7206   9485   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7207   9486   
[package]
 7208   9487   
name = "aws-sdk-glacier"
 7209   9488   
version = "0.0.0-local"
 7210   9489   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7211   9490   
description = "AWS SDK for Amazon Glacier"
 7212   9491   
edition = "2021"
 7213   9492   
license = "Apache-2.0"
 7214   9493   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7215   9494   
rust-version = "1.86.0"
 7216   9495   
readme = "README.md"
 7217   9496   
[package.metadata.smithy]
 7218   9497   
codegen-version = "ci"
 7219   9498   
[package.metadata.docs.rs]
 7220   9499   
all-features = true
 7221   9500   
targets = ["x86_64-unknown-linux-gnu"]
 7222   9501   
[dependencies.aws-credential-types]
 7223   9502   
path = "../aws-credential-types"
 7224   9503   
version = "1.2.4"
 7225   9504   
 7226   9505   
[dependencies.aws-runtime]
 7227   9506   
path = "../aws-runtime"
 7228   9507   
version = "1.5.9"
 7229   9508   
 7230   9509   
[dependencies.aws-sigv4]
 7231   9510   
path = "../aws-sigv4"
 7232         -
version = "1.3.3"
        9511  +
version = "1.3.4"
 7233   9512   
 7234   9513   
[dependencies.aws-smithy-async]
 7235   9514   
path = "../aws-smithy-async"
 7236   9515   
version = "1.2.5"
 7237   9516   
 7238   9517   
[dependencies.aws-smithy-http]
 7239   9518   
path = "../aws-smithy-http"
 7240         -
version = "0.62.2"
        9519  +
version = "0.62.3"
 7241   9520   
 7242   9521   
[dependencies.aws-smithy-json]
 7243   9522   
path = "../aws-smithy-json"
 7244   9523   
version = "0.61.4"
 7245   9524   
 7246   9525   
[dependencies.aws-smithy-runtime]
 7247   9526   
path = "../aws-smithy-runtime"
 7248   9527   
features = ["client"]
 7249   9528   
version = "1.8.5"
 7250   9529   
 7251   9530   
[dependencies.aws-smithy-runtime-api]
 7252   9531   
path = "../aws-smithy-runtime-api"
 7253   9532   
features = ["client", "http-02x"]
 7254   9533   
version = "1.8.5"
 7255   9534   
 7256   9535   
[dependencies.aws-smithy-types]
 7257   9536   
path = "../aws-smithy-types"
 7258   9537   
version = "1.3.2"
 7259   9538   
 7260   9539   
[dependencies.aws-types]
 7261   9540   
path = "../aws-types"
 7262   9541   
version = "1.3.8"
 7263   9542   
 7264   9543   
[dependencies.bytes]
 7265   9544   
version = "1.4.0"
 7266   9545   
 7267   9546   
[dependencies.fastrand]
 7268   9547   
version = "2.0.0"
 7269   9548   
 7270   9549   
[dependencies.hex]
 7271   9550   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7272   9551   
index d718a3a..65e6f24 100644
 7273         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9552  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7274   9553   
@@ -1,61 +1,61 @@
 7275   9554   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7276   9555   
[package]
 7277   9556   
name = "aws-sdk-iam"
 7278   9557   
version = "0.0.0-local"
 7279   9558   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7280   9559   
description = "AWS SDK for AWS Identity and Access Management"
 7281   9560   
edition = "2021"
 7282   9561   
license = "Apache-2.0"
 7283   9562   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7284   9563   
rust-version = "1.86.0"
 7285   9564   
readme = "README.md"
 7286   9565   
[package.metadata.smithy]
 7287   9566   
codegen-version = "ci"
 7288   9567   
[package.metadata.docs.rs]
 7289   9568   
all-features = true
 7290   9569   
targets = ["x86_64-unknown-linux-gnu"]
 7291   9570   
[dependencies.aws-credential-types]
 7292   9571   
path = "../aws-credential-types"
 7293   9572   
version = "1.2.4"
 7294   9573   
 7295   9574   
[dependencies.aws-runtime]
 7296   9575   
path = "../aws-runtime"
 7297   9576   
version = "1.5.9"
 7298   9577   
 7299   9578   
[dependencies.aws-smithy-async]
 7300   9579   
path = "../aws-smithy-async"
 7301   9580   
version = "1.2.5"
 7302   9581   
 7303   9582   
[dependencies.aws-smithy-http]
 7304   9583   
path = "../aws-smithy-http"
 7305         -
version = "0.62.2"
        9584  +
version = "0.62.3"
 7306   9585   
 7307   9586   
[dependencies.aws-smithy-json]
 7308   9587   
path = "../aws-smithy-json"
 7309   9588   
version = "0.61.4"
 7310   9589   
 7311   9590   
[dependencies.aws-smithy-query]
 7312   9591   
path = "../aws-smithy-query"
 7313   9592   
version = "0.60.7"
 7314   9593   
 7315   9594   
[dependencies.aws-smithy-runtime]
 7316   9595   
path = "../aws-smithy-runtime"
 7317   9596   
features = ["client"]
 7318   9597   
version = "1.8.5"
 7319   9598   
 7320   9599   
[dependencies.aws-smithy-runtime-api]
 7321   9600   
path = "../aws-smithy-runtime-api"
 7322   9601   
features = ["client", "http-02x"]
 7323   9602   
version = "1.8.5"
 7324   9603   
 7325   9604   
[dependencies.aws-smithy-types]
 7326   9605   
path = "../aws-smithy-types"
 7327   9606   
version = "1.3.2"
 7328   9607   
 7329   9608   
[dependencies.aws-smithy-xml]
 7330   9609   
path = "../aws-smithy-xml"
 7331   9610   
version = "0.60.10"
 7332   9611   
 7333   9612   
[dependencies.aws-types]
 7334   9613   
path = "../aws-types"
 7335   9614   
version = "1.3.8"
 7336   9615   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7337   9616   
index 0ed4302..3d828a5 100644
 7338         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7339   9618   
@@ -1,61 +1,61 @@
 7340   9619   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7341   9620   
[package]
 7342   9621   
name = "aws-sdk-kms"
 7343   9622   
version = "0.0.0-local"
 7344   9623   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7345   9624   
description = "AWS SDK for AWS Key Management Service"
 7346   9625   
edition = "2021"
 7347   9626   
license = "Apache-2.0"
 7348   9627   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7349   9628   
rust-version = "1.86.0"
 7350   9629   
readme = "README.md"
 7351   9630   
[package.metadata.smithy]
 7352   9631   
codegen-version = "ci"
 7353   9632   
[package.metadata.docs.rs]
 7354   9633   
all-features = true
 7355   9634   
targets = ["x86_64-unknown-linux-gnu"]
 7356   9635   
[dependencies.aws-credential-types]
 7357   9636   
path = "../aws-credential-types"
 7358   9637   
version = "1.2.4"
 7359   9638   
 7360   9639   
[dependencies.aws-runtime]
 7361   9640   
path = "../aws-runtime"
 7362   9641   
version = "1.5.9"
 7363   9642   
 7364   9643   
[dependencies.aws-smithy-async]
 7365   9644   
path = "../aws-smithy-async"
 7366   9645   
version = "1.2.5"
 7367   9646   
 7368   9647   
[dependencies.aws-smithy-http]
 7369   9648   
path = "../aws-smithy-http"
 7370         -
version = "0.62.2"
        9649  +
version = "0.62.3"
 7371   9650   
 7372   9651   
[dependencies.aws-smithy-json]
 7373   9652   
path = "../aws-smithy-json"
 7374   9653   
version = "0.61.4"
 7375   9654   
 7376   9655   
[dependencies.aws-smithy-runtime]
 7377   9656   
path = "../aws-smithy-runtime"
 7378   9657   
features = ["client"]
 7379   9658   
version = "1.8.5"
 7380   9659   
 7381   9660   
[dependencies.aws-smithy-runtime-api]
 7382   9661   
path = "../aws-smithy-runtime-api"
 7383   9662   
features = ["client", "http-02x"]
 7384   9663   
version = "1.8.5"
 7385   9664   
 7386   9665   
[dependencies.aws-smithy-types]
 7387   9666   
path = "../aws-smithy-types"
 7388   9667   
version = "1.3.2"
 7389   9668   
 7390   9669   
[dependencies.aws-types]
 7391   9670   
path = "../aws-types"
 7392   9671   
version = "1.3.8"
 7393   9672   
 7394   9673   
[dependencies.bytes]
 7395   9674   
version = "1.4.0"
 7396   9675   
 7397   9676   
[dependencies.fastrand]
 7398   9677   
version = "2.0.0"
 7399   9678   
 7400   9679   
[dependencies.http]
 7401   9680   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7402   9681   
index 6518dfc..6b94752 100644
 7403         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7404   9683   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7405   9684   
edition = "2021"
 7406   9685   
license = "Apache-2.0"
 7407   9686   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7408   9687   
rust-version = "1.86.0"
 7409   9688   
readme = "README.md"
 7410   9689   
[package.metadata.smithy]
 7411   9690   
codegen-version = "ci"
 7412   9691   
[package.metadata.docs.rs]
 7413   9692   
all-features = true
 7414   9693   
targets = ["x86_64-unknown-linux-gnu"]
 7415   9694   
[dependencies.aws-credential-types]
 7416   9695   
path = "../aws-credential-types"
 7417   9696   
version = "1.2.4"
 7418   9697   
 7419   9698   
[dependencies.aws-runtime]
 7420   9699   
path = "../aws-runtime"
 7421   9700   
features = ["event-stream"]
 7422   9701   
version = "1.5.9"
 7423   9702   
 7424   9703   
[dependencies.aws-smithy-async]
 7425   9704   
path = "../aws-smithy-async"
 7426   9705   
version = "1.2.5"
 7427   9706   
 7428   9707   
[dependencies.aws-smithy-eventstream]
 7429   9708   
path = "../aws-smithy-eventstream"
 7430   9709   
version = "0.60.10"
 7431   9710   
 7432   9711   
[dependencies.aws-smithy-http]
 7433   9712   
path = "../aws-smithy-http"
 7434   9713   
features = ["event-stream"]
 7435         -
version = "0.62.2"
        9714  +
version = "0.62.3"
 7436   9715   
 7437   9716   
[dependencies.aws-smithy-json]
 7438   9717   
path = "../aws-smithy-json"
 7439   9718   
version = "0.61.4"
 7440   9719   
 7441   9720   
[dependencies.aws-smithy-runtime]
 7442   9721   
path = "../aws-smithy-runtime"
 7443   9722   
features = ["client"]
 7444   9723   
version = "1.8.5"
 7445   9724   
 7446   9725   
[dependencies.aws-smithy-runtime-api]
 7447   9726   
path = "../aws-smithy-runtime-api"
 7448   9727   
features = ["client", "http-02x"]
 7449   9728   
version = "1.8.5"
 7450   9729   
 7451   9730   
[dependencies.aws-smithy-types]
 7452   9731   
path = "../aws-smithy-types"
 7453   9732   
version = "1.3.2"
 7454   9733   
 7455   9734   
[dependencies.aws-types]
 7456   9735   
path = "../aws-types"
 7457   9736   
version = "1.3.8"
 7458   9737   
 7459   9738   
[dependencies.bytes]
 7460   9739   
version = "1.4.0"
 7461   9740   
 7462   9741   
[dependencies.fastrand]
 7463   9742   
version = "2.0.0"
 7464   9743   
 7465   9744   
[dependencies.http]
 7466   9745   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7467   9746   
index dabb0e0..34cbc15 100644
 7468         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9747  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7469   9748   
@@ -1,65 +1,65 @@
 7470   9749   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7471   9750   
[package]
 7472   9751   
name = "aws-sdk-polly"
 7473   9752   
version = "0.0.0-local"
 7474   9753   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7475   9754   
description = "AWS SDK for Amazon Polly"
 7476   9755   
edition = "2021"
 7477   9756   
license = "Apache-2.0"
 7478   9757   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7479   9758   
rust-version = "1.86.0"
 7480   9759   
readme = "README.md"
 7481   9760   
[package.metadata.smithy]
 7482   9761   
codegen-version = "ci"
 7483   9762   
[package.metadata.docs.rs]
 7484   9763   
all-features = true
 7485   9764   
targets = ["x86_64-unknown-linux-gnu"]
 7486   9765   
[dependencies.aws-credential-types]
 7487   9766   
path = "../aws-credential-types"
 7488   9767   
version = "1.2.4"
 7489   9768   
 7490   9769   
[dependencies.aws-runtime]
 7491   9770   
path = "../aws-runtime"
 7492   9771   
version = "1.5.9"
 7493   9772   
 7494   9773   
[dependencies.aws-sigv4]
 7495   9774   
path = "../aws-sigv4"
 7496         -
version = "1.3.3"
        9775  +
version = "1.3.4"
 7497   9776   
 7498   9777   
[dependencies.aws-smithy-async]
 7499   9778   
path = "../aws-smithy-async"
 7500   9779   
version = "1.2.5"
 7501   9780   
 7502   9781   
[dependencies.aws-smithy-http]
 7503   9782   
path = "../aws-smithy-http"
 7504         -
version = "0.62.2"
        9783  +
version = "0.62.3"
 7505   9784   
 7506   9785   
[dependencies.aws-smithy-json]
 7507   9786   
path = "../aws-smithy-json"
 7508   9787   
version = "0.61.4"
 7509   9788   
 7510   9789   
[dependencies.aws-smithy-runtime]
 7511   9790   
path = "../aws-smithy-runtime"
 7512   9791   
features = ["client"]
 7513   9792   
version = "1.8.5"
 7514   9793   
 7515   9794   
[dependencies.aws-smithy-runtime-api]
 7516   9795   
path = "../aws-smithy-runtime-api"
 7517   9796   
features = ["client", "http-02x"]
 7518   9797   
version = "1.8.5"
 7519   9798   
 7520   9799   
[dependencies.aws-smithy-types]
 7521   9800   
path = "../aws-smithy-types"
 7522   9801   
version = "1.3.2"
 7523   9802   
 7524   9803   
[dependencies.aws-types]
 7525   9804   
path = "../aws-types"
 7526   9805   
version = "1.3.8"
 7527   9806   
 7528   9807   
[dependencies.bytes]
 7529   9808   
version = "1.4.0"
 7530   9809   
 7531   9810   
[dependencies.fastrand]
 7532   9811   
version = "2.0.0"
 7533   9812   
 7534   9813   
[dependencies.http]
 7535   9814   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7536   9815   
index a884716..f3d8713 100644
 7537         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9816  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7538   9817   
@@ -1,61 +1,61 @@
 7539   9818   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7540   9819   
[package]
 7541   9820   
name = "aws-sdk-qldbsession"
 7542   9821   
version = "0.0.0-local"
 7543   9822   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7544   9823   
description = "AWS SDK for Amazon QLDB Session"
 7545   9824   
edition = "2021"
 7546   9825   
license = "Apache-2.0"
 7547   9826   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7548   9827   
rust-version = "1.86.0"
 7549   9828   
readme = "README.md"
 7550   9829   
[package.metadata.smithy]
 7551   9830   
codegen-version = "ci"
 7552   9831   
[package.metadata.docs.rs]
 7553   9832   
all-features = true
 7554   9833   
targets = ["x86_64-unknown-linux-gnu"]
 7555   9834   
[dependencies.aws-credential-types]
 7556   9835   
path = "../aws-credential-types"
 7557   9836   
version = "1.2.4"
 7558   9837   
 7559   9838   
[dependencies.aws-runtime]
 7560   9839   
path = "../aws-runtime"
 7561   9840   
version = "1.5.9"
 7562   9841   
 7563   9842   
[dependencies.aws-smithy-async]
 7564   9843   
path = "../aws-smithy-async"
 7565   9844   
version = "1.2.5"
 7566   9845   
 7567   9846   
[dependencies.aws-smithy-http]
 7568   9847   
path = "../aws-smithy-http"
 7569         -
version = "0.62.2"
        9848  +
version = "0.62.3"
 7570   9849   
 7571   9850   
[dependencies.aws-smithy-json]
 7572   9851   
path = "../aws-smithy-json"
 7573   9852   
version = "0.61.4"
 7574   9853   
 7575   9854   
[dependencies.aws-smithy-runtime]
 7576   9855   
path = "../aws-smithy-runtime"
 7577   9856   
features = ["client"]
 7578   9857   
version = "1.8.5"
 7579   9858   
 7580   9859   
[dependencies.aws-smithy-runtime-api]
 7581   9860   
path = "../aws-smithy-runtime-api"
 7582   9861   
features = ["client", "http-02x"]
 7583   9862   
version = "1.8.5"
 7584   9863   
 7585   9864   
[dependencies.aws-smithy-types]
 7586   9865   
path = "../aws-smithy-types"
 7587   9866   
version = "1.3.2"
 7588   9867   
 7589   9868   
[dependencies.aws-types]
 7590   9869   
path = "../aws-types"
 7591   9870   
version = "1.3.8"
 7592   9871   
 7593   9872   
[dependencies.bytes]
 7594   9873   
version = "1.4.0"
 7595   9874   
 7596   9875   
[dependencies.fastrand]
 7597   9876   
version = "2.0.0"
 7598   9877   
 7599   9878   
[dependencies.http]
 7600   9879   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7601   9880   
index 32a7dc9..a2c752d 100644
 7602         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9881  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7603   9882   
@@ -1,61 +1,61 @@
 7604   9883   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7605   9884   
[package]
 7606   9885   
name = "aws-sdk-route53"
 7607   9886   
version = "0.0.0-local"
 7608   9887   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7609   9888   
description = "AWS SDK for Amazon Route 53"
 7610   9889   
edition = "2021"
 7611   9890   
license = "Apache-2.0"
 7612   9891   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7613   9892   
rust-version = "1.86.0"
 7614   9893   
readme = "README.md"
 7615   9894   
[package.metadata.smithy]
 7616   9895   
codegen-version = "ci"
 7617   9896   
[package.metadata.docs.rs]
 7618   9897   
all-features = true
 7619   9898   
targets = ["x86_64-unknown-linux-gnu"]
 7620   9899   
[dependencies.aws-credential-types]
 7621   9900   
path = "../aws-credential-types"
 7622   9901   
version = "1.2.4"
 7623   9902   
 7624   9903   
[dependencies.aws-runtime]
 7625   9904   
path = "../aws-runtime"
 7626   9905   
version = "1.5.9"
 7627   9906   
 7628   9907   
[dependencies.aws-smithy-async]
 7629   9908   
path = "../aws-smithy-async"
 7630   9909   
version = "1.2.5"
 7631   9910   
 7632   9911   
[dependencies.aws-smithy-http]
 7633   9912   
path = "../aws-smithy-http"
 7634         -
version = "0.62.2"
        9913  +
version = "0.62.3"
 7635   9914   
 7636   9915   
[dependencies.aws-smithy-json]
 7637   9916   
path = "../aws-smithy-json"
 7638   9917   
version = "0.61.4"
 7639   9918   
 7640   9919   
[dependencies.aws-smithy-runtime]
 7641   9920   
path = "../aws-smithy-runtime"
 7642   9921   
features = ["client"]
 7643   9922   
version = "1.8.5"
 7644   9923   
 7645   9924   
[dependencies.aws-smithy-runtime-api]
 7646   9925   
path = "../aws-smithy-runtime-api"
 7647   9926   
features = ["client", "http-02x"]
 7648   9927   
version = "1.8.5"
 7649   9928   
 7650   9929   
[dependencies.aws-smithy-types]
 7651   9930   
path = "../aws-smithy-types"
 7652   9931   
version = "1.3.2"
 7653   9932   
 7654   9933   
[dependencies.aws-smithy-xml]
 7655   9934   
path = "../aws-smithy-xml"
 7656   9935   
version = "0.60.10"
 7657   9936   
 7658   9937   
[dependencies.aws-types]
 7659   9938   
path = "../aws-types"
 7660   9939   
version = "1.3.8"
 7661   9940   
 7662   9941   
[dependencies.fastrand]
 7663   9942   
version = "2.0.0"
 7664   9943   
 7665   9944   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7666   9945   
index f65e261..2f6bec0 100644
 7667         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7668   9947   
@@ -1,75 +1,75 @@
 7669   9948   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7670   9949   
[package]
 7671   9950   
name = "aws-sdk-s3"
 7672   9951   
version = "0.0.0-local"
 7673   9952   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7674   9953   
description = "AWS SDK for Amazon Simple Storage Service"
 7675   9954   
edition = "2021"
 7676   9955   
license = "Apache-2.0"
 7677   9956   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7678   9957   
rust-version = "1.86.0"
 7679   9958   
readme = "README.md"
 7680   9959   
[package.metadata.smithy]
 7681   9960   
codegen-version = "ci"
 7682   9961   
[package.metadata.docs.rs]
 7683   9962   
all-features = true
 7684   9963   
targets = ["x86_64-unknown-linux-gnu"]
 7685   9964   
[dependencies.aws-credential-types]
 7686   9965   
path = "../aws-credential-types"
 7687   9966   
version = "1.2.4"
 7688   9967   
 7689   9968   
[dependencies.aws-runtime]
 7690   9969   
path = "../aws-runtime"
 7691   9970   
features = ["event-stream", "http-02x"]
 7692   9971   
version = "1.5.9"
 7693   9972   
 7694   9973   
[dependencies.aws-sigv4]
 7695   9974   
path = "../aws-sigv4"
 7696         -
version = "1.3.3"
        9975  +
version = "1.3.4"
 7697   9976   
 7698   9977   
[dependencies.aws-smithy-async]
 7699   9978   
path = "../aws-smithy-async"
 7700   9979   
version = "1.2.5"
 7701   9980   
 7702   9981   
[dependencies.aws-smithy-checksums]
 7703   9982   
path = "../aws-smithy-checksums"
 7704   9983   
version = "0.63.5"
 7705   9984   
 7706   9985   
[dependencies.aws-smithy-eventstream]
 7707   9986   
path = "../aws-smithy-eventstream"
 7708   9987   
version = "0.60.10"
 7709   9988   
 7710   9989   
[dependencies.aws-smithy-http]
 7711   9990   
path = "../aws-smithy-http"
 7712   9991   
features = ["event-stream"]
 7713         -
version = "0.62.2"
        9992  +
version = "0.62.3"
 7714   9993   
 7715   9994   
[dependencies.aws-smithy-json]
 7716   9995   
path = "../aws-smithy-json"
 7717   9996   
version = "0.61.4"
 7718   9997   
 7719   9998   
[dependencies.aws-smithy-runtime]
 7720   9999   
path = "../aws-smithy-runtime"
 7721  10000   
features = ["client"]
 7722  10001   
version = "1.8.5"
 7723  10002   
 7724  10003   
[dependencies.aws-smithy-runtime-api]
 7725  10004   
path = "../aws-smithy-runtime-api"
 7726  10005   
features = ["client", "http-02x"]
 7727  10006   
version = "1.8.5"
 7728  10007   
 7729  10008   
[dependencies.aws-smithy-types]
 7730  10009   
path = "../aws-smithy-types"
 7731  10010   
version = "1.3.2"
 7732  10011   
 7733  10012   
[dependencies.aws-smithy-xml]
 7734  10013   
path = "../aws-smithy-xml"
 7735  10014   
version = "0.60.10"
 7736  10015   
 7737  10016   
[dependencies.aws-types]
 7738  10017   
path = "../aws-types"
 7739  10018   
version = "1.3.8"
 7740  10019   
 7741  10020   
[dependencies.bytes]
 7742  10021   
version = "1.4.0"
 7743  10022   
 7744  10023   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7745  10024   
index b4d1cdd..861c0cc 100644
 7746         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       10025  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7747  10026   
@@ -1,61 +1,61 @@
 7748  10027   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7749  10028   
[package]
 7750  10029   
name = "aws-sdk-s3control"
 7751  10030   
version = "0.0.0-local"
 7752  10031   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7753  10032   
description = "AWS SDK for AWS S3 Control"
 7754  10033   
edition = "2021"
 7755  10034   
license = "Apache-2.0"
 7756  10035   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7757  10036   
rust-version = "1.86.0"
 7758  10037   
readme = "README.md"
 7759  10038   
[package.metadata.smithy]
 7760  10039   
codegen-version = "ci"
 7761  10040   
[package.metadata.docs.rs]
 7762  10041   
all-features = true
 7763  10042   
targets = ["x86_64-unknown-linux-gnu"]
 7764  10043   
[dependencies.aws-credential-types]
 7765  10044   
path = "../aws-credential-types"
 7766  10045   
version = "1.2.4"
 7767  10046   
 7768  10047   
[dependencies.aws-runtime]
 7769  10048   
path = "../aws-runtime"
 7770  10049   
version = "1.5.9"
 7771  10050   
 7772  10051   
[dependencies.aws-smithy-async]
 7773  10052   
path = "../aws-smithy-async"
 7774  10053   
version = "1.2.5"
 7775  10054   
 7776  10055   
[dependencies.aws-smithy-http]
 7777  10056   
path = "../aws-smithy-http"
 7778         -
version = "0.62.2"
       10057  +
version = "0.62.3"
 7779  10058   
 7780  10059   
[dependencies.aws-smithy-json]
 7781  10060   
path = "../aws-smithy-json"
 7782  10061   
version = "0.61.4"
 7783  10062   
 7784  10063   
[dependencies.aws-smithy-runtime]
 7785  10064   
path = "../aws-smithy-runtime"
 7786  10065   
features = ["client"]
 7787  10066   
version = "1.8.5"
 7788  10067   
 7789  10068   
[dependencies.aws-smithy-runtime-api]
 7790  10069   
path = "../aws-smithy-runtime-api"
 7791  10070   
features = ["client", "http-02x"]
 7792  10071   
version = "1.8.5"
 7793  10072   
 7794  10073   
[dependencies.aws-smithy-types]
 7795  10074   
path = "../aws-smithy-types"
 7796  10075   
version = "1.3.2"
 7797  10076   
 7798  10077   
[dependencies.aws-smithy-xml]
 7799  10078   
path = "../aws-smithy-xml"
 7800  10079   
version = "0.60.10"
 7801  10080   
 7802  10081   
[dependencies.aws-types]
 7803  10082   
path = "../aws-types"
 7804  10083   
version = "1.3.8"
 7805  10084   
 7806  10085   
[dependencies.fastrand]
 7807  10086   
version = "2.0.0"
 7808  10087   
 7809  10088   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7810  10089   
index 2cde182..fc367f4 100644
 7811         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       10090  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7812  10091   
@@ -1,61 +1,61 @@
 7813  10092   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7814  10093   
[package]
 7815  10094   
name = "aws-sdk-sso"
 7816  10095   
version = "0.0.0-local"
 7817  10096   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7818  10097   
description = "AWS SDK for AWS Single Sign-On"
 7819  10098   
edition = "2021"
 7820  10099   
license = "Apache-2.0"
 7821  10100   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7822  10101   
rust-version = "1.86.0"
 7823  10102   
readme = "README.md"
 7824  10103   
[package.metadata.smithy]
 7825  10104   
codegen-version = "ci"
 7826  10105   
[package.metadata.docs.rs]
 7827  10106   
all-features = true
 7828  10107   
targets = ["x86_64-unknown-linux-gnu"]
 7829  10108   
[dependencies.aws-credential-types]
 7830  10109   
path = "../aws-credential-types"
 7831  10110   
version = "1.2.4"
 7832  10111   
 7833  10112   
[dependencies.aws-runtime]
 7834  10113   
path = "../aws-runtime"
 7835  10114   
version = "1.5.9"
 7836  10115   
 7837  10116   
[dependencies.aws-smithy-async]
 7838  10117   
path = "../aws-smithy-async"
 7839  10118   
version = "1.2.5"
 7840  10119   
 7841  10120   
[dependencies.aws-smithy-http]
 7842  10121   
path = "../aws-smithy-http"
 7843         -
version = "0.62.2"
       10122  +
version = "0.62.3"
 7844  10123   
 7845  10124   
[dependencies.aws-smithy-json]
 7846  10125   
path = "../aws-smithy-json"
 7847  10126   
version = "0.61.4"
 7848  10127   
 7849  10128   
[dependencies.aws-smithy-runtime]
 7850  10129   
path = "../aws-smithy-runtime"
 7851  10130   
features = ["client"]
 7852  10131   
version = "1.8.5"
 7853  10132   
 7854  10133   
[dependencies.aws-smithy-runtime-api]
 7855  10134   
path = "../aws-smithy-runtime-api"
 7856  10135   
features = ["client", "http-02x"]
 7857  10136   
version = "1.8.5"
 7858  10137   
 7859  10138   
[dependencies.aws-smithy-types]
 7860  10139   
path = "../aws-smithy-types"
 7861  10140   
version = "1.3.2"
 7862  10141   
 7863  10142   
[dependencies.aws-types]
 7864  10143   
path = "../aws-types"
 7865  10144   
version = "1.3.8"
 7866  10145   
 7867  10146   
[dependencies.bytes]
 7868  10147   
version = "1.4.0"
 7869  10148   
 7870  10149   
[dependencies.fastrand]
 7871  10150   
version = "2.0.0"
 7872  10151   
 7873  10152   
[dependencies.http]
 7874  10153   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7875  10154   
index 7a34c16..588d0bd 100644
 7876         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7877  10156   
@@ -1,61 +1,61 @@
 7878  10157   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7879  10158   
[package]
 7880  10159   
name = "aws-sdk-ssooidc"
 7881  10160   
version = "0.0.0-local"
 7882  10161   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7883  10162   
description = "AWS SDK for AWS SSO OIDC"
 7884  10163   
edition = "2021"
 7885  10164   
license = "Apache-2.0"
 7886  10165   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7887  10166   
rust-version = "1.86.0"
 7888  10167   
readme = "README.md"
 7889  10168   
[package.metadata.smithy]
 7890  10169   
codegen-version = "ci"
 7891  10170   
[package.metadata.docs.rs]
 7892  10171   
all-features = true
 7893  10172   
targets = ["x86_64-unknown-linux-gnu"]
 7894  10173   
[dependencies.aws-credential-types]
 7895  10174   
path = "../aws-credential-types"
 7896  10175   
version = "1.2.4"
 7897  10176   
 7898  10177   
[dependencies.aws-runtime]
 7899  10178   
path = "../aws-runtime"
 7900  10179   
version = "1.5.9"
 7901  10180   
 7902  10181   
[dependencies.aws-smithy-async]
 7903  10182   
path = "../aws-smithy-async"
 7904  10183   
version = "1.2.5"
 7905  10184   
 7906  10185   
[dependencies.aws-smithy-http]
 7907  10186   
path = "../aws-smithy-http"
 7908         -
version = "0.62.2"
       10187  +
version = "0.62.3"
 7909  10188   
 7910  10189   
[dependencies.aws-smithy-json]
 7911  10190   
path = "../aws-smithy-json"
 7912  10191   
version = "0.61.4"
 7913  10192   
 7914  10193   
[dependencies.aws-smithy-runtime]
 7915  10194   
path = "../aws-smithy-runtime"
 7916  10195   
features = ["client"]
 7917  10196   
version = "1.8.5"
 7918  10197   
 7919  10198   
[dependencies.aws-smithy-runtime-api]
 7920  10199   
path = "../aws-smithy-runtime-api"
 7921  10200   
features = ["client", "http-02x"]
 7922  10201   
version = "1.8.5"
 7923  10202   
 7924  10203   
[dependencies.aws-smithy-types]
 7925  10204   
path = "../aws-smithy-types"
 7926  10205   
version = "1.3.2"
 7927  10206   
 7928  10207   
[dependencies.aws-types]
 7929  10208   
path = "../aws-types"
 7930  10209   
version = "1.3.8"
 7931  10210   
 7932  10211   
[dependencies.bytes]
 7933  10212   
version = "1.4.0"
 7934  10213   
 7935  10214   
[dependencies.fastrand]
 7936  10215   
version = "2.0.0"
 7937  10216   
 7938  10217   
[dependencies.http]
 7939  10218   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7940  10219   
index 895dfb3..f2ce34e 100644
 7941         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10220  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7942  10221   
@@ -1,61 +1,61 @@
 7943  10222   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7944  10223   
[package]
 7945  10224   
name = "aws-sdk-sts"
 7946  10225   
version = "0.0.0-local"
 7947  10226   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7948  10227   
description = "AWS SDK for AWS Security Token Service"
 7949  10228   
edition = "2021"
 7950  10229   
license = "Apache-2.0"
 7951  10230   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7952  10231   
rust-version = "1.86.0"
 7953  10232   
readme = "README.md"
 7954  10233   
[package.metadata.smithy]
 7955  10234   
codegen-version = "ci"
 7956  10235   
[package.metadata.docs.rs]
 7957  10236   
all-features = true
 7958  10237   
targets = ["x86_64-unknown-linux-gnu"]
 7959  10238   
[dependencies.aws-credential-types]
 7960  10239   
path = "../aws-credential-types"
 7961  10240   
version = "1.2.4"
 7962  10241   
 7963  10242   
[dependencies.aws-runtime]
 7964  10243   
path = "../aws-runtime"
 7965  10244   
version = "1.5.9"
 7966  10245   
 7967  10246   
[dependencies.aws-smithy-async]
 7968  10247   
path = "../aws-smithy-async"
 7969  10248   
version = "1.2.5"
 7970  10249   
 7971  10250   
[dependencies.aws-smithy-http]
 7972  10251   
path = "../aws-smithy-http"
 7973         -
version = "0.62.2"
       10252  +
version = "0.62.3"
 7974  10253   
 7975  10254   
[dependencies.aws-smithy-json]
 7976  10255   
path = "../aws-smithy-json"
 7977  10256   
version = "0.61.4"
 7978  10257   
 7979  10258   
[dependencies.aws-smithy-query]
 7980  10259   
path = "../aws-smithy-query"
 7981  10260   
version = "0.60.7"
 7982  10261   
 7983  10262   
[dependencies.aws-smithy-runtime]
 7984  10263   
path = "../aws-smithy-runtime"
 7985  10264   
features = ["client"]
 7986  10265   
version = "1.8.5"
 7987  10266   
 7988  10267   
[dependencies.aws-smithy-runtime-api]
 7989  10268   
path = "../aws-smithy-runtime-api"
 7990  10269   
features = ["client", "http-02x"]
 7991  10270   
version = "1.8.5"
 7992  10271   
 7993  10272   
[dependencies.aws-smithy-types]
 7994  10273   
path = "../aws-smithy-types"
 7995  10274   
version = "1.3.2"
 7996  10275   
 7997  10276   
[dependencies.aws-smithy-xml]
 7998  10277   
path = "../aws-smithy-xml"
 7999  10278   
version = "0.60.10"
 8000  10279   
 8001  10280   
[dependencies.aws-types]
 8002  10281   
path = "../aws-types"
 8003  10282   
version = "1.3.8"
 8004  10283   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8005  10284   
index d556561..91178b6 100644
 8006         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10285  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8007  10286   
@@ -1,61 +1,61 @@
 8008  10287   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8009  10288   
[package]
 8010  10289   
name = "aws-sdk-timestreamquery"
 8011  10290   
version = "0.0.0-local"
 8012  10291   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8013  10292   
description = "AWS SDK for Amazon Timestream Query"
 8014  10293   
edition = "2021"
 8015  10294   
license = "Apache-2.0"
 8016  10295   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8017  10296   
rust-version = "1.86.0"
 8018  10297   
readme = "README.md"
 8019  10298   
[package.metadata.smithy]
 8020  10299   
codegen-version = "ci"
 8021  10300   
[package.metadata.docs.rs]
 8022  10301   
all-features = true
 8023  10302   
targets = ["x86_64-unknown-linux-gnu"]
 8024  10303   
[dependencies.aws-credential-types]
 8025  10304   
path = "../aws-credential-types"
 8026  10305   
version = "1.2.4"
 8027  10306   
 8028  10307   
[dependencies.aws-runtime]
 8029  10308   
path = "../aws-runtime"
 8030  10309   
version = "1.5.9"
 8031  10310   
 8032  10311   
[dependencies.aws-smithy-async]
 8033  10312   
path = "../aws-smithy-async"
 8034  10313   
version = "1.2.5"
 8035  10314   
 8036  10315   
[dependencies.aws-smithy-http]
 8037  10316   
path = "../aws-smithy-http"
 8038         -
version = "0.62.2"
       10317  +
version = "0.62.3"
 8039  10318   
 8040  10319   
[dependencies.aws-smithy-json]
 8041  10320   
path = "../aws-smithy-json"
 8042  10321   
version = "0.61.4"
 8043  10322   
 8044  10323   
[dependencies.aws-smithy-runtime]
 8045  10324   
path = "../aws-smithy-runtime"
 8046  10325   
features = ["client"]
 8047  10326   
version = "1.8.5"
 8048  10327   
 8049  10328   
[dependencies.aws-smithy-runtime-api]
 8050  10329   
path = "../aws-smithy-runtime-api"
 8051  10330   
features = ["client", "http-02x"]
 8052  10331   
version = "1.8.5"
 8053  10332   
 8054  10333   
[dependencies.aws-smithy-types]
 8055  10334   
path = "../aws-smithy-types"
 8056  10335   
version = "1.3.2"
 8057  10336   
 8058  10337   
[dependencies.aws-types]
 8059  10338   
path = "../aws-types"
 8060  10339   
version = "1.3.8"
 8061  10340   
 8062  10341   
[dependencies.bytes]
 8063  10342   
version = "1.4.0"
 8064  10343   
 8065  10344   
[dependencies.fastrand]
 8066  10345   
version = "2.0.0"
 8067  10346   
 8068  10347   
[dependencies.http]
 8069  10348   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8070  10349   
index 0c56e4c..95731e3 100644
 8071         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8072  10351   
@@ -1,61 +1,61 @@
 8073  10352   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8074  10353   
[package]
 8075  10354   
name = "aws-sdk-timestreamwrite"
 8076  10355   
version = "0.0.0-local"
 8077  10356   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8078  10357   
description = "AWS SDK for Amazon Timestream Write"
 8079  10358   
edition = "2021"
 8080  10359   
license = "Apache-2.0"
 8081  10360   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8082  10361   
rust-version = "1.86.0"
 8083  10362   
readme = "README.md"
 8084  10363   
[package.metadata.smithy]
 8085  10364   
codegen-version = "ci"
 8086  10365   
[package.metadata.docs.rs]
 8087  10366   
all-features = true
 8088  10367   
targets = ["x86_64-unknown-linux-gnu"]
 8089  10368   
[dependencies.aws-credential-types]
 8090  10369   
path = "../aws-credential-types"
 8091  10370   
version = "1.2.4"
 8092  10371   
 8093  10372   
[dependencies.aws-runtime]
 8094  10373   
path = "../aws-runtime"
 8095  10374   
version = "1.5.9"
 8096  10375   
 8097  10376   
[dependencies.aws-smithy-async]
 8098  10377   
path = "../aws-smithy-async"
 8099  10378   
version = "1.2.5"
 8100  10379   
 8101  10380   
[dependencies.aws-smithy-http]
 8102  10381   
path = "../aws-smithy-http"
 8103         -
version = "0.62.2"
       10382  +
version = "0.62.3"
 8104  10383   
 8105  10384   
[dependencies.aws-smithy-json]
 8106  10385   
path = "../aws-smithy-json"
 8107  10386   
version = "0.61.4"
 8108  10387   
 8109  10388   
[dependencies.aws-smithy-runtime]
 8110  10389   
path = "../aws-smithy-runtime"
 8111  10390   
features = ["client"]
 8112  10391   
version = "1.8.5"
 8113  10392   
 8114  10393   
[dependencies.aws-smithy-runtime-api]
 8115  10394   
path = "../aws-smithy-runtime-api"
 8116  10395   
features = ["client", "http-02x"]
 8117  10396   
version = "1.8.5"
 8118  10397   
 8119  10398   
[dependencies.aws-smithy-types]
 8120  10399   
path = "../aws-smithy-types"
 8121  10400   
version = "1.3.2"
 8122  10401   
 8123  10402   
[dependencies.aws-types]
 8124  10403   
path = "../aws-types"
 8125  10404   
version = "1.3.8"
 8126  10405   
 8127  10406   
[dependencies.bytes]
 8128  10407   
version = "1.4.0"
 8129  10408   
 8130  10409   
[dependencies.fastrand]
 8131  10410   
version = "2.0.0"
 8132  10411   
 8133  10412   
[dependencies.http]
 8134  10413   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8135  10414   
index 5b35037..9fb220a 100644
 8136         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10415  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8137  10416   
@@ -1,71 +1,71 @@
 8138  10417   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8139  10418   
[package]
 8140  10419   
name = "aws-sdk-transcribestreaming"
 8141  10420   
version = "0.0.0-local"
 8142  10421   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8143  10422   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 8144  10423   
edition = "2021"
 8145  10424   
license = "Apache-2.0"
 8146  10425   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8147  10426   
rust-version = "1.86.0"
 8148  10427   
readme = "README.md"
 8149  10428   
[package.metadata.smithy]
 8150  10429   
codegen-version = "ci"
 8151  10430   
[package.metadata.docs.rs]
 8152  10431   
all-features = true
 8153  10432   
targets = ["x86_64-unknown-linux-gnu"]
 8154  10433   
[dependencies.aws-credential-types]
 8155  10434   
path = "../aws-credential-types"
 8156  10435   
version = "1.2.4"
 8157  10436   
 8158  10437   
[dependencies.aws-runtime]
 8159  10438   
path = "../aws-runtime"
 8160  10439   
features = ["event-stream"]
 8161  10440   
version = "1.5.9"
 8162  10441   
 8163  10442   
[dependencies.aws-sigv4]
 8164  10443   
path = "../aws-sigv4"
 8165         -
version = "1.3.3"
       10444  +
version = "1.3.4"
 8166  10445   
 8167  10446   
[dependencies.aws-smithy-async]
 8168  10447   
path = "../aws-smithy-async"
 8169  10448   
version = "1.2.5"
 8170  10449   
 8171  10450   
[dependencies.aws-smithy-eventstream]
 8172  10451   
path = "../aws-smithy-eventstream"
 8173  10452   
version = "0.60.10"
 8174  10453   
 8175  10454   
[dependencies.aws-smithy-http]
 8176  10455   
path = "../aws-smithy-http"
 8177  10456   
features = ["event-stream"]
 8178         -
version = "0.62.2"
       10457  +
version = "0.62.3"
 8179  10458   
 8180  10459   
[dependencies.aws-smithy-json]
 8181  10460   
path = "../aws-smithy-json"
 8182  10461   
version = "0.61.4"
 8183  10462   
 8184  10463   
[dependencies.aws-smithy-runtime]
 8185  10464   
path = "../aws-smithy-runtime"
 8186  10465   
features = ["client"]
 8187  10466   
version = "1.8.5"
 8188  10467