AWS SDK

AWS SDK

rev. 3964b40d6806bc3f52bd311e2c791030c3325f2c

Files changed:

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

   63         -
In exception to this, you do not normalize URI paths for requests to Amazon S3. For example, if you have a bucket with an object named my-object//example//photo.user, use that path. Normalizing the path to my-object/example/photo.user will cause the request to fail. For more information, see Task 1: Create a Canonical Request in the Amazon Simple Storage Service API Reference: http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-header-based-auth.html#canonical-request
              \
 No newline at end of file
   64     40   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz
   65     41   
deleted file mode 100644
   66     42   
index 89e572e..0000000
   67         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz
          43  +
++ /dev/null
   68     44   
@@ -1 +0,0 @@
   69         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
   70     45   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq
   71     46   
deleted file mode 100644
   72     47   
index fcf23ce..0000000
   73         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq
          48  +
++ /dev/null
   74     49   
@@ -1,4 +0,0 @@
   75         -
POST / HTTP/1.1
   76         -
Host:example.amazonaws.com
   77         -
X-Amz-Date:20150830T123600Z
   78         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
   79     50   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz
   80     51   
deleted file mode 100644
   81     52   
index a62589f..0000000
   82         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz
          53  +
++ /dev/null
   83     54   
@@ -1 +0,0 @@
   84         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
   85     55   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq
   86     56   
deleted file mode 100644
   87     57   
index b4b78a1..0000000
   88         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq
          58  +
++ /dev/null
   89     59   
@@ -1,5 +0,0 @@
   90         -
POST / HTTP/1.1
   91         -
Host:example.amazonaws.com
   92         -
My-Header1:value1
   93         -
X-Amz-Date:20150830T123600Z
   94         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
   95     60   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz
   96     61   
deleted file mode 100644
   97     62   
index d9e52a3..0000000
   98         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz
          63  +
++ /dev/null
   99     64   
@@ -1 +0,0 @@
  100         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
  101     65   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq
  102     66   
deleted file mode 100644
  103     67   
index 99c3210..0000000
  104         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq
          68  +
++ /dev/null
  105     69   
@@ -1,5 +0,0 @@
  106         -
POST / HTTP/1.1
  107         -
Host:example.amazonaws.com
  108         -
My-Header1:VALUE1
  109         -
X-Amz-Date:20150830T123600Z
  110         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
  111     70   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.authz
  112     71   
deleted file mode 100644
  113     72   
index 89e572e..0000000
  114         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.authz
          73  +
++ /dev/null
  115     74   
@@ -1 +0,0 @@
  116         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
  117     75   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.authz
  118     76   
deleted file mode 100644
  119     77   
index 64aa046..0000000
  120         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.authz
          78  +
++ /dev/null
  121     79   
@@ -1 +0,0 @@
  122         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
  123     80   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt
  124     81   
deleted file mode 100644
  125     82   
index cc34282..0000000
  126         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt
          83  +
++ /dev/null
  127     84   
@@ -1,15 +0,0 @@
  128         -
A note about using temporary security credentials:
  129         -

  130         -
You can use temporary security credentials provided by the AWS Security Token Service (AWS STS) to sign a request. The process is the same as using long-term credentials but requires an additional HTTP header or query string parameter for the security token. The name of the header or query string parameter is X-Amz-Security-Token, and the value is the session token (the string that you received from AWS STS when you obtained temporary security credentials).
  131         -

  132         -
When you add X-Amz-Security-Token, some services require that you include this parameter in the canonical (signed) request. For other services, you add this parameter at the end, after you calculate the signature. For details see the API reference documentation for that service.
  133         -

  134         -
The test suite has 2 examples:
  135         -

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

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

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

  142         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 No newline at end of file
  143     85   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz
  144     86   
deleted file mode 100644
  145     87   
index 44280cd..0000000
  146         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz
          88  +
++ /dev/null
  147     89   
@@ -1 +0,0 @@
  148         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
  149     90   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq
  150     91   
deleted file mode 100644
  151     92   
index 82af150..0000000
  152         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq
          93  +
++ /dev/null
  153     94   
@@ -1,4 +0,0 @@
  154         -
POST /?Param1=value1 HTTP/1.1
  155         -
Host:example.amazonaws.com
  156         -
X-Amz-Date:20150830T123600Z
  157         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
  158     95   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz
  159     96   
deleted file mode 100644
  160     97   
index 44280cd..0000000
  161         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz
          98  +
++ /dev/null
  162     99   
@@ -1 +0,0 @@
  163         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
  164    100   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
  165    101   
deleted file mode 100644
  166    102   
index 82af150..0000000
  167         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
         103  +
++ /dev/null
  168    104   
@@ -1,4 +0,0 @@
  169         -
POST /?Param1=value1 HTTP/1.1
  170         -
Host:example.amazonaws.com
  171         -
X-Amz-Date:20150830T123600Z
  172         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
  173    105   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
  174    106   
deleted file mode 100644
  175    107   
index 89e572e..0000000
  176         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
         108  +
++ /dev/null
  177    109   
@@ -1 +0,0 @@
  178         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
  179    110   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
  180    111   
deleted file mode 100644
  181    112   
index a5ada0d..0000000
  182         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
         113  +
++ /dev/null
  183    114   
@@ -1,4 +0,0 @@
  184         -
POST / HTTP/1.1
  185         -
Host:example.amazonaws.com
  186         -
X-Amz-Date:20150830T123600Z
  187         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
  188    115   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.authz
  189    116   
deleted file mode 100644
  190    117   
index df90ca3..0000000
  191         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.authz
         118  +
++ /dev/null
  192    119   
@@ -1 +0,0 @@
  193         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
              \
 No newline at end of file
  194    120   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.creq
  195    121   
deleted file mode 100644
  196    122   
index 457b0d5..0000000
  197         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.creq
         123  +
++ /dev/null
  198    124   
@@ -1,9 +0,0 @@
  199         -
POST
  200         -
/
  201         -
Param1=value1
  202         -
content-type:application/x-www-form-urlencoded; charset=utf-8
  203         -
host:example.amazonaws.com
  204         -
x-amz-date:20150830T123600Z
  205         -
  206         -
content-type;host;x-amz-date
  207         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  208    125   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sreq
  209    126   
deleted file mode 100644
  210    127   
index b8ecb89..0000000
  211         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sreq
         128  +
++ /dev/null
  212    129   
@@ -1,7 +0,0 @@
  213         -
POST / HTTP/1.1
  214         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  215         -
Host:example.amazonaws.com
  216         -
X-Amz-Date:20150830T123600Z
  217         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  218         -
  219         -
Param1=value1
              \
 No newline at end of file
  220    130   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz
  221    131   
deleted file mode 100644
  222    132   
index 79077d2..0000000
  223         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz
         133  +
++ /dev/null
  224    134   
@@ -1 +0,0 @@
  225         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=0c3bc22986c53164a4755b4466c2e17db853888c5ddb98567e700a3ecdb262f6
              \
 No newline at end of file
  226    135   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.req
  227    136   
deleted file mode 100644
  228    137   
index 7852617..0000000
  229         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.req
         138  +
++ /dev/null
  230    139   
@@ -1,4 +0,0 @@
  231         -
POST / HTTP/1.1
  232         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  233         -
Host:example.amazonaws.com
  234         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  235    140   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sreq
  236    141   
deleted file mode 100644
  237    142   
index 3e2e571..0000000
  238         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sreq
         143  +
++ /dev/null
  239    144   
@@ -1,4 +0,0 @@
  240         -
POST / HTTP/1.1
  241         -
Host:example.amazonaws.com
  242         -
X-Amz-Date:20150830T123600Z
  243         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=0c3bc22986c53164a4755b4466c2e17db853888c5ddb98567e700a3ecdb262f6
              \
 No newline at end of file
  244    145   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sts
  245    146   
deleted file mode 100644
  246    147   
index 89ceae8..0000000
  247         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.sts
         148  +
++ /dev/null
  248    149   
@@ -1,4 +0,0 @@
  249         -
AWS4-HMAC-SHA256
  250         -
20150830T123600Z
  251         -
20150830/us-east-1/service/aws4_request
  252         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  253    150   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
  254    151   
deleted file mode 100755
  255    152   
index d645695..0000000
  256         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
         153  +
++ /dev/null
  257    154   
@@ -1,202 +0,0 @@
  258         -
  259         -
                                 Apache License
  260         -
                           Version 2.0, January 2004
  261         -
                        http://www.apache.org/licenses/
  262         -
  263         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  264         -
  265         -
   1. Definitions.
  266         -
  267         -
      "License" shall mean the terms and conditions for use, reproduction,
  268         -
      and distribution as defined by Sections 1 through 9 of this document.
  269         -
  270         -
      "Licensor" shall mean the copyright owner or entity authorized by
  271         -
      the copyright owner that is granting the License.
  272         -
  273         -
      "Legal Entity" shall mean the union of the acting entity and all
  274         -
      other entities that control, are controlled by, or are under common
  275         -
      control with that entity. For the purposes of this definition,
  276         -
      "control" means (i) the power, direct or indirect, to cause the
  277         -
      direction or management of such entity, whether by contract or
  278         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  279         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  280         -
  281         -
      "You" (or "Your") shall mean an individual or Legal Entity
  282         -
      exercising permissions granted by this License.
  283         -
  284         -
      "Source" form shall mean the preferred form for making modifications,
  285         -
      including but not limited to software source code, documentation
  286         -
      source, and configuration files.
  287         -
  288         -
      "Object" form shall mean any form resulting from mechanical
  289         -
      transformation or translation of a Source form, including but
  290         -
      not limited to compiled object code, generated documentation,
  291         -
      and conversions to other media types.
  292         -
  293         -
      "Work" shall mean the work of authorship, whether in Source or
  294         -
      Object form, made available under the License, as indicated by a
  295         -
      copyright notice that is included in or attached to the work
  296         -
      (an example is provided in the Appendix below).
  297         -
  298         -
      "Derivative Works" shall mean any work, whether in Source or Object
  299         -
      form, that is based on (or derived from) the Work and for which the
  300         -
      editorial revisions, annotations, elaborations, or other modifications
  301         -
      represent, as a whole, an original work of authorship. For the purposes
  302         -
      of this License, Derivative Works shall not include works that remain
  303         -
      separable from, or merely link (or bind by name) to the interfaces of,
  304         -
      the Work and Derivative Works thereof.
  305         -
  306         -
      "Contribution" shall mean any work of authorship, including
  307         -
      the original version of the Work and any modifications or additions
  308         -
      to that Work or Derivative Works thereof, that is intentionally
  309         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  310         -
      or by an individual or Legal Entity authorized to submit on behalf of
  311         -
      the copyright owner. For the purposes of this definition, "submitted"
  312         -
      means any form of electronic, verbal, or written communication sent
  313         -
      to the Licensor or its representatives, including but not limited to
  314         -
      communication on electronic mailing lists, source code control systems,
  315         -
      and issue tracking systems that are managed by, or on behalf of, the
  316         -
      Licensor for the purpose of discussing and improving the Work, but
  317         -
      excluding communication that is conspicuously marked or otherwise
  318         -
      designated in writing by the copyright owner as "Not a Contribution."
  319         -
  320         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  321         -
      on behalf of whom a Contribution has been received by Licensor and
  322         -
      subsequently incorporated within the Work.
  323         -
  324         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  325         -
      this License, each Contributor hereby grants to You a perpetual,
  326         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  327         -
      copyright license to reproduce, prepare Derivative Works of,
  328         -
      publicly display, publicly perform, sublicense, and distribute the
  329         -
      Work and such Derivative Works in Source or Object form.
  330         -
  331         -
   3. Grant of Patent License. Subject to the terms and conditions of
  332         -
      this License, each Contributor hereby grants to You a perpetual,
  333         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  334         -
      (except as stated in this section) patent license to make, have made,
  335         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  336         -
      where such license applies only to those patent claims licensable
  337         -
      by such Contributor that are necessarily infringed by their
  338         -
      Contribution(s) alone or by combination of their Contribution(s)
  339         -
      with the Work to which such Contribution(s) was submitted. If You
  340         -
      institute patent litigation against any entity (including a
  341         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  342         -
      or a Contribution incorporated within the Work constitutes direct
  343         -
      or contributory patent infringement, then any patent licenses
  344         -
      granted to You under this License for that Work shall terminate
  345         -
      as of the date such litigation is filed.
  346         -
  347         -
   4. Redistribution. You may reproduce and distribute copies of the
  348         -
      Work or Derivative Works thereof in any medium, with or without
  349         -
      modifications, and in Source or Object form, provided that You
  350         -
      meet the following conditions:
  351         -
  352         -
      (a) You must give any other recipients of the Work or
  353         -
          Derivative Works a copy of this License; and
  354         -
  355         -
      (b) You must cause any modified files to carry prominent notices
  356         -
          stating that You changed the files; and
  357         -
  358         -
      (c) You must retain, in the Source form of any Derivative Works
  359         -
          that You distribute, all copyright, patent, trademark, and
  360         -
          attribution notices from the Source form of the Work,
  361         -
          excluding those notices that do not pertain to any part of
  362         -
          the Derivative Works; and
  363         -
  364         -
      (d) If the Work includes a "NOTICE" text file as part of its
  365         -
          distribution, then any Derivative Works that You distribute must
  366         -
          include a readable copy of the attribution notices contained
  367         -
          within such NOTICE file, excluding those notices that do not
  368         -
          pertain to any part of the Derivative Works, in at least one
  369         -
          of the following places: within a NOTICE text file distributed
  370         -
          as part of the Derivative Works; within the Source form or
  371         -
          documentation, if provided along with the Derivative Works; or,
  372         -
          within a display generated by the Derivative Works, if and
  373         -
          wherever such third-party notices normally appear. The contents
  374         -
          of the NOTICE file are for informational purposes only and
  375         -
          do not modify the License. You may add Your own attribution
  376         -
          notices within Derivative Works that You distribute, alongside
  377         -
          or as an addendum to the NOTICE text from the Work, provided
  378         -
          that such additional attribution notices cannot be construed
  379         -
          as modifying the License.
  380         -
  381         -
      You may add Your own copyright statement to Your modifications and
  382         -
      may provide additional or different license terms and conditions
  383         -
      for use, reproduction, or distribution of Your modifications, or
  384         -
      for any such Derivative Works as a whole, provided Your use,
  385         -
      reproduction, and distribution of the Work otherwise complies with
  386         -
      the conditions stated in this License.
  387         -
  388         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  389         -
      any Contribution intentionally submitted for inclusion in the Work
  390         -
      by You to the Licensor shall be under the terms and conditions of
  391         -
      this License, without any additional terms or conditions.
  392         -
      Notwithstanding the above, nothing herein shall supersede or modify
  393         -
      the terms of any separate license agreement you may have executed
  394         -
      with Licensor regarding such Contributions.
  395         -
  396         -
   6. Trademarks. This License does not grant permission to use the trade
  397         -
      names, trademarks, service marks, or product names of the Licensor,
  398         -
      except as required for reasonable and customary use in describing the
  399         -
      origin of the Work and reproducing the content of the NOTICE file.
  400         -
  401         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  402         -
      agreed to in writing, Licensor provides the Work (and each
  403         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  404         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  405         -
      implied, including, without limitation, any warranties or conditions
  406         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  407         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  408         -
      appropriateness of using or redistributing the Work and assume any
  409         -
      risks associated with Your exercise of permissions under this License.
  410         -
  411         -
   8. Limitation of Liability. In no event and under no legal theory,
  412         -
      whether in tort (including negligence), contract, or otherwise,
  413         -
      unless required by applicable law (such as deliberate and grossly
  414         -
      negligent acts) or agreed to in writing, shall any Contributor be
  415         -
      liable to You for damages, including any direct, indirect, special,
  416         -
      incidental, or consequential damages of any character arising as a
  417         -
      result of this License or out of the use or inability to use the
  418         -
      Work (including but not limited to damages for loss of goodwill,
  419         -
      work stoppage, computer failure or malfunction, or any and all
  420         -
      other commercial damages or losses), even if such Contributor
  421         -
      has been advised of the possibility of such damages.
  422         -
  423         -
   9. Accepting Warranty or Additional Liability. While redistributing
  424         -
      the Work or Derivative Works thereof, You may choose to offer,
  425         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  426         -
      or other liability obligations and/or rights consistent with this
  427         -
      License. However, in accepting such obligations, You may act only
  428         -
      on Your own behalf and on Your sole responsibility, not on behalf
  429         -
      of any other Contributor, and only if You agree to indemnify,
  430         -
      defend, and hold each Contributor harmless for any liability
  431         -
      incurred by, or claims asserted against, such Contributor by reason
  432         -
      of your accepting any such warranty or additional liability.
  433         -
  434         -
   END OF TERMS AND CONDITIONS
  435         -
  436         -
   APPENDIX: How to apply the Apache License to your work.
  437         -
  438         -
      To apply the Apache License to your work, attach the following
  439         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  440         -
      replaced with your own identifying information. (Don't include
  441         -
      the brackets!)  The text should be enclosed in the appropriate
  442         -
      comment syntax for the file format. We also recommend that a
  443         -
      file or class name and description of purpose be included on the
  444         -
      same "printed page" as the copyright notice for easier
  445         -
      identification within third-party archives.
  446         -
  447         -
   Copyright [yyyy] [name of copyright owner]
  448         -
  449         -
   Licensed under the Apache License, Version 2.0 (the "License");
  450         -
   you may not use this file except in compliance with the License.
  451         -
   You may obtain a copy of the License at
  452         -
  453         -
       http://www.apache.org/licenses/LICENSE-2.0
  454         -
  455         -
   Unless required by applicable law or agreed to in writing, software
  456         -
   distributed under the License is distributed on an "AS IS" BASIS,
  457         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  458         -
   See the License for the specific language governing permissions and
  459         -
   limitations under the License.
  460    155   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
  461    156   
deleted file mode 100755
  462    157   
index d85f69e..0000000
  463         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
         158  +
++ /dev/null
  464    159   
@@ -1,2 +0,0 @@
  465         -
AWS Signature Version 4a Test Suite
  466         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  467    160   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
  468    161   
deleted file mode 100644
  469    162   
index c716622..0000000
  470         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
         163  +
++ /dev/null
  471    164   
@@ -1,24 +0,0 @@
  472         -
Where did the files in this directory come from?
  473         -
================================================
  474         -
  475         -
These test files were taken from the [aws-c-auth](https://github.com/awslabs/aws-c-auth/tree/main/tests/aws-signing-test-suite/v4a) project.
  476         -
  477         -
Signature Version 4A Test Suite
  478         -
------------------------------
  479         -
  480         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  481         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  482         -
  483         -
Each test group contains several files that you can use to validate most of the tasks described in
  484         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  485         -
  486         -
- context.json - Credentials and signer options to use when signing test requests
  487         -
- request.txt - The web request to be signed.
  488         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  489         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  490         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  491         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  492         -
  493         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  494         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  495         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  496    165   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
  497    166   
deleted file mode 100644
  498    167   
index 45771c7..0000000
  499         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
         168  +
++ /dev/null
  500    169   
@@ -1,12 +0,0 @@
  501         -
{
  502         -
    "credentials": {
  503         -
        "access_key_id": "AKIDEXAMPLE",
  504         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  505         -
    },
  506         -
    "expiration_in_seconds": 3600,
  507         -
    "normalize": true,
  508         -
    "region": "us-east-1",
  509         -
    "service": "service",
  510         -
    "sign_body": false,
  511         -
    "timestamp": "2015-08-30T12:36:00Z"
  512         -
}
  513    170   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
  514    171   
deleted file mode 100644
  515    172   
index 45771c7..0000000
  516         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
         173  +
++ /dev/null
  517    174   
@@ -1,12 +0,0 @@
  518         -
{
  519         -
    "credentials": {
  520         -
        "access_key_id": "AKIDEXAMPLE",
  521         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  522         -
    },
  523         -
    "expiration_in_seconds": 3600,
  524         -
    "normalize": true,
  525         -
    "region": "us-east-1",
  526         -
    "service": "service",
  527         -
    "sign_body": false,
  528         -
    "timestamp": "2015-08-30T12:36:00Z"
  529         -
}
  530    175   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
  531    176   
deleted file mode 100644
  532    177   
index 45771c7..0000000
  533         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         178  +
++ /dev/null
  534    179   
@@ -1,12 +0,0 @@
  535         -
{
  536         -
    "credentials": {
  537         -
        "access_key_id": "AKIDEXAMPLE",
  538         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  539         -
    },
  540         -
    "expiration_in_seconds": 3600,
  541         -
    "normalize": true,
  542         -
    "region": "us-east-1",
  543         -
    "service": "service",
  544         -
    "sign_body": false,
  545         -
    "timestamp": "2015-08-30T12:36:00Z"
  546         -
}
  547    180   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
  548    181   
deleted file mode 100644
  549    182   
index 45771c7..0000000
  550         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         183  +
++ /dev/null
  551    184   
@@ -1,12 +0,0 @@
  552         -
{
  553         -
    "credentials": {
  554         -
        "access_key_id": "AKIDEXAMPLE",
  555         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  556         -
    },
  557         -
    "expiration_in_seconds": 3600,
  558         -
    "normalize": true,
  559         -
    "region": "us-east-1",
  560         -
    "service": "service",
  561         -
    "sign_body": false,
  562         -
    "timestamp": "2015-08-30T12:36:00Z"
  563         -
}
  564    185   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
  565    186   
deleted file mode 100644
  566    187   
index afe367b..0000000
  567         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         188  +
++ /dev/null
  568    189   
@@ -1,12 +0,0 @@
  569         -
{
  570         -
    "credentials": {
  571         -
        "access_key_id": "AKIDEXAMPLE",
  572         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  573         -
    },
  574         -
    "expiration_in_seconds": 3600,
  575         -
    "normalize": false,
  576         -
    "region": "us-east-1",
  577         -
    "service": "service",
  578         -
    "sign_body": false,
  579         -
    "timestamp": "2015-08-30T12:36:00Z"
  580         -
}
  581    190   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
  582    191   
deleted file mode 100644
  583    192   
index 45771c7..0000000
  584         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         193  +
++ /dev/null
  585    194   
@@ -1,12 +0,0 @@
  586         -
{
  587         -
    "credentials": {
  588         -
        "access_key_id": "AKIDEXAMPLE",
  589         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  590         -
    },
  591         -
    "expiration_in_seconds": 3600,
  592         -
    "normalize": true,
  593         -
    "region": "us-east-1",
  594         -
    "service": "service",
  595         -
    "sign_body": false,
  596         -
    "timestamp": "2015-08-30T12:36:00Z"
  597         -
}
  598    195   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
  599    196   
deleted file mode 100644
  600    197   
index afe367b..0000000
  601         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         198  +
++ /dev/null
  602    199   
@@ -1,12 +0,0 @@
  603         -
{
  604         -
    "credentials": {
  605         -
        "access_key_id": "AKIDEXAMPLE",
  606         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  607         -
    },
  608         -
    "expiration_in_seconds": 3600,
  609         -
    "normalize": false,
  610         -
    "region": "us-east-1",
  611         -
    "service": "service",
  612         -
    "sign_body": false,
  613         -
    "timestamp": "2015-08-30T12:36:00Z"
  614         -
}
  615    200   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
  616    201   
deleted file mode 100644
  617    202   
index 45771c7..0000000
  618         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         203  +
++ /dev/null
  619    204   
@@ -1,12 +0,0 @@
  620         -
{
  621         -
    "credentials": {
  622         -
        "access_key_id": "AKIDEXAMPLE",
  623         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  624         -
    },
  625         -
    "expiration_in_seconds": 3600,
  626         -
    "normalize": true,
  627         -
    "region": "us-east-1",
  628         -
    "service": "service",
  629         -
    "sign_body": false,
  630         -
    "timestamp": "2015-08-30T12:36:00Z"
  631         -
}
  632    205   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
  633    206   
deleted file mode 100644
  634    207   
index 45771c7..0000000
  635         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         208  +
++ /dev/null
  636    209   
@@ -1,12 +0,0 @@
  637         -
{
  638         -
    "credentials": {
  639         -
        "access_key_id": "AKIDEXAMPLE",
  640         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  641         -
    },
  642         -
    "expiration_in_seconds": 3600,
  643         -
    "normalize": true,
  644         -
    "region": "us-east-1",
  645         -
    "service": "service",
  646         -
    "sign_body": false,
  647         -
    "timestamp": "2015-08-30T12:36:00Z"
  648         -
}
  649    210   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
  650    211   
deleted file mode 100644
  651    212   
index 45771c7..0000000
  652         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         213  +
++ /dev/null
  653    214   
@@ -1,12 +0,0 @@
  654         -
{
  655         -
    "credentials": {
  656         -
        "access_key_id": "AKIDEXAMPLE",
  657         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  658         -
    },
  659         -
    "expiration_in_seconds": 3600,
  660         -
    "normalize": true,
  661         -
    "region": "us-east-1",
  662         -
    "service": "service",
  663         -
    "sign_body": false,
  664         -
    "timestamp": "2015-08-30T12:36:00Z"
  665         -
}
  666    215   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
  667    216   
deleted file mode 100644
  668    217   
index 45771c7..0000000
  669         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         218  +
++ /dev/null
  670    219   
@@ -1,12 +0,0 @@
  671         -
{
  672         -
    "credentials": {
  673         -
        "access_key_id": "AKIDEXAMPLE",
  674         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  675         -
    },
  676         -
    "expiration_in_seconds": 3600,
  677         -
    "normalize": true,
  678         -
    "region": "us-east-1",
  679         -
    "service": "service",
  680         -
    "sign_body": false,
  681         -
    "timestamp": "2015-08-30T12:36:00Z"
  682         -
}
  683    220   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
  684    221   
deleted file mode 100644
  685    222   
index 45771c7..0000000
  686         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         223  +
++ /dev/null
  687    224   
@@ -1,12 +0,0 @@
  688         -
{
  689         -
    "credentials": {
  690         -
        "access_key_id": "AKIDEXAMPLE",
  691         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  692         -
    },
  693         -
    "expiration_in_seconds": 3600,
  694         -
    "normalize": true,
  695         -
    "region": "us-east-1",
  696         -
    "service": "service",
  697         -
    "sign_body": false,
  698         -
    "timestamp": "2015-08-30T12:36:00Z"
  699         -
}
  700    225   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
  701    226   
deleted file mode 100644
  702    227   
index 47e7128..0000000
  703         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         228  +
++ /dev/null
  704    229   
@@ -1,9 +0,0 @@
  705         -
GET
  706         -
/
  707         -
  708         -
host:example.amazonaws.com
  709         -
x-amz-date:20150830T123600Z
  710         -
x-amz-region-set:us-east-1
  711         -
  712         -
host;x-amz-date;x-amz-region-set
  713         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  714    230   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
  715    231   
deleted file mode 100644
  716    232   
index 95d7219..0000000
  717         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         233  +
++ /dev/null
  718    234   
@@ -1,4 +0,0 @@
  719         -
AWS4-ECDSA-P256-SHA256
  720         -
20150830T123600Z
  721         -
20150830/service/aws4_request
  722         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  723    235   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
  724    236   
deleted file mode 100644
  725    237   
index a34ea26..0000000
  726         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         238  +
++ /dev/null
  727    239   
@@ -1,7 +0,0 @@
  728         -
GET
  729         -
/
  730         -
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
  731         -
host:example.amazonaws.com
  732         -
  733         -
host
  734         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  735    240   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
  736    241   
deleted file mode 100644
  737    242   
index 48f855c..0000000
  738         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         243  +
++ /dev/null
  739    244   
@@ -1,4 +0,0 @@
  740         -
AWS4-ECDSA-P256-SHA256
  741         -
20150830T123600Z
  742         -
20150830/service/aws4_request
  743         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  744    245   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
  745    246   
deleted file mode 100644
  746    247   
index 45771c7..0000000
  747         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         248  +
++ /dev/null
  748    249   
@@ -1,12 +0,0 @@
  749         -
{
  750         -
    "credentials": {
  751         -
        "access_key_id": "AKIDEXAMPLE",
  752         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  753         -
    },
  754         -
    "expiration_in_seconds": 3600,
  755         -
    "normalize": true,
  756         -
    "region": "us-east-1",
  757         -
    "service": "service",
  758         -
    "sign_body": false,
  759         -
    "timestamp": "2015-08-30T12:36:00Z"
  760         -
}
  761    250   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
  762    251   
deleted file mode 100644
  763    252   
index 47e7128..0000000
  764         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         253  +
++ /dev/null
  765    254   
@@ -1,9 +0,0 @@
  766         -
GET
  767         -
/
  768         -
  769         -
host:example.amazonaws.com
  770         -
x-amz-date:20150830T123600Z
  771         -
x-amz-region-set:us-east-1
  772         -
  773         -
host;x-amz-date;x-amz-region-set
  774         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  775    255   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
  776    256   
deleted file mode 100644
  777    257   
index 95d7219..0000000
  778         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         258  +
++ /dev/null
  779    259   
@@ -1,4 +0,0 @@
  780         -
AWS4-ECDSA-P256-SHA256
  781         -
20150830T123600Z
  782         -
20150830/service/aws4_request
  783         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  784    260   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
  785    261   
deleted file mode 100644
  786    262   
index a34ea26..0000000
  787         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         263  +
++ /dev/null
  788    264   
@@ -1,7 +0,0 @@
  789         -
GET
  790         -
/
  791         -
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
  792         -
host:example.amazonaws.com
  793         -
  794         -
host
  795         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  796    265   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
  797    266   
deleted file mode 100644
  798    267   
index 48f855c..0000000
  799         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         268  +
++ /dev/null
  800    269   
@@ -1,4 +0,0 @@
  801         -
AWS4-ECDSA-P256-SHA256
  802         -
20150830T123600Z
  803         -
20150830/service/aws4_request
  804         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  805    270   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
  806    271   
deleted file mode 100644
  807    272   
index 45771c7..0000000
  808         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         273  +
++ /dev/null
  809    274   
@@ -1,12 +0,0 @@
  810         -
{
  811         -
    "credentials": {
  812         -
        "access_key_id": "AKIDEXAMPLE",
  813         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  814         -
    },
  815         -
    "expiration_in_seconds": 3600,
  816         -
    "normalize": true,
  817         -
    "region": "us-east-1",
  818         -
    "service": "service",
  819         -
    "sign_body": false,
  820         -
    "timestamp": "2015-08-30T12:36:00Z"
  821         -
}
  822    275   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
  823    276   
deleted file mode 100644
  824    277   
index 45771c7..0000000
  825         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         278  +
++ /dev/null
  826    279   
@@ -1,12 +0,0 @@
  827         -
{
  828         -
    "credentials": {
  829         -
        "access_key_id": "AKIDEXAMPLE",
  830         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  831         -
    },
  832         -
    "expiration_in_seconds": 3600,
  833         -
    "normalize": true,
  834         -
    "region": "us-east-1",
  835         -
    "service": "service",
  836         -
    "sign_body": false,
  837         -
    "timestamp": "2015-08-30T12:36:00Z"
  838         -
}
  839    280   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
  840    281   
deleted file mode 100644
  841    282   
index 45771c7..0000000
  842         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         283  +
++ /dev/null
  843    284   
@@ -1,12 +0,0 @@
  844         -
{
  845         -
    "credentials": {
  846         -
        "access_key_id": "AKIDEXAMPLE",
  847         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  848         -
    },
  849         -
    "expiration_in_seconds": 3600,
  850         -
    "normalize": true,
  851         -
    "region": "us-east-1",
  852         -
    "service": "service",
  853         -
    "sign_body": false,
  854         -
    "timestamp": "2015-08-30T12:36:00Z"
  855         -
}
  856    285   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
  857    286   
deleted file mode 100644
  858    287   
index 45771c7..0000000
  859         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         288  +
++ /dev/null
  860    289   
@@ -1,12 +0,0 @@
  861         -
{
  862         -
    "credentials": {
  863         -
        "access_key_id": "AKIDEXAMPLE",
  864         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  865         -
    },
  866         -
    "expiration_in_seconds": 3600,
  867         -
    "normalize": true,
  868         -
    "region": "us-east-1",
  869         -
    "service": "service",
  870         -
    "sign_body": false,
  871         -
    "timestamp": "2015-08-30T12:36:00Z"
  872         -
}
  873    290   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
  874    291   
deleted file mode 100644
  875    292   
index 45771c7..0000000
  876         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         293  +
++ /dev/null
  877    294   
@@ -1,12 +0,0 @@
  878         -
{
  879         -
    "credentials": {
  880         -
        "access_key_id": "AKIDEXAMPLE",
  881         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  882         -
    },
  883         -
    "expiration_in_seconds": 3600,
  884         -
    "normalize": true,
  885         -
    "region": "us-east-1",
  886         -
    "service": "service",
  887         -
    "sign_body": false,
  888         -
    "timestamp": "2015-08-30T12:36:00Z"
  889         -
}
  890    295   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
  891    296   
deleted file mode 100644
  892    297   
index 45771c7..0000000
  893         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         298  +
++ /dev/null
  894    299   
@@ -1,12 +0,0 @@
  895         -
{
  896         -
    "credentials": {
  897         -
        "access_key_id": "AKIDEXAMPLE",
  898         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  899         -
    },
  900         -
    "expiration_in_seconds": 3600,
  901         -
    "normalize": true,
  902         -
    "region": "us-east-1",
  903         -
    "service": "service",
  904         -
    "sign_body": false,
  905         -
    "timestamp": "2015-08-30T12:36:00Z"
  906         -
}
  907    300   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt
  908    301   
deleted file mode 100644
  909    302   
index b6fdecf..0000000
  910         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt
         303  +
++ /dev/null
  911    304   
@@ -1,4 +0,0 @@
  912         -
AWS4-ECDSA-P256-SHA256
  913         -
20150830T123600Z
  914         -
20150830/service/aws4_request
  915         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  916    305   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt
  917    306   
deleted file mode 100644
  918    307   
index a300bea..0000000
  919         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt
         308  +
++ /dev/null
  920    309   
@@ -1,4 +0,0 @@
  921         -
AWS4-ECDSA-P256-SHA256
  922         -
20150830T123600Z
  923         -
20150830/service/aws4_request
  924         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
  925    310   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
  926    311   
deleted file mode 100644
  927    312   
index b6fdecf..0000000
  928         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         313  +
++ /dev/null
  929    314   
@@ -1,4 +0,0 @@
  930         -
AWS4-ECDSA-P256-SHA256
  931         -
20150830T123600Z
  932         -
20150830/service/aws4_request
  933         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  934    315   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  935    316   
new file mode 100644
  936    317   
index 0000000..a674243
  937         -
-- /dev/null
         318  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  938    319   
@@ -0,0 +1,7 @@
         320  +
# AWS SigV4 and SigV4A Signing Test Suite
         321  +
         322  +
This test suite is taken from the [CRT test suite](https://github.com/awslabs/aws-c-auth/tree/v0.9.0/tests/aws-signing-test-suite).
         323  +
         324  +
We added the following changes:
         325  +
         326  +
* Migrated old format tests `double-url-encode` and `double-encode-path` not in the new suite as we use these in many tests.
              \
 No newline at end of file
  939    327   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  940    328   
similarity index 100%
  941    329   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
  942    330   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  943    331   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  944    332   
similarity index 100%
  945    333   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
  946    334   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  947    335   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  948    336   
similarity index 100%
  949    337   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
  950    338   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  951    339   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
  952    340   
similarity index 100%
  953    341   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
  954    342   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
  955    343   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
  956    344   
similarity index 100%
  957    345   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
  958    346   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
  959    347   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
  960    348   
similarity index 100%
  961    349   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
  962    350   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
  963    351   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
  964    352   
similarity index 100%
  965    353   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
  966    354   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
  967    355   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  968    356   
similarity index 99%
  969    357   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
  970    358   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  971    359   
index 45771c7..0468d80 100644
  972         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
         360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
  973    361   
@@ -1,12 +1,12 @@
  974    362   
{
  975    363   
    "credentials": {
  976    364   
        "access_key_id": "AKIDEXAMPLE",
  977    365   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  978    366   
    },
  979    367   
    "expiration_in_seconds": 3600,
  980    368   
    "normalize": true,
  981    369   
    "region": "us-east-1",
  982    370   
    "service": "service",
  983    371   
    "sign_body": false,
  984    372   
    "timestamp": "2015-08-30T12:36:00Z"
  985         -
}
         373  +
}
              \
 No newline at end of file
  986    374   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  987    375   
similarity index 100%
  988    376   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
  989    377   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
  990    378   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  991    379   
new file mode 100644
  992    380   
index 0000000..7fc5d7a
  993         -
-- /dev/null
         381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
  994    382   
@@ -0,0 +1 @@
         383  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
  995    384   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
  996    385   
new file mode 100644
  997    386   
index 0000000..36a1205
  998         -
-- /dev/null
         387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
  999    388   
@@ -0,0 +1,8 @@
         389  +
GET / HTTP/1.1
         390  +
Host:example.amazonaws.com
         391  +
My-Header1:value2
         392  +
My-Header1:value2
         393  +
My-Header1:value1
         394  +
X-Amz-Date:20150830T123600Z
         395  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         396  +
 1000    397   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
 1001    398   
similarity index 100%
 1002    399   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
 1003    400   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
 1004    401   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
 1005    402   
new file mode 100644
 1006    403   
index 0000000..f9f4190
 1007         -
-- /dev/null
         404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
 1008    405   
@@ -0,0 +1,8 @@
         406  +
GET
         407  +
/
         408  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host%3Bmy-header1
         409  +
host:example.amazonaws.com
         410  +
my-header1:value2,value2,value1
         411  +
         412  +
host;my-header1
         413  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1009    414   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
 1010    415   
new file mode 100644
 1011    416   
index 0000000..5d0d87f
 1012         -
-- /dev/null
         417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
 1013    418   
@@ -0,0 +1 @@
         419  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
 1014    420   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1015    421   
new file mode 100644
 1016    422   
index 0000000..c1dfcf4
 1017         -
-- /dev/null
         423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1018    424   
@@ -0,0 +1,6 @@
         425  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Signature=3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97 HTTP/1.1
         426  +
Host:example.amazonaws.com
         427  +
My-Header1:value2
         428  +
My-Header1:value2
         429  +
My-Header1:value1
         430  +
 1019    431   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1020    432   
similarity index 53%
 1021    433   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
 1022    434   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1023    435   
index 0a3350a..077c1bb 100644
 1024         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1025    437   
@@ -1,4 +1,4 @@
 1026    438   
AWS4-HMAC-SHA256
 1027    439   
20150830T123600Z
 1028    440   
20150830/us-east-1/service/aws4_request
 1029         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         441  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1030    442   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1031    443   
similarity index 100%
 1032    444   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1033    445   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1034    446   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1035    447   
similarity index 99%
 1036    448   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1037    449   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1038    450   
index 45771c7..0468d80 100644
 1039         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
         451  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1040    452   
@@ -1,12 +1,12 @@
 1041    453   
{
 1042    454   
    "credentials": {
 1043    455   
        "access_key_id": "AKIDEXAMPLE",
 1044    456   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1045    457   
    },
 1046    458   
    "expiration_in_seconds": 3600,
 1047    459   
    "normalize": true,
 1048    460   
    "region": "us-east-1",
 1049    461   
    "service": "service",
 1050    462   
    "sign_body": false,
 1051    463   
    "timestamp": "2015-08-30T12:36:00Z"
 1052         -
}
         464  +
}
              \
 No newline at end of file
 1053    465   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1054    466   
similarity index 82%
 1055    467   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1056    468   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1057    469   
index 721a39f..8cb5476 100644
 1058         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1059    471   
@@ -1,9 +1,9 @@
 1060    472   
GET
 1061    473   
/
 1062    474   
 1063    475   
host:example.amazonaws.com
 1064         -
my-header1:value1,value2,value3
         476  +
my-header1:value1 value2 value3
 1065    477   
x-amz-date:20150830T123600Z
 1066    478   
 1067    479   
host;my-header1;x-amz-date
 1068    480   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1069    481   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1070    482   
new file mode 100644
 1071    483   
index 0000000..e6ff7a9
 1072         -
-- /dev/null
         484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1073    485   
@@ -0,0 +1 @@
         486  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1074    487   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1075    488   
new file mode 100644
 1076    489   
index 0000000..b5ef6a0
 1077         -
-- /dev/null
         490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1078    491   
@@ -0,0 +1,8 @@
         492  +
GET / HTTP/1.1
         493  +
Host:example.amazonaws.com
         494  +
My-Header1:value1
         495  +
  value2
         496  +
     value3
         497  +
X-Amz-Date:20150830T123600Z
         498  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         499  +
 1079    500   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1080    501   
similarity index 53%
 1081    502   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sts
 1082    503   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1083    504   
index fd43a41..97c7430 100644
 1084         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sts
         505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1085    506   
@@ -1,4 +1,4 @@
 1086    507   
AWS4-HMAC-SHA256
 1087    508   
20150830T123600Z
 1088    509   
20150830/us-east-1/service/aws4_request
 1089         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         510  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1090    511   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1091    512   
new file mode 100644
 1092    513   
index 0000000..aac46de
 1093         -
-- /dev/null
         514  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1094    515   
@@ -0,0 +1,8 @@
         516  +
GET
         517  +
/
         518  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host%3Bmy-header1
         519  +
host:example.amazonaws.com
         520  +
my-header1:value1 value2 value3
         521  +
         522  +
host;my-header1
         523  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1095    524   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1096    525   
new file mode 100644
 1097    526   
index 0000000..205732d
 1098         -
-- /dev/null
         527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1099    528   
@@ -0,0 +1 @@
         529  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1100    530   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1101    531   
new file mode 100644
 1102    532   
index 0000000..a891b87
 1103         -
-- /dev/null
         533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1104    534   
@@ -0,0 +1,6 @@
         535  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Signature=e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56 HTTP/1.1
         536  +
Host:example.amazonaws.com
         537  +
My-Header1:value1
         538  +
  value2
         539  +
     value3
         540  +
 1105    541   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1106    542   
similarity index 53%
 1107    543   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sts
 1108    544   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1109    545   
index 90e66b8..ec3fe45 100644
 1110         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sts
         546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1111    547   
@@ -1,4 +1,4 @@
 1112    548   
AWS4-HMAC-SHA256
 1113    549   
20150830T123600Z
 1114    550   
20150830/us-east-1/service/aws4_request
 1115         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         551  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1116    552   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1117    553   
similarity index 75%
 1118    554   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1119    555   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1120    556   
index 7caa6ac..b5026cd 100644
 1121         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         557  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1122    558   
@@ -1,6 +1,5 @@
 1123    559   
GET / HTTP/1.1
 1124    560   
Host:example.amazonaws.com
 1125    561   
My-Header1:value1
 1126    562   
  value2
 1127    563   
     value3
 1128         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1129    564   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1130    565   
similarity index 99%
 1131    566   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1132    567   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1133    568   
index 45771c7..0468d80 100644
 1134         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
         569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1135    570   
@@ -1,12 +1,12 @@
 1136    571   
{
 1137    572   
    "credentials": {
 1138    573   
        "access_key_id": "AKIDEXAMPLE",
 1139    574   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1140    575   
    },
 1141    576   
    "expiration_in_seconds": 3600,
 1142    577   
    "normalize": true,
 1143    578   
    "region": "us-east-1",
 1144    579   
    "service": "service",
 1145    580   
    "sign_body": false,
 1146    581   
    "timestamp": "2015-08-30T12:36:00Z"
 1147         -
}
         582  +
}
              \
 No newline at end of file
 1148    583   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1149    584   
similarity index 100%
 1150    585   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1151    586   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1152    587   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1153    588   
new file mode 100644
 1154    589   
index 0000000..8ef0494
 1155         -
-- /dev/null
         590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1156    591   
@@ -0,0 +1 @@
         592  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1157    593   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1158    594   
new file mode 100644
 1159    595   
index 0000000..b786dc9
 1160         -
-- /dev/null
         596  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1161    597   
@@ -0,0 +1,9 @@
         598  +
GET / HTTP/1.1
         599  +
Host:example.amazonaws.com
         600  +
My-Header1:value4
         601  +
My-Header1:value1
         602  +
My-Header1:value3
         603  +
My-Header1:value2
         604  +
X-Amz-Date:20150830T123600Z
         605  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         606  +
 1162    607   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1163    608   
similarity index 100%
 1164    609   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1165    610   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1166    611   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1167    612   
new file mode 100644
 1168    613   
index 0000000..a211cc5
 1169         -
-- /dev/null
         614  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1170    615   
@@ -0,0 +1,8 @@
         616  +
GET
         617  +
/
         618  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host%3Bmy-header1
         619  +
host:example.amazonaws.com
         620  +
my-header1:value4,value1,value3,value2
         621  +
         622  +
host;my-header1
         623  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1171    624   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1172    625   
new file mode 100644
 1173    626   
index 0000000..417b0fa
 1174         -
-- /dev/null
         627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1175    628   
@@ -0,0 +1 @@
         629  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1176    630   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1177    631   
new file mode 100644
 1178    632   
index 0000000..b615e5d
 1179         -
-- /dev/null
         633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1180    634   
@@ -0,0 +1,7 @@
         635  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Signature=313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e HTTP/1.1
         636  +
Host:example.amazonaws.com
         637  +
My-Header1:value4
         638  +
My-Header1:value1
         639  +
My-Header1:value3
         640  +
My-Header1:value2
         641  +
 1181    642   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1182    643   
similarity index 53%
 1183    644   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sts
 1184    645   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1185    646   
index f7e615e..dcaaa1b 100644
 1186         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.sts
         647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1187    648   
@@ -1,4 +1,4 @@
 1188    649   
AWS4-HMAC-SHA256
 1189    650   
20150830T123600Z
 1190    651   
20150830/us-east-1/service/aws4_request
 1191         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         652  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1192    653   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1193    654   
similarity index 100%
 1194    655   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1195    656   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1196    657   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1197    658   
similarity index 99%
 1198    659   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1199    660   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1200    661   
index 45771c7..0468d80 100644
 1201         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
         662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1202    663   
@@ -1,12 +1,12 @@
 1203    664   
{
 1204    665   
    "credentials": {
 1205    666   
        "access_key_id": "AKIDEXAMPLE",
 1206    667   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1207    668   
    },
 1208    669   
    "expiration_in_seconds": 3600,
 1209    670   
    "normalize": true,
 1210    671   
    "region": "us-east-1",
 1211    672   
    "service": "service",
 1212    673   
    "sign_body": false,
 1213    674   
    "timestamp": "2015-08-30T12:36:00Z"
 1214         -
}
         675  +
}
              \
 No newline at end of file
 1215    676   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1216    677   
similarity index 100%
 1217    678   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1218    679   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1219    680   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1220    681   
new file mode 100644
 1221    682   
index 0000000..36081a9
 1222         -
-- /dev/null
         683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1223    684   
@@ -0,0 +1 @@
         685  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1224    686   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1225    687   
new file mode 100644
 1226    688   
index 0000000..6331d16
 1227         -
-- /dev/null
         689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1228    690   
@@ -0,0 +1,7 @@
         691  +
GET / HTTP/1.1
         692  +
Host:example.amazonaws.com
         693  +
My-Header1: value1
         694  +
My-Header2: "a   b   c"
         695  +
X-Amz-Date:20150830T123600Z
         696  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         697  +
 1229    698   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1230    699   
similarity index 100%
 1231    700   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1232    701   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1233    702   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1234    703   
new file mode 100644
 1235    704   
index 0000000..125c1f9
 1236         -
-- /dev/null
         705  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1237    706   
@@ -0,0 +1,9 @@
         707  +
GET
         708  +
/
         709  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host%3Bmy-header1%3Bmy-header2
         710  +
host:example.amazonaws.com
         711  +
my-header1:value1
         712  +
my-header2:"a b c"
         713  +
         714  +
host;my-header1;my-header2
         715  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1238    716   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1239    717   
new file mode 100644
 1240    718   
index 0000000..17007a8
 1241         -
-- /dev/null
         719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1242    720   
@@ -0,0 +1 @@
         721  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1243    722   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1244    723   
new file mode 100644
 1245    724   
index 0000000..e519fd9
 1246         -
-- /dev/null
         725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1247    726   
@@ -0,0 +1,5 @@
         727  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1%3Bmy-header2&X-Amz-Expires=3600&X-Amz-Signature=e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4 HTTP/1.1
         728  +
Host:example.amazonaws.com
         729  +
My-Header1: value1
         730  +
My-Header2: "a   b   c"
         731  +
 1248    732   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1249    733   
new file mode 100644
 1250    734   
index 0000000..6b4b781
 1251         -
-- /dev/null
         735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1252    736   
@@ -0,0 +1,4 @@
         737  +
AWS4-HMAC-SHA256
         738  +
20150830T123600Z
         739  +
20150830/us-east-1/service/aws4_request
         740  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1253    741   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1254    742   
similarity index 100%
 1255    743   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1256    744   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1257    745   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1258    746   
new file mode 100644
 1259    747   
index 0000000..0468d80
 1260         -
-- /dev/null
         748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1261    749   
@@ -0,0 +1,12 @@
         750  +
{
         751  +
    "credentials": {
         752  +
        "access_key_id": "AKIDEXAMPLE",
         753  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         754  +
    },
         755  +
    "expiration_in_seconds": 3600,
         756  +
    "normalize": true,
         757  +
    "region": "us-east-1",
         758  +
    "service": "service",
         759  +
    "sign_body": false,
         760  +
    "timestamp": "2015-08-30T12:36:00Z"
         761  +
}
              \
 No newline at end of file
 1262    762   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1263    763   
similarity index 100%
 1264    764   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1265    765   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1266    766   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1267    767   
new file mode 100644
 1268    768   
index 0000000..87f295f
 1269         -
-- /dev/null
         769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1270    770   
@@ -0,0 +1 @@
         771  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1271    772   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1272    773   
new file mode 100644
 1273    774   
index 0000000..0de8327
 1274         -
-- /dev/null
         775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1275    776   
@@ -0,0 +1,5 @@
         777  +
GET /example/.. HTTP/1.1
         778  +
Host:example.amazonaws.com
         779  +
X-Amz-Date:20150830T123600Z
         780  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         781  +
 1276    782   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1277    783   
similarity index 100%
 1278    784   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1279    785   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1280    786   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1281    787   
new file mode 100644
 1282    788   
index 0000000..fb2420d
 1283         -
-- /dev/null
         789  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1284    790   
@@ -0,0 +1,7 @@
         791  +
GET
         792  +
/
         793  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
         794  +
host:example.amazonaws.com
         795  +
         796  +
host
         797  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1285    798   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1286    799   
new file mode 100644
 1287    800   
index 0000000..da5c905
 1288         -
-- /dev/null
         801  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1289    802   
@@ -0,0 +1 @@
         803  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1290    804   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1291    805   
new file mode 100644
 1292    806   
index 0000000..4329c98
 1293         -
-- /dev/null
         807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1294    808   
@@ -0,0 +1,3 @@
         809  +
GET /example/..?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
         810  +
Host:example.amazonaws.com
         811  +
 1295    812   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1296    813   
new file mode 100644
 1297    814   
index 0000000..d837e67
 1298         -
-- /dev/null
         815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1299    816   
@@ -0,0 +1,4 @@
         817  +
AWS4-HMAC-SHA256
         818  +
20150830T123600Z
         819  +
20150830/us-east-1/service/aws4_request
         820  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1300    821   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1301    822   
similarity index 100%
 1302    823   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1303    824   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1304    825   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1305    826   
new file mode 100644
 1306    827   
index 0000000..0468d80
 1307         -
-- /dev/null
         828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1308    829   
@@ -0,0 +1,12 @@
         830  +
{
         831  +
    "credentials": {
         832  +
        "access_key_id": "AKIDEXAMPLE",
         833  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         834  +
    },
         835  +
    "expiration_in_seconds": 3600,
         836  +
    "normalize": true,
         837  +
    "region": "us-east-1",
         838  +
    "service": "service",
         839  +
    "sign_body": false,
         840  +
    "timestamp": "2015-08-30T12:36:00Z"
         841  +
}
              \
 No newline at end of file
 1309    842   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1310    843   
similarity index 100%
 1311    844   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1312    845   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1313    846   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1314    847   
new file mode 100644
 1315    848   
index 0000000..87f295f
 1316         -
-- /dev/null
         849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1317    850   
@@ -0,0 +1 @@
         851  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1318    852   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1319    853   
new file mode 100644
 1320    854   
index 0000000..f9b3815
 1321         -
-- /dev/null
         855  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1322    856   
@@ -0,0 +1,5 @@
         857  +
GET /example1/example2/../.. HTTP/1.1
         858  +
Host:example.amazonaws.com
         859  +
X-Amz-Date:20150830T123600Z
         860  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         861  +
 1323    862   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1324    863   
similarity index 100%
 1325    864   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1326    865   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1327    866   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1328    867   
new file mode 100644
 1329    868   
index 0000000..fb2420d
 1330         -
-- /dev/null
         869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1331    870   
@@ -0,0 +1,7 @@
         871  +
GET
         872  +
/
         873  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
         874  +
host:example.amazonaws.com
         875  +
         876  +
host
         877  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1332    878   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1333    879   
new file mode 100644
 1334    880   
index 0000000..da5c905
 1335         -
-- /dev/null
         881  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1336    882   
@@ -0,0 +1 @@
         883  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1337    884   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1338    885   
new file mode 100644
 1339    886   
index 0000000..b2988b7
 1340         -
-- /dev/null
         887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1341    888   
@@ -0,0 +1,3 @@
         889  +
GET /example1/example2/../..?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
         890  +
Host:example.amazonaws.com
         891  +
 1342    892   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1343    893   
new file mode 100644
 1344    894   
index 0000000..d837e67
 1345         -
-- /dev/null
         895  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1346    896   
@@ -0,0 +1,4 @@
         897  +
AWS4-HMAC-SHA256
         898  +
20150830T123600Z
         899  +
20150830/us-east-1/service/aws4_request
         900  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1347    901   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1348    902   
similarity index 100%
 1349    903   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1350    904   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1351    905   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1352    906   
similarity index 99%
 1353    907   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1354    908   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1355    909   
index afe367b..7bee5c7 100644
 1356         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
         910  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1357    911   
@@ -1,12 +1,12 @@
 1358    912   
{
 1359    913   
    "credentials": {
 1360    914   
        "access_key_id": "AKIDEXAMPLE",
 1361    915   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1362    916   
    },
 1363    917   
    "expiration_in_seconds": 3600,
 1364    918   
    "normalize": false,
 1365    919   
    "region": "us-east-1",
 1366    920   
    "service": "service",
 1367    921   
    "sign_body": false,
 1368    922   
    "timestamp": "2015-08-30T12:36:00Z"
 1369         -
}
         923  +
}
              \
 No newline at end of file
 1370    924   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1371    925   
similarity index 82%
 1372    926   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.creq
 1373    927   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1374    928   
index 36c3cdf..6919c44 100644
 1375         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.creq
         929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1376    930   
@@ -1,8 +1,8 @@
 1377    931   
GET
 1378         -
/
 1379         -
Param1=Value1&Param1=value2
         932  +
/example1/example2/../..
         933  +
 1380    934   
host:example.amazonaws.com
 1381    935   
x-amz-date:20150830T123600Z
 1382    936   
 1383    937   
host;x-amz-date
 1384    938   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1385    939   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1386    940   
new file mode 100644
 1387    941   
index 0000000..4092d83
 1388         -
-- /dev/null
         942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1389    943   
@@ -0,0 +1 @@
         944  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1390    945   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1391    946   
new file mode 100644
 1392    947   
index 0000000..e731b35
 1393         -
-- /dev/null
         948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1394    949   
@@ -0,0 +1,5 @@
         950  +
GET /example1/example2/../.. HTTP/1.1
         951  +
Host:example.amazonaws.com
         952  +
X-Amz-Date:20150830T123600Z
         953  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         954  +
 1395    955   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1396    956   
new file mode 100644
 1397    957   
index 0000000..4f45752
 1398         -
-- /dev/null
         958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1399    959   
@@ -0,0 +1,4 @@
         960  +
AWS4-HMAC-SHA256
         961  +
20150830T123600Z
         962  +
20150830/us-east-1/service/aws4_request
         963  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1400    964   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1401    965   
new file mode 100644
 1402    966   
index 0000000..e1fb07d
 1403         -
-- /dev/null
         967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1404    968   
@@ -0,0 +1,7 @@
         969  +
GET
         970  +
/example1/example2/../..
         971  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
         972  +
host:example.amazonaws.com
         973  +
         974  +
host
         975  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1405    976   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1406    977   
new file mode 100644
 1407    978   
index 0000000..8ac31d7
 1408         -
-- /dev/null
         979  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1409    980   
@@ -0,0 +1 @@
         981  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1410    982   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1411    983   
new file mode 100644
 1412    984   
index 0000000..ac074f9
 1413         -
-- /dev/null
         985  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1414    986   
@@ -0,0 +1,3 @@
         987  +
GET /example1/example2/../..?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16 HTTP/1.1
         988  +
Host:example.amazonaws.com
         989  +
 1415    990   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1416    991   
new file mode 100644
 1417    992   
index 0000000..8dcb6ff
 1418         -
-- /dev/null
         993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1419    994   
@@ -0,0 +1,4 @@
         995  +
AWS4-HMAC-SHA256
         996  +
20150830T123600Z
         997  +
20150830/us-east-1/service/aws4_request
         998  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1420    999   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1421   1000   
similarity index 100%
 1422   1001   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1423   1002   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1424   1003   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1425   1004   
similarity index 99%
 1426   1005   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1427   1006   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1428   1007   
index afe367b..7bee5c7 100644
 1429         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
        1008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1430   1009   
@@ -1,12 +1,12 @@
 1431   1010   
{
 1432   1011   
    "credentials": {
 1433   1012   
        "access_key_id": "AKIDEXAMPLE",
 1434   1013   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1435   1014   
    },
 1436   1015   
    "expiration_in_seconds": 3600,
 1437   1016   
    "normalize": false,
 1438   1017   
    "region": "us-east-1",
 1439   1018   
    "service": "service",
 1440   1019   
    "sign_body": false,
 1441   1020   
    "timestamp": "2015-08-30T12:36:00Z"
 1442         -
}
        1021  +
}
              \
 No newline at end of file
 1443   1022   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1444   1023   
similarity index 82%
 1445   1024   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.creq
 1446   1025   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1447   1026   
index 26898eb..f640bc2 100644
 1448         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.creq
        1027  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1449   1028   
@@ -1,8 +1,8 @@
 1450   1029   
GET
 1451         -
/
 1452         -
Param1=value1&Param1=value2
        1030  +
/example/..
        1031  +
 1453   1032   
host:example.amazonaws.com
 1454   1033   
x-amz-date:20150830T123600Z
 1455   1034   
 1456   1035   
host;x-amz-date
 1457   1036   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1458   1037   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1459   1038   
new file mode 100644
 1460   1039   
index 0000000..d957303
 1461         -
-- /dev/null
        1040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1462   1041   
@@ -0,0 +1 @@
        1042  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1463   1043   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1464   1044   
new file mode 100644
 1465   1045   
index 0000000..4f42ffc
 1466         -
-- /dev/null
        1046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1467   1047   
@@ -0,0 +1,5 @@
        1048  +
GET /example/.. HTTP/1.1
        1049  +
Host:example.amazonaws.com
        1050  +
X-Amz-Date:20150830T123600Z
        1051  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
        1052  +
 1468   1053   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1469   1054   
new file mode 100644
 1470   1055   
index 0000000..ca54bda
 1471         -
-- /dev/null
        1056  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1472   1057   
@@ -0,0 +1,4 @@
        1058  +
AWS4-HMAC-SHA256
        1059  +
20150830T123600Z
        1060  +
20150830/us-east-1/service/aws4_request
        1061  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1473   1062   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1474   1063   
new file mode 100644
 1475   1064   
index 0000000..dc80036
 1476         -
-- /dev/null
        1065  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1477   1066   
@@ -0,0 +1,7 @@
        1067  +
GET
        1068  +
/example/..
        1069  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1070  +
host:example.amazonaws.com
        1071  +
        1072  +
host
        1073  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1478   1074   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1479   1075   
new file mode 100644
 1480   1076   
index 0000000..dfa0437
 1481         -
-- /dev/null
        1077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1482   1078   
@@ -0,0 +1 @@
        1079  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1483   1080   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1484   1081   
new file mode 100644
 1485   1082   
index 0000000..98367b1
 1486         -
-- /dev/null
        1083  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1487   1084   
@@ -0,0 +1,3 @@
        1085  +
GET /example/..?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee HTTP/1.1
        1086  +
Host:example.amazonaws.com
        1087  +
 1488   1088   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1489   1089   
new file mode 100644
 1490   1090   
index 0000000..f65dd66
 1491         -
-- /dev/null
        1091  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1492   1092   
@@ -0,0 +1,4 @@
        1093  +
AWS4-HMAC-SHA256
        1094  +
20150830T123600Z
        1095  +
20150830/us-east-1/service/aws4_request
        1096  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1493   1097   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1494   1098   
similarity index 100%
 1495   1099   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1496   1100   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1497   1101   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1498   1102   
new file mode 100644
 1499   1103   
index 0000000..0468d80
 1500         -
-- /dev/null
        1104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1501   1105   
@@ -0,0 +1,12 @@
        1106  +
{
        1107  +
    "credentials": {
        1108  +
        "access_key_id": "AKIDEXAMPLE",
        1109  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1110  +
    },
        1111  +
    "expiration_in_seconds": 3600,
        1112  +
    "normalize": true,
        1113  +
    "region": "us-east-1",
        1114  +
    "service": "service",
        1115  +
    "sign_body": false,
        1116  +
    "timestamp": "2015-08-30T12:36:00Z"
        1117  +
}
              \
 No newline at end of file
 1502   1118   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1503   1119   
similarity index 100%
 1504   1120   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1505   1121   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1506   1122   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1507   1123   
new file mode 100644
 1508   1124   
index 0000000..87f295f
 1509         -
-- /dev/null
        1125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1510   1126   
@@ -0,0 +1 @@
        1127  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1511   1128   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1512   1129   
new file mode 100644
 1513   1130   
index 0000000..99c8eeb
 1514         -
-- /dev/null
        1131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1515   1132   
@@ -0,0 +1,5 @@
        1133  +
GET /./ HTTP/1.1
        1134  +
Host:example.amazonaws.com
        1135  +
X-Amz-Date:20150830T123600Z
        1136  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1137  +
 1516   1138   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-string-to-sign.txt
 1517   1139   
similarity index 100%
 1518   1140   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1519   1141   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-string-to-sign.txt
 1520   1142   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1521   1143   
new file mode 100644
 1522   1144   
index 0000000..fb2420d
 1523         -
-- /dev/null
        1145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1524   1146   
@@ -0,0 +1,7 @@
        1147  +
GET
        1148  +
/
        1149  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1150  +
host:example.amazonaws.com
        1151  +
        1152  +
host
        1153  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1525   1154   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1526   1155   
new file mode 100644
 1527   1156   
index 0000000..da5c905
 1528         -
-- /dev/null
        1157  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1529   1158   
@@ -0,0 +1 @@
        1159  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1530   1160   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1531   1161   
new file mode 100644
 1532   1162   
index 0000000..2e47f69
 1533         -
-- /dev/null
        1163  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1534   1164   
@@ -0,0 +1,3 @@
        1165  +
GET /./?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
        1166  +
Host:example.amazonaws.com
        1167  +
 1535   1168   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1536   1169   
new file mode 100644
 1537   1170   
index 0000000..d837e67
 1538         -
-- /dev/null
        1171  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1539   1172   
@@ -0,0 +1,4 @@
        1173  +
AWS4-HMAC-SHA256
        1174  +
20150830T123600Z
        1175  +
20150830/us-east-1/service/aws4_request
        1176  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1540   1177   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1541   1178   
similarity index 100%
 1542   1179   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1543   1180   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1544   1181   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1545   1182   
similarity index 99%
 1546   1183   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1547   1184   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1548   1185   
index afe367b..7bee5c7 100644
 1549         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
        1186  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1550   1187   
@@ -1,12 +1,12 @@
 1551   1188   
{
 1552   1189   
    "credentials": {
 1553   1190   
        "access_key_id": "AKIDEXAMPLE",
 1554   1191   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1555   1192   
    },
 1556   1193   
    "expiration_in_seconds": 3600,
 1557   1194   
    "normalize": false,
 1558   1195   
    "region": "us-east-1",
 1559   1196   
    "service": "service",
 1560   1197   
    "sign_body": false,
 1561   1198   
    "timestamp": "2015-08-30T12:36:00Z"
 1562         -
}
        1199  +
}
              \
 No newline at end of file
 1563   1200   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1564   1201   
new file mode 100644
 1565   1202   
index 0000000..5159048
 1566         -
-- /dev/null
        1203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1567   1204   
@@ -0,0 +1,8 @@
        1205  +
GET
        1206  +
/./
        1207  +
        1208  +
host:example.amazonaws.com
        1209  +
x-amz-date:20150830T123600Z
        1210  +
        1211  +
host;x-amz-date
        1212  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1568   1213   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1569   1214   
new file mode 100644
 1570   1215   
index 0000000..b49ff0e
 1571         -
-- /dev/null
        1216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1572   1217   
@@ -0,0 +1 @@
        1218  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1573   1219   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1574   1220   
new file mode 100644
 1575   1221   
index 0000000..aeb1ffa
 1576         -
-- /dev/null
        1222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1577   1223   
@@ -0,0 +1,5 @@
        1224  +
GET /./ HTTP/1.1
        1225  +
Host:example.amazonaws.com
        1226  +
X-Amz-Date:20150830T123600Z
        1227  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1228  +
 1578   1229   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1579   1230   
new file mode 100644
 1580   1231   
index 0000000..b7d8caf
 1581         -
-- /dev/null
        1232  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1582   1233   
@@ -0,0 +1,4 @@
        1234  +
AWS4-HMAC-SHA256
        1235  +
20150830T123600Z
        1236  +
20150830/us-east-1/service/aws4_request
        1237  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1583   1238   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1584   1239   
new file mode 100644
 1585   1240   
index 0000000..d4e029e
 1586         -
-- /dev/null
        1241  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1587   1242   
@@ -0,0 +1,7 @@
        1243  +
GET
        1244  +
/./
        1245  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1246  +
host:example.amazonaws.com
        1247  +
        1248  +
host
        1249  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1588   1250   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1589   1251   
new file mode 100644
 1590   1252   
index 0000000..fe8f4cc
 1591         -
-- /dev/null
        1253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1592   1254   
@@ -0,0 +1 @@
        1255  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1593   1256   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1594   1257   
new file mode 100644
 1595   1258   
index 0000000..dcc4fc4
 1596         -
-- /dev/null
        1259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1597   1260   
@@ -0,0 +1,3 @@
        1261  +
GET /./?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c HTTP/1.1
        1262  +
Host:example.amazonaws.com
        1263  +
 1598   1264   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1599   1265   
new file mode 100644
 1600   1266   
index 0000000..5fb3ada
 1601         -
-- /dev/null
        1267  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1602   1268   
@@ -0,0 +1,4 @@
        1269  +
AWS4-HMAC-SHA256
        1270  +
20150830T123600Z
        1271  +
20150830/us-east-1/service/aws4_request
        1272  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1603   1273   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1604   1274   
similarity index 100%
 1605   1275   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1606   1276   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1607   1277   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1608   1278   
new file mode 100644
 1609   1279   
index 0000000..0468d80
 1610         -
-- /dev/null
        1280  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1611   1281   
@@ -0,0 +1,12 @@
        1282  +
{
        1283  +
    "credentials": {
        1284  +
        "access_key_id": "AKIDEXAMPLE",
        1285  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1286  +
    },
        1287  +
    "expiration_in_seconds": 3600,
        1288  +
    "normalize": true,
        1289  +
    "region": "us-east-1",
        1290  +
    "service": "service",
        1291  +
    "sign_body": false,
        1292  +
    "timestamp": "2015-08-30T12:36:00Z"
        1293  +
}
              \
 No newline at end of file
 1612   1294   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1613   1295   
similarity index 100%
 1614   1296   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1615   1297   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1616   1298   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1617   1299   
new file mode 100644
 1618   1300   
index 0000000..87f295f
 1619         -
-- /dev/null
        1301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1620   1302   
@@ -0,0 +1 @@
        1303  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1621   1304   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1622   1305   
new file mode 100644
 1623   1306   
index 0000000..b91087b
 1624         -
-- /dev/null
        1307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1625   1308   
@@ -0,0 +1,5 @@
        1309  +
GET // HTTP/1.1
        1310  +
Host:example.amazonaws.com
        1311  +
X-Amz-Date:20150830T123600Z
        1312  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1313  +
 1626   1314   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1627   1315   
similarity index 100%
 1628   1316   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1629   1317   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1630   1318   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1631   1319   
new file mode 100644
 1632   1320   
index 0000000..fb2420d
 1633         -
-- /dev/null
        1321  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1634   1322   
@@ -0,0 +1,7 @@
        1323  +
GET
        1324  +
/
        1325  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1326  +
host:example.amazonaws.com
        1327  +
        1328  +
host
        1329  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1635   1330   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1636   1331   
new file mode 100644
 1637   1332   
index 0000000..da5c905
 1638         -
-- /dev/null
        1333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1639   1334   
@@ -0,0 +1 @@
        1335  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1640   1336   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1641   1337   
new file mode 100644
 1642   1338   
index 0000000..0290ba4
 1643         -
-- /dev/null
        1339  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1644   1340   
@@ -0,0 +1,3 @@
        1341  +
GET //?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
        1342  +
Host:example.amazonaws.com
        1343  +
 1645   1344   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1646   1345   
new file mode 100644
 1647   1346   
index 0000000..d837e67
 1648         -
-- /dev/null
        1347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1649   1348   
@@ -0,0 +1,4 @@
        1349  +
AWS4-HMAC-SHA256
        1350  +
20150830T123600Z
        1351  +
20150830/us-east-1/service/aws4_request
        1352  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1650   1353   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1651   1354   
similarity index 100%
 1652   1355   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1653   1356   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1654   1357   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1655   1358   
new file mode 100644
 1656   1359   
index 0000000..0468d80
 1657         -
-- /dev/null
        1360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1658   1361   
@@ -0,0 +1,12 @@
        1362  +
{
        1363  +
    "credentials": {
        1364  +
        "access_key_id": "AKIDEXAMPLE",
        1365  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1366  +
    },
        1367  +
    "expiration_in_seconds": 3600,
        1368  +
    "normalize": true,
        1369  +
    "region": "us-east-1",
        1370  +
    "service": "service",
        1371  +
    "sign_body": false,
        1372  +
    "timestamp": "2015-08-30T12:36:00Z"
        1373  +
}
              \
 No newline at end of file
 1659   1374   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1660   1375   
similarity index 100%
 1661   1376   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq
 1662   1377   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1663   1378   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1664   1379   
new file mode 100644
 1665   1380   
index 0000000..8f892bf
 1666         -
-- /dev/null
        1381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1667   1382   
@@ -0,0 +1 @@
        1383  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1668   1384   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1669   1385   
new file mode 100644
 1670   1386   
index 0000000..2a1895c
 1671         -
-- /dev/null
        1387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1672   1388   
@@ -0,0 +1,5 @@
        1389  +
GET /./example HTTP/1.1
        1390  +
Host:example.amazonaws.com
        1391  +
X-Amz-Date:20150830T123600Z
        1392  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1393  +
 1673   1394   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 1674   1395   
similarity index 100%
 1675   1396   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.sts
 1676   1397   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 1677   1398   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1678   1399   
new file mode 100644
 1679   1400   
index 0000000..99dfc2a
 1680         -
-- /dev/null
        1401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1681   1402   
@@ -0,0 +1,7 @@
        1403  +
GET
        1404  +
/example
        1405  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1406  +
host:example.amazonaws.com
        1407  +
        1408  +
host
        1409  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1682   1410   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1683   1411   
new file mode 100644
 1684   1412   
index 0000000..fcd7a17
 1685         -
-- /dev/null
        1413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1686   1414   
@@ -0,0 +1 @@
        1415  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1687   1416   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1688   1417   
new file mode 100644
 1689   1418   
index 0000000..f671de2
 1690         -
-- /dev/null
        1419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1691   1420   
@@ -0,0 +1,3 @@
        1421  +
GET /./example?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de HTTP/1.1
        1422  +
Host:example.amazonaws.com
        1423  +
 1692   1424   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1693   1425   
new file mode 100644
 1694   1426   
index 0000000..f8456dc
 1695         -
-- /dev/null
        1427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1696   1428   
@@ -0,0 +1,4 @@
        1429  +
AWS4-HMAC-SHA256
        1430  +
20150830T123600Z
        1431  +
20150830/us-east-1/service/aws4_request
        1432  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1697   1433   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1698   1434   
similarity index 100%
 1699   1435   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1700   1436   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1701   1437   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1702   1438   
similarity index 99%
 1703   1439   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1704   1440   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1705   1441   
index afe367b..7bee5c7 100644
 1706         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
        1442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1707   1443   
@@ -1,12 +1,12 @@
 1708   1444   
{
 1709   1445   
    "credentials": {
 1710   1446   
        "access_key_id": "AKIDEXAMPLE",
 1711   1447   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1712   1448   
    },
 1713   1449   
    "expiration_in_seconds": 3600,
 1714   1450   
    "normalize": false,
 1715   1451   
    "region": "us-east-1",
 1716   1452   
    "service": "service",
 1717   1453   
    "sign_body": false,
 1718   1454   
    "timestamp": "2015-08-30T12:36:00Z"
 1719         -
}
        1455  +
}
              \
 No newline at end of file
 1720   1456   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1721   1457   
new file mode 100644
 1722   1458   
index 0000000..36698c7
 1723         -
-- /dev/null
        1459  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1724   1460   
@@ -0,0 +1,8 @@
        1461  +
GET
        1462  +
/./example
        1463  +
        1464  +
host:example.amazonaws.com
        1465  +
x-amz-date:20150830T123600Z
        1466  +
        1467  +
host;x-amz-date
        1468  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1725   1469   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1726   1470   
new file mode 100644
 1727   1471   
index 0000000..4a4b8f2
 1728         -
-- /dev/null
        1472  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1729   1473   
@@ -0,0 +1 @@
        1474  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1730   1475   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1731   1476   
new file mode 100644
 1732   1477   
index 0000000..d462bcd
 1733         -
-- /dev/null
        1478  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1734   1479   
@@ -0,0 +1,5 @@
        1480  +
GET /./example HTTP/1.1
        1481  +
Host:example.amazonaws.com
        1482  +
X-Amz-Date:20150830T123600Z
        1483  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1484  +
 1735   1485   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1736   1486   
new file mode 100644
 1737   1487   
index 0000000..8be78c9
 1738         -
-- /dev/null
        1488  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1739   1489   
@@ -0,0 +1,4 @@
        1490  +
AWS4-HMAC-SHA256
        1491  +
20150830T123600Z
        1492  +
20150830/us-east-1/service/aws4_request
        1493  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1740   1494   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1741   1495   
new file mode 100644
 1742   1496   
index 0000000..fe1103c
 1743         -
-- /dev/null
        1497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1744   1498   
@@ -0,0 +1,7 @@
        1499  +
GET
        1500  +
/./example
        1501  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1502  +
host:example.amazonaws.com
        1503  +
        1504  +
host
        1505  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1745   1506   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1746   1507   
new file mode 100644
 1747   1508   
index 0000000..ce80762
 1748         -
-- /dev/null
        1509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1749   1510   
@@ -0,0 +1 @@
        1511  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1750   1512   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1751   1513   
new file mode 100644
 1752   1514   
index 0000000..30841a6
 1753         -
-- /dev/null
        1515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1754   1516   
@@ -0,0 +1,3 @@
        1517  +
GET /./example?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10 HTTP/1.1
        1518  +
Host:example.amazonaws.com
        1519  +
 1755   1520   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1756   1521   
new file mode 100644
 1757   1522   
index 0000000..5c66509
 1758         -
-- /dev/null
        1523  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1759   1524   
@@ -0,0 +1,4 @@
        1525  +
AWS4-HMAC-SHA256
        1526  +
20150830T123600Z
        1527  +
20150830/us-east-1/service/aws4_request
        1528  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1760   1529   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1761   1530   
similarity index 100%
 1762   1531   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1763   1532   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1764   1533   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1765   1534   
new file mode 100644
 1766   1535   
index 0000000..7bee5c7
 1767         -
-- /dev/null
        1536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1768   1537   
@@ -0,0 +1,12 @@
        1538  +
{
        1539  +
    "credentials": {
        1540  +
        "access_key_id": "AKIDEXAMPLE",
        1541  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1542  +
    },
        1543  +
    "expiration_in_seconds": 3600,
        1544  +
    "normalize": false,
        1545  +
    "region": "us-east-1",
        1546  +
    "service": "service",
        1547  +
    "sign_body": false,
        1548  +
    "timestamp": "2015-08-30T12:36:00Z"
        1549  +
}
              \
 No newline at end of file
 1769   1550   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1770   1551   
new file mode 100644
 1771   1552   
index 0000000..5860c8a
 1772         -
-- /dev/null
        1553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1773   1554   
@@ -0,0 +1,8 @@
        1555  +
GET
        1556  +
//
        1557  +
        1558  +
host:example.amazonaws.com
        1559  +
x-amz-date:20150830T123600Z
        1560  +
        1561  +
host;x-amz-date
        1562  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1774   1563   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1775   1564   
new file mode 100644
 1776   1565   
index 0000000..8310471
 1777         -
-- /dev/null
        1566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1778   1567   
@@ -0,0 +1 @@
        1568  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1779   1569   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1780   1570   
new file mode 100644
 1781   1571   
index 0000000..2a7afef
 1782         -
-- /dev/null
        1572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1783   1573   
@@ -0,0 +1,5 @@
        1574  +
GET // HTTP/1.1
        1575  +
Host:example.amazonaws.com
        1576  +
X-Amz-Date:20150830T123600Z
        1577  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1578  +
 1784   1579   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1785   1580   
new file mode 100644
 1786   1581   
index 0000000..06059dd
 1787         -
-- /dev/null
        1582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1788   1583   
@@ -0,0 +1,4 @@
        1584  +
AWS4-HMAC-SHA256
        1585  +
20150830T123600Z
        1586  +
20150830/us-east-1/service/aws4_request
        1587  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1789   1588   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1790   1589   
new file mode 100644
 1791   1590   
index 0000000..6d63aef
 1792         -
-- /dev/null
        1591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1793   1592   
@@ -0,0 +1,7 @@
        1593  +
GET
        1594  +
//
        1595  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1596  +
host:example.amazonaws.com
        1597  +
        1598  +
host
        1599  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1794   1600   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1795   1601   
new file mode 100644
 1796   1602   
index 0000000..e5b7b6c
 1797         -
-- /dev/null
        1603  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1798   1604   
@@ -0,0 +1 @@
        1605  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1799   1606   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1800   1607   
new file mode 100644
 1801   1608   
index 0000000..46fe3fd
 1802         -
-- /dev/null
        1609  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1803   1610   
@@ -0,0 +1,3 @@
        1611  +
GET //?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd HTTP/1.1
        1612  +
Host:example.amazonaws.com
        1613  +
 1804   1614   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1805   1615   
new file mode 100644
 1806   1616   
index 0000000..ea79940
 1807         -
-- /dev/null
        1617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1808   1618   
@@ -0,0 +1,4 @@
        1619  +
AWS4-HMAC-SHA256
        1620  +
20150830T123600Z
        1621  +
20150830/us-east-1/service/aws4_request
        1622  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1809   1623   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1810   1624   
similarity index 100%
 1811   1625   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1812   1626   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1813   1627   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1814   1628   
new file mode 100644
 1815   1629   
index 0000000..0468d80
 1816         -
-- /dev/null
        1630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1817   1631   
@@ -0,0 +1,12 @@
        1632  +
{
        1633  +
    "credentials": {
        1634  +
        "access_key_id": "AKIDEXAMPLE",
        1635  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1636  +
    },
        1637  +
    "expiration_in_seconds": 3600,
        1638  +
    "normalize": true,
        1639  +
    "region": "us-east-1",
        1640  +
    "service": "service",
        1641  +
    "sign_body": false,
        1642  +
    "timestamp": "2015-08-30T12:36:00Z"
        1643  +
}
              \
 No newline at end of file
 1818   1644   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1819   1645   
similarity index 100%
 1820   1646   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1821   1647   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1822   1648   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1823   1649   
new file mode 100644
 1824   1650   
index 0000000..71c7bac
 1825         -
-- /dev/null
        1651  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1826   1652   
@@ -0,0 +1 @@
        1653  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1827   1654   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1828   1655   
new file mode 100644
 1829   1656   
index 0000000..0add1f1
 1830         -
-- /dev/null
        1657  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1831   1658   
@@ -0,0 +1,5 @@
        1659  +
GET //example// HTTP/1.1
        1660  +
Host:example.amazonaws.com
        1661  +
X-Amz-Date:20150830T123600Z
        1662  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1663  +
 1832   1664   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1833   1665   
similarity index 100%
 1834   1666   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1835   1667   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1836   1668   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1837   1669   
new file mode 100644
 1838   1670   
index 0000000..ce72510
 1839         -
-- /dev/null
        1671  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1840   1672   
@@ -0,0 +1,7 @@
        1673  +
GET
        1674  +
/example/
        1675  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1676  +
host:example.amazonaws.com
        1677  +
        1678  +
host
        1679  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1841   1680   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1842   1681   
new file mode 100644
 1843   1682   
index 0000000..265f387
 1844         -
-- /dev/null
        1683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1845   1684   
@@ -0,0 +1 @@
        1685  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1846   1686   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1847   1687   
new file mode 100644
 1848   1688   
index 0000000..e1fcb2e
 1849         -
-- /dev/null
        1689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1850   1690   
@@ -0,0 +1,3 @@
        1691  +
GET //example//?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082 HTTP/1.1
        1692  +
Host:example.amazonaws.com
        1693  +
 1851   1694   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1852   1695   
new file mode 100644
 1853   1696   
index 0000000..a14de61
 1854         -
-- /dev/null
        1697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1855   1698   
@@ -0,0 +1,4 @@
        1699  +
AWS4-HMAC-SHA256
        1700  +
20150830T123600Z
        1701  +
20150830/us-east-1/service/aws4_request
        1702  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1856   1703   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1857   1704   
similarity index 100%
 1858   1705   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1859   1706   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1860   1707   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1861   1708   
new file mode 100644
 1862   1709   
index 0000000..7bee5c7
 1863         -
-- /dev/null
        1710  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1864   1711   
@@ -0,0 +1,12 @@
        1712  +
{
        1713  +
    "credentials": {
        1714  +
        "access_key_id": "AKIDEXAMPLE",
        1715  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1716  +
    },
        1717  +
    "expiration_in_seconds": 3600,
        1718  +
    "normalize": false,
        1719  +
    "region": "us-east-1",
        1720  +
    "service": "service",
        1721  +
    "sign_body": false,
        1722  +
    "timestamp": "2015-08-30T12:36:00Z"
        1723  +
}
              \
 No newline at end of file
 1865   1724   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1866   1725   
new file mode 100644
 1867   1726   
index 0000000..dfffaaf
 1868         -
-- /dev/null
        1727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1869   1728   
@@ -0,0 +1,8 @@
        1729  +
GET
        1730  +
//example//
        1731  +
        1732  +
host:example.amazonaws.com
        1733  +
x-amz-date:20150830T123600Z
        1734  +
        1735  +
host;x-amz-date
        1736  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1870   1737   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1871   1738   
new file mode 100644
 1872   1739   
index 0000000..edbcc0d
 1873         -
-- /dev/null
        1740  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1874   1741   
@@ -0,0 +1 @@
        1742  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1875   1743   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1876   1744   
new file mode 100644
 1877   1745   
index 0000000..4cc12dd
 1878         -
-- /dev/null
        1746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1879   1747   
@@ -0,0 +1,5 @@
        1748  +
GET //example// HTTP/1.1
        1749  +
Host:example.amazonaws.com
        1750  +
X-Amz-Date:20150830T123600Z
        1751  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1752  +
 1880   1753   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1881   1754   
new file mode 100644
 1882   1755   
index 0000000..3eba390
 1883         -
-- /dev/null
        1756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1884   1757   
@@ -0,0 +1,4 @@
        1758  +
AWS4-HMAC-SHA256
        1759  +
20150830T123600Z
        1760  +
20150830/us-east-1/service/aws4_request
        1761  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1885   1762   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1886   1763   
new file mode 100644
 1887   1764   
index 0000000..f7844e3
 1888         -
-- /dev/null
        1765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1889   1766   
@@ -0,0 +1,7 @@
        1767  +
GET
        1768  +
//example//
        1769  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1770  +
host:example.amazonaws.com
        1771  +
        1772  +
host
        1773  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1890   1774   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1891   1775   
new file mode 100644
 1892   1776   
index 0000000..a8d6b96
 1893         -
-- /dev/null
        1777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1894   1778   
@@ -0,0 +1 @@
        1779  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1895   1780   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1896   1781   
new file mode 100644
 1897   1782   
index 0000000..a8322c6
 1898         -
-- /dev/null
        1783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1899   1784   
@@ -0,0 +1,3 @@
        1785  +
GET //example//?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2 HTTP/1.1
        1786  +
Host:example.amazonaws.com
        1787  +
 1900   1788   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1901   1789   
new file mode 100644
 1902   1790   
index 0000000..068724d
 1903         -
-- /dev/null
        1791  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1904   1792   
@@ -0,0 +1,4 @@
        1793  +
AWS4-HMAC-SHA256
        1794  +
20150830T123600Z
        1795  +
20150830/us-east-1/service/aws4_request
        1796  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1905   1797   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1906   1798   
similarity index 100%
 1907   1799   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1908   1800   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1909   1801   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1910   1802   
new file mode 100644
 1911   1803   
index 0000000..0468d80
 1912         -
-- /dev/null
        1804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1913   1805   
@@ -0,0 +1,12 @@
        1806  +
{
        1807  +
    "credentials": {
        1808  +
        "access_key_id": "AKIDEXAMPLE",
        1809  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1810  +
    },
        1811  +
    "expiration_in_seconds": 3600,
        1812  +
    "normalize": true,
        1813  +
    "region": "us-east-1",
        1814  +
    "service": "service",
        1815  +
    "sign_body": false,
        1816  +
    "timestamp": "2015-08-30T12:36:00Z"
        1817  +
}
              \
 No newline at end of file
 1914   1818   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1915   1819   
similarity index 100%
 1916   1820   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1917   1821   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1918   1822   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1919   1823   
new file mode 100644
 1920   1824   
index 0000000..f63892b
 1921         -
-- /dev/null
        1825  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1922   1826   
@@ -0,0 +1 @@
        1827  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1923   1828   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1924   1829   
new file mode 100644
 1925   1830   
index 0000000..19cd5cb
 1926         -
-- /dev/null
        1831  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1927   1832   
@@ -0,0 +1,5 @@
        1833  +
GET /example space/ HTTP/1.1
        1834  +
Host:example.amazonaws.com
        1835  +
X-Amz-Date:20150830T123600Z
        1836  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1837  +
 1928   1838   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1929   1839   
similarity index 100%
 1930   1840   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1931   1841   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1932   1842   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1933   1843   
new file mode 100644
 1934   1844   
index 0000000..fa3d3e2
 1935         -
-- /dev/null
        1845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1936   1846   
@@ -0,0 +1,7 @@
        1847  +
GET
        1848  +
/example%20space/
        1849  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1850  +
host:example.amazonaws.com
        1851  +
        1852  +
host
        1853  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1937   1854   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1938   1855   
new file mode 100644
 1939   1856   
index 0000000..5b2e204
 1940         -
-- /dev/null
        1857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1941   1858   
@@ -0,0 +1 @@
        1859  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1942   1860   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1943   1861   
new file mode 100644
 1944   1862   
index 0000000..93ca1d0
 1945         -
-- /dev/null
        1863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1946   1864   
@@ -0,0 +1,3 @@
        1865  +
GET /example space/?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6 HTTP/1.1
        1866  +
Host:example.amazonaws.com
        1867  +
 1947   1868   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1948   1869   
new file mode 100644
 1949   1870   
index 0000000..b4cb789
 1950         -
-- /dev/null
        1871  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1951   1872   
@@ -0,0 +1,4 @@
        1873  +
AWS4-HMAC-SHA256
        1874  +
20150830T123600Z
        1875  +
20150830/us-east-1/service/aws4_request
        1876  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1952   1877   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1953   1878   
new file mode 100644
 1954   1879   
index 0000000..860a277
 1955         -
-- /dev/null
        1880  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1956   1881   
@@ -0,0 +1,2 @@
        1882  +
GET /example%20space/ HTTP/1.1
        1883  +
Host:example.amazonaws.com
 1957   1884   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1958   1885   
new file mode 100644
 1959   1886   
index 0000000..7bee5c7
 1960         -
-- /dev/null
        1887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1961   1888   
@@ -0,0 +1,12 @@
        1889  +
{
        1890  +
    "credentials": {
        1891  +
        "access_key_id": "AKIDEXAMPLE",
        1892  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1893  +
    },
        1894  +
    "expiration_in_seconds": 3600,
        1895  +
    "normalize": false,
        1896  +
    "region": "us-east-1",
        1897  +
    "service": "service",
        1898  +
    "sign_body": false,
        1899  +
    "timestamp": "2015-08-30T12:36:00Z"
        1900  +
}
              \
 No newline at end of file
 1962   1901   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1963   1902   
similarity index 66%
 1964   1903   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.creq
 1965   1904   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1966   1905   
index 71dc981..124a709 100644
 1967         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.creq
        1906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1968   1907   
@@ -1,9 +1,8 @@
 1969         -
POST
 1970         -
/
        1908  +
GET
        1909  +
/example%20space/
 1971   1910   
 1972         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1973   1911   
host:example.amazonaws.com
 1974   1912   
x-amz-date:20150830T123600Z
 1975   1913   
 1976   1914   
host;x-amz-date
 1977   1915   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1978   1916   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1979   1917   
new file mode 100644
 1980   1918   
index 0000000..f63892b
 1981         -
-- /dev/null
        1919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1982   1920   
@@ -0,0 +1 @@
        1921  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1983   1922   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1984   1923   
new file mode 100644
 1985   1924   
index 0000000..19cd5cb
 1986         -
-- /dev/null
        1925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1987   1926   
@@ -0,0 +1,5 @@
        1927  +
GET /example space/ HTTP/1.1
        1928  +
Host:example.amazonaws.com
        1929  +
X-Amz-Date:20150830T123600Z
        1930  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1931  +
 1988   1932   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1989   1933   
new file mode 100644
 1990   1934   
index 0000000..a633f0c
 1991         -
-- /dev/null
        1935  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1992   1936   
@@ -0,0 +1,4 @@
        1937  +
AWS4-HMAC-SHA256
        1938  +
20150830T123600Z
        1939  +
20150830/us-east-1/service/aws4_request
        1940  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1993   1941   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1994   1942   
new file mode 100644
 1995   1943   
index 0000000..fa3d3e2
 1996         -
-- /dev/null
        1944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1997   1945   
@@ -0,0 +1,7 @@
        1946  +
GET
        1947  +
/example%20space/
        1948  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        1949  +
host:example.amazonaws.com
        1950  +
        1951  +
host
        1952  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1998   1953   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1999   1954   
new file mode 100644
 2000   1955   
index 0000000..5b2e204
 2001         -
-- /dev/null
        1956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 2002   1957   
@@ -0,0 +1 @@
        1958  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 2003   1959   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 2004   1960   
new file mode 100644
 2005   1961   
index 0000000..93ca1d0
 2006         -
-- /dev/null
        1962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 2007   1963   
@@ -0,0 +1,3 @@
        1964  +
GET /example space/?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6 HTTP/1.1
        1965  +
Host:example.amazonaws.com
        1966  +
 2008   1967   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 2009   1968   
new file mode 100644
 2010   1969   
index 0000000..b4cb789
 2011         -
-- /dev/null
        1970  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 2012   1971   
@@ -0,0 +1,4 @@
        1972  +
AWS4-HMAC-SHA256
        1973  +
20150830T123600Z
        1974  +
20150830/us-east-1/service/aws4_request
        1975  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 2013   1976   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2014   1977   
similarity index 67%
 2015   1978   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 2016   1979   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2017   1980   
index b7d5e8b..ab509ab 100644
 2018         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1981  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2019   1982   
@@ -1,3 +1,2 @@
 2020   1983   
GET /example space/ HTTP/1.1
 2021   1984   
Host:example.amazonaws.com
 2022         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2023   1985   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 2024   1986   
new file mode 100644
 2025   1987   
index 0000000..0468d80
 2026         -
-- /dev/null
        1988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 2027   1989   
@@ -0,0 +1,12 @@
        1990  +
{
        1991  +
    "credentials": {
        1992  +
        "access_key_id": "AKIDEXAMPLE",
        1993  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1994  +
    },
        1995  +
    "expiration_in_seconds": 3600,
        1996  +
    "normalize": true,
        1997  +
    "region": "us-east-1",
        1998  +
    "service": "service",
        1999  +
    "sign_body": false,
        2000  +
    "timestamp": "2015-08-30T12:36:00Z"
        2001  +
}
              \
 No newline at end of file
 2028   2002   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 2029   2003   
similarity index 100%
 2030   2004   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 2031   2005   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 2032   2006   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 2033   2007   
new file mode 100644
 2034   2008   
index 0000000..e503354
 2035         -
-- /dev/null
        2009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 2036   2010   
@@ -0,0 +1 @@
        2011  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 2037   2012   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 2038   2013   
new file mode 100644
 2039   2014   
index 0000000..4367892
 2040         -
-- /dev/null
        2015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 2041   2016   
@@ -0,0 +1,5 @@
        2017  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        2018  +
Host:example.amazonaws.com
        2019  +
X-Amz-Date:20150830T123600Z
        2020  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        2021  +
 2042   2022   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 2043   2023   
similarity index 100%
 2044   2024   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 2045   2025   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 2046   2026   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 2047   2027   
new file mode 100644
 2048   2028   
index 0000000..d7f0696
 2049         -
-- /dev/null
        2029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 2050   2030   
@@ -0,0 +1,7 @@
        2031  +
GET
        2032  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        2033  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2034  +
host:example.amazonaws.com
        2035  +
        2036  +
host
        2037  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2051   2038   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 2052   2039   
new file mode 100644
 2053   2040   
index 0000000..509e972
 2054         -
-- /dev/null
        2041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 2055   2042   
@@ -0,0 +1 @@
        2043  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 2056   2044   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 2057   2045   
new file mode 100644
 2058   2046   
index 0000000..79aad36
 2059         -
-- /dev/null
        2047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 2060   2048   
@@ -0,0 +1,3 @@
        2049  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005 HTTP/1.1
        2050  +
Host:example.amazonaws.com
        2051  +
 2061   2052   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 2062   2053   
new file mode 100644
 2063   2054   
index 0000000..e8068b3
 2064         -
-- /dev/null
        2055  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 2065   2056   
@@ -0,0 +1,4 @@
        2057  +
AWS4-HMAC-SHA256
        2058  +
20150830T123600Z
        2059  +
20150830/us-east-1/service/aws4_request
        2060  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 2066   2061   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 2067   2062   
similarity index 100%
 2068   2063   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 2069   2064   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 2070   2065   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 2071   2066   
new file mode 100644
 2072   2067   
index 0000000..0468d80
 2073         -
-- /dev/null
        2068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 2074   2069   
@@ -0,0 +1,12 @@
        2070  +
{
        2071  +
    "credentials": {
        2072  +
        "access_key_id": "AKIDEXAMPLE",
        2073  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2074  +
    },
        2075  +
    "expiration_in_seconds": 3600,
        2076  +
    "normalize": true,
        2077  +
    "region": "us-east-1",
        2078  +
    "service": "service",
        2079  +
    "sign_body": false,
        2080  +
    "timestamp": "2015-08-30T12:36:00Z"
        2081  +
}
              \
 No newline at end of file
 2075   2082   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 2076   2083   
similarity index 100%
 2077   2084   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 2078   2085   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 2079   2086   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 2080   2087   
new file mode 100644
 2081   2088   
index 0000000..9a13676
 2082         -
-- /dev/null
        2089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 2083   2090   
@@ -0,0 +1 @@
        2091  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 2084   2092   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 2085   2093   
new file mode 100644
 2086   2094   
index 0000000..5aaf47c
 2087         -
-- /dev/null
        2095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 2088   2096   
@@ -0,0 +1,5 @@
        2097  +
GET /ሴ HTTP/1.1
        2098  +
Host:example.amazonaws.com
        2099  +
X-Amz-Date:20150830T123600Z
        2100  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        2101  +
 2089   2102   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 2090   2103   
similarity index 100%
 2091   2104   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 2092   2105   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 2093   2106   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 2094   2107   
new file mode 100644
 2095   2108   
index 0000000..bdb77c9
 2096         -
-- /dev/null
        2109  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 2097   2110   
@@ -0,0 +1,7 @@
        2111  +
GET
        2112  +
/%E1%88%B4
        2113  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2114  +
host:example.amazonaws.com
        2115  +
        2116  +
host
        2117  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2098   2118   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 2099   2119   
new file mode 100644
 2100   2120   
index 0000000..21342b3
 2101         -
-- /dev/null
        2121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 2102   2122   
@@ -0,0 +1 @@
        2123  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 2103   2124   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 2104   2125   
new file mode 100644
 2105   2126   
index 0000000..368c2ff
 2106         -
-- /dev/null
        2127  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 2107   2128   
@@ -0,0 +1,3 @@
        2129  +
GET /ሴ?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44 HTTP/1.1
        2130  +
Host:example.amazonaws.com
        2131  +
 2108   2132   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2109   2133   
new file mode 100644
 2110   2134   
index 0000000..56b8fbf
 2111         -
-- /dev/null
        2135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2112   2136   
@@ -0,0 +1,4 @@
        2137  +
AWS4-HMAC-SHA256
        2138  +
20150830T123600Z
        2139  +
20150830/us-east-1/service/aws4_request
        2140  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 2113   2141   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2114   2142   
similarity index 62%
 2115   2143   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 2116   2144   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2117   2145   
index da4808d..9e273f6 100644
 2118         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2146  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2119   2147   
@@ -1,3 +1,2 @@
 2120   2148   
GET /ሴ HTTP/1.1
 2121   2149   
Host:example.amazonaws.com
 2122         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2123   2150   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2124   2151   
new file mode 100644
 2125   2152   
index 0000000..0468d80
 2126         -
-- /dev/null
        2153  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2127   2154   
@@ -0,0 +1,12 @@
        2155  +
{
        2156  +
    "credentials": {
        2157  +
        "access_key_id": "AKIDEXAMPLE",
        2158  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2159  +
    },
        2160  +
    "expiration_in_seconds": 3600,
        2161  +
    "normalize": true,
        2162  +
    "region": "us-east-1",
        2163  +
    "service": "service",
        2164  +
    "sign_body": false,
        2165  +
    "timestamp": "2015-08-30T12:36:00Z"
        2166  +
}
              \
 No newline at end of file
 2128   2167   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2129   2168   
similarity index 100%
 2130   2169   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq
 2131   2170   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2132   2171   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2133   2172   
new file mode 100644
 2134   2173   
index 0000000..d7f1c1c
 2135         -
-- /dev/null
        2174  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2136   2175   
@@ -0,0 +1 @@
        2176  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2137   2177   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2138   2178   
new file mode 100644
 2139   2179   
index 0000000..1c60790
 2140         -
-- /dev/null
        2180  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2141   2181   
@@ -0,0 +1,5 @@
        2182  +
GET /?Param1=value1 HTTP/1.1
        2183  +
Host:example.amazonaws.com
        2184  +
X-Amz-Date:20150830T123600Z
        2185  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2186  +
 2142   2187   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-string-to-sign.txt
 2143   2188   
similarity index 100%
 2144   2189   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sts
 2145   2190   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-string-to-sign.txt
 2146   2191   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2147   2192   
new file mode 100644
 2148   2193   
index 0000000..6a823ed
 2149         -
-- /dev/null
        2194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2150   2195   
@@ -0,0 +1,7 @@
        2196  +
GET
        2197  +
/
        2198  +
Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2199  +
host:example.amazonaws.com
        2200  +
        2201  +
host
        2202  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2151   2203   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2152   2204   
new file mode 100644
 2153   2205   
index 0000000..8c77136
 2154         -
-- /dev/null
        2206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2155   2207   
@@ -0,0 +1 @@
        2208  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2156   2209   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2157   2210   
new file mode 100644
 2158   2211   
index 0000000..2d337d8
 2159         -
-- /dev/null
        2212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2160   2213   
@@ -0,0 +1,3 @@
        2214  +
GET /?Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de HTTP/1.1
        2215  +
Host:example.amazonaws.com
        2216  +
 2161   2217   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2162   2218   
new file mode 100644
 2163   2219   
index 0000000..191a484
 2164         -
-- /dev/null
        2220  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2165   2221   
@@ -0,0 +1,4 @@
        2222  +
AWS4-HMAC-SHA256
        2223  +
20150830T123600Z
        2224  +
20150830/us-east-1/service/aws4_request
        2225  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2166   2226   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2167   2227   
similarity index 100%
 2168   2228   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2169   2229   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2170   2230   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2171   2231   
new file mode 100644
 2172   2232   
index 0000000..0468d80
 2173         -
-- /dev/null
        2233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2174   2234   
@@ -0,0 +1,12 @@
        2235  +
{
        2236  +
    "credentials": {
        2237  +
        "access_key_id": "AKIDEXAMPLE",
        2238  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2239  +
    },
        2240  +
    "expiration_in_seconds": 3600,
        2241  +
    "normalize": true,
        2242  +
    "region": "us-east-1",
        2243  +
    "service": "service",
        2244  +
    "sign_body": false,
        2245  +
    "timestamp": "2015-08-30T12:36:00Z"
        2246  +
}
              \
 No newline at end of file
 2175   2247   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2176   2248   
new file mode 100644
 2177   2249   
index 0000000..0c8ba21
 2178         -
-- /dev/null
        2250  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2179   2251   
@@ -0,0 +1,8 @@
        2252  +
GET
        2253  +
/
        2254  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2255  +
host:example.amazonaws.com
        2256  +
x-amz-date:20150830T123600Z
        2257  +
        2258  +
host;x-amz-date
        2259  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2180   2260   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2181   2261   
new file mode 100644
 2182   2262   
index 0000000..9ab65ed
 2183         -
-- /dev/null
        2263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2184   2264   
@@ -0,0 +1 @@
        2265  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2185   2266   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2186   2267   
new file mode 100644
 2187   2268   
index 0000000..0bcdf98
 2188         -
-- /dev/null
        2269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2189   2270   
@@ -0,0 +1,5 @@
        2271  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2272  +
Host:example.amazonaws.com
        2273  +
X-Amz-Date:20150830T123600Z
        2274  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2275  +
 2190   2276   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2191   2277   
new file mode 100644
 2192   2278   
index 0000000..bf674ad
 2193         -
-- /dev/null
        2279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2194   2280   
@@ -0,0 +1,4 @@
        2281  +
AWS4-HMAC-SHA256
        2282  +
20150830T123600Z
        2283  +
20150830/us-east-1/service/aws4_request
        2284  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2195   2285   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2196   2286   
new file mode 100644
 2197   2287   
index 0000000..3f590a4
 2198         -
-- /dev/null
        2288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2199   2289   
@@ -0,0 +1,7 @@
        2290  +
GET
        2291  +
/
        2292  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2293  +
host:example.amazonaws.com
        2294  +
        2295  +
host
        2296  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2200   2297   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2201   2298   
new file mode 100644
 2202   2299   
index 0000000..e225eab
 2203         -
-- /dev/null
        2300  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2204   2301   
@@ -0,0 +1 @@
        2302  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2205   2303   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2206   2304   
new file mode 100644
 2207   2305   
index 0000000..6206719
 2208         -
-- /dev/null
        2306  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2209   2307   
@@ -0,0 +1,3 @@
        2308  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787 HTTP/1.1
        2309  +
Host:example.amazonaws.com
        2310  +
 2210   2311   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2211   2312   
new file mode 100644
 2212   2313   
index 0000000..81a4210
 2213         -
-- /dev/null
        2314  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2214   2315   
@@ -0,0 +1,4 @@
        2316  +
AWS4-HMAC-SHA256
        2317  +
20150830T123600Z
        2318  +
20150830/us-east-1/service/aws4_request
        2319  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2215   2320   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2216   2321   
new file mode 100644
 2217   2322   
index 0000000..368c6e3
 2218         -
-- /dev/null
        2323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2219   2324   
@@ -0,0 +1,2 @@
        2325  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2326  +
Host:example.amazonaws.com
 2220   2327   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2221   2328   
new file mode 100644
 2222   2329   
index 0000000..0468d80
 2223         -
-- /dev/null
        2330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2224   2331   
@@ -0,0 +1,12 @@
        2332  +
{
        2333  +
    "credentials": {
        2334  +
        "access_key_id": "AKIDEXAMPLE",
        2335  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2336  +
    },
        2337  +
    "expiration_in_seconds": 3600,
        2338  +
    "normalize": true,
        2339  +
    "region": "us-east-1",
        2340  +
    "service": "service",
        2341  +
    "sign_body": false,
        2342  +
    "timestamp": "2015-08-30T12:36:00Z"
        2343  +
}
              \
 No newline at end of file
 2225   2344   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-canonical-request.txt
 2226   2345   
similarity index 100%
 2227   2346   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq
 2228   2347   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-canonical-request.txt
 2229   2348   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2230   2349   
new file mode 100644
 2231   2350   
index 0000000..6a8cb9d
 2232         -
-- /dev/null
        2351  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2233   2352   
@@ -0,0 +1 @@
        2353  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2234   2354   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2235   2355   
new file mode 100644
 2236   2356   
index 0000000..f78a9d2
 2237         -
-- /dev/null
        2357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2238   2358   
@@ -0,0 +1,5 @@
        2359  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2360  +
Host:example.amazonaws.com
        2361  +
X-Amz-Date:20150830T123600Z
        2362  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2363  +
 2239   2364   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-string-to-sign.txt
 2240   2365   
similarity index 100%
 2241   2366   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.sts
 2242   2367   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-string-to-sign.txt
 2243   2368   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2244   2369   
new file mode 100644
 2245   2370   
index 0000000..a6e1bc7
 2246         -
-- /dev/null
        2371  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2247   2372   
@@ -0,0 +1,7 @@
        2373  +
GET
        2374  +
/
        2375  +
Param1=value1&Param2=value2&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2376  +
host:example.amazonaws.com
        2377  +
        2378  +
host
        2379  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2248   2380   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2249   2381   
new file mode 100644
 2250   2382   
index 0000000..d6e6a88
 2251         -
-- /dev/null
        2383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2252   2384   
@@ -0,0 +1 @@
        2385  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2253   2386   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2254   2387   
new file mode 100644
 2255   2388   
index 0000000..538e2f0
 2256         -
-- /dev/null
        2389  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2257   2390   
@@ -0,0 +1,3 @@
        2391  +
GET /?Param2=value2&Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5 HTTP/1.1
        2392  +
Host:example.amazonaws.com
        2393  +
 2258   2394   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-string-to-sign.txt
 2259   2395   
new file mode 100644
 2260   2396   
index 0000000..e696085
 2261         -
-- /dev/null
        2397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-string-to-sign.txt
 2262   2398   
@@ -0,0 +1,4 @@
        2399  +
AWS4-HMAC-SHA256
        2400  +
20150830T123600Z
        2401  +
20150830/us-east-1/service/aws4_request
        2402  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2263   2403   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2264   2404   
similarity index 100%
 2265   2405   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2266   2406   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2267   2407   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2268   2408   
new file mode 100644
 2269   2409   
index 0000000..0468d80
 2270         -
-- /dev/null
        2410  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2271   2411   
@@ -0,0 +1,12 @@
        2412  +
{
        2413  +
    "credentials": {
        2414  +
        "access_key_id": "AKIDEXAMPLE",
        2415  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2416  +
    },
        2417  +
    "expiration_in_seconds": 3600,
        2418  +
    "normalize": true,
        2419  +
    "region": "us-east-1",
        2420  +
    "service": "service",
        2421  +
    "sign_body": false,
        2422  +
    "timestamp": "2015-08-30T12:36:00Z"
        2423  +
}
              \
 No newline at end of file
 2272   2424   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2273   2425   
similarity index 100%
 2274   2426   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2275   2427   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2276   2428   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2277   2429   
new file mode 100644
 2278   2430   
index 0000000..876a64b
 2279         -
-- /dev/null
        2431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2280   2432   
@@ -0,0 +1 @@
        2433  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2281   2434   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2282   2435   
similarity index 50%
 2283   2436   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2284   2437   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2285   2438   
index ba1ef40..9d0d993 100644
 2286         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2287   2440   
@@ -1,4 +1,5 @@
 2288   2441   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2289   2442   
Host:example.amazonaws.com
 2290   2443   
X-Amz-Date:20150830T123600Z
 2291         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
        2444  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2445  +
 2292   2446   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2293   2447   
similarity index 100%
 2294   2448   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2295   2449   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2296   2450   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2297   2451   
new file mode 100644
 2298   2452   
index 0000000..a1bac59
 2299         -
-- /dev/null
        2453  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2300   2454   
@@ -0,0 +1,7 @@
        2455  +
GET
        2456  +
/
        2457  +
-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2458  +
host:example.amazonaws.com
        2459  +
        2460  +
host
        2461  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2301   2462   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2302   2463   
new file mode 100644
 2303   2464   
index 0000000..41881e9
 2304         -
-- /dev/null
        2465  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2305   2466   
@@ -0,0 +1 @@
        2467  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2306   2468   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2307   2469   
new file mode 100644
 2308   2470   
index 0000000..3179076
 2309         -
-- /dev/null
        2471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2310   2472   
@@ -0,0 +1,3 @@
        2473  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf HTTP/1.1
        2474  +
Host:example.amazonaws.com
        2475  +
 2311   2476   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2312   2477   
new file mode 100644
 2313   2478   
index 0000000..6d675fc
 2314         -
-- /dev/null
        2479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2315   2480   
@@ -0,0 +1,4 @@
        2481  +
AWS4-HMAC-SHA256
        2482  +
20150830T123600Z
        2483  +
20150830/us-east-1/service/aws4_request
        2484  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2316   2485   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2317   2486   
similarity index 100%
 2318   2487   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2319   2488   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2320   2489   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2321   2490   
new file mode 100644
 2322   2491   
index 0000000..0468d80
 2323         -
-- /dev/null
        2492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2324   2493   
@@ -0,0 +1,12 @@
        2494  +
{
        2495  +
    "credentials": {
        2496  +
        "access_key_id": "AKIDEXAMPLE",
        2497  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2498  +
    },
        2499  +
    "expiration_in_seconds": 3600,
        2500  +
    "normalize": true,
        2501  +
    "region": "us-east-1",
        2502  +
    "service": "service",
        2503  +
    "sign_body": false,
        2504  +
    "timestamp": "2015-08-30T12:36:00Z"
        2505  +
}
              \
 No newline at end of file
 2325   2506   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2326   2507   
similarity index 100%
 2327   2508   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq
 2328   2509   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2329   2510   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2330   2511   
new file mode 100644
 2331   2512   
index 0000000..87f295f
 2332         -
-- /dev/null
        2513  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2333   2514   
@@ -0,0 +1 @@
        2515  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2334   2516   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2335   2517   
new file mode 100644
 2336   2518   
index 0000000..36b86e7
 2337         -
-- /dev/null
        2519  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2338   2520   
@@ -0,0 +1,5 @@
        2521  +
GET / HTTP/1.1
        2522  +
Host:example.amazonaws.com
        2523  +
X-Amz-Date:20150830T123600Z
        2524  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2525  +
 2339   2526   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2340   2527   
similarity index 100%
 2341   2528   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sts
 2342   2529   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2343   2530   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2344   2531   
new file mode 100644
 2345   2532   
index 0000000..fb2420d
 2346         -
-- /dev/null
        2533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2347   2534   
@@ -0,0 +1,7 @@
        2535  +
GET
        2536  +
/
        2537  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2538  +
host:example.amazonaws.com
        2539  +
        2540  +
host
        2541  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2348   2542   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2349   2543   
new file mode 100644
 2350   2544   
index 0000000..da5c905
 2351         -
-- /dev/null
        2545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2352   2546   
@@ -0,0 +1 @@
        2547  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2353   2548   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2354   2549   
new file mode 100644
 2355   2550   
index 0000000..eeb7a8f
 2356         -
-- /dev/null
        2551  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2357   2552   
@@ -0,0 +1,3 @@
        2553  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
        2554  +
Host:example.amazonaws.com
        2555  +
 2358   2556   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2359   2557   
new file mode 100644
 2360   2558   
index 0000000..d837e67
 2361         -
-- /dev/null
        2559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2362   2560   
@@ -0,0 +1,4 @@
        2561  +
AWS4-HMAC-SHA256
        2562  +
20150830T123600Z
        2563  +
20150830/us-east-1/service/aws4_request
        2564  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2363   2565   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2364   2566   
similarity index 100%
 2365   2567   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2366   2568   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2367   2569   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2368   2570   
new file mode 100644
 2369   2571   
index 0000000..0468d80
 2370         -
-- /dev/null
        2572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2371   2573   
@@ -0,0 +1,12 @@
        2574  +
{
        2575  +
    "credentials": {
        2576  +
        "access_key_id": "AKIDEXAMPLE",
        2577  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2578  +
    },
        2579  +
    "expiration_in_seconds": 3600,
        2580  +
    "normalize": true,
        2581  +
    "region": "us-east-1",
        2582  +
    "service": "service",
        2583  +
    "sign_body": false,
        2584  +
    "timestamp": "2015-08-30T12:36:00Z"
        2585  +
}
              \
 No newline at end of file
 2372   2586   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2373   2587   
similarity index 100%
 2374   2588   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2375   2589   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2376   2590   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2377   2591   
new file mode 100644
 2378   2592   
index 0000000..19a2cc9
 2379         -
-- /dev/null
        2593  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2380   2594   
@@ -0,0 +1 @@
        2595  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2381   2596   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2382   2597   
new file mode 100644
 2383   2598   
index 0000000..acb13ee
 2384         -
-- /dev/null
        2599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2385   2600   
@@ -0,0 +1,5 @@
        2601  +
GET /?ሴ=bar HTTP/1.1
        2602  +
Host:example.amazonaws.com
        2603  +
X-Amz-Date:20150830T123600Z
        2604  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2605  +
 2386   2606   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2387   2607   
similarity index 100%
 2388   2608   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2389   2609   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2390   2610   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2391   2611   
new file mode 100644
 2392   2612   
index 0000000..92cee62
 2393         -
-- /dev/null
        2613  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2394   2614   
@@ -0,0 +1,7 @@
        2615  +
GET
        2616  +
/
        2617  +
%E1%88%B4=bar&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2618  +
host:example.amazonaws.com
        2619  +
        2620  +
host
        2621  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2395   2622   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2396   2623   
new file mode 100644
 2397   2624   
index 0000000..c9e49de
 2398         -
-- /dev/null
        2625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2399   2626   
@@ -0,0 +1 @@
        2627  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2400   2628   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2401   2629   
new file mode 100644
 2402   2630   
index 0000000..8f4d8d0
 2403         -
-- /dev/null
        2631  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2404   2632   
@@ -0,0 +1,3 @@
        2633  +
GET /?ሴ=bar&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600 HTTP/1.1
        2634  +
Host:example.amazonaws.com
        2635  +
 2405   2636   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2406   2637   
new file mode 100644
 2407   2638   
index 0000000..a6181dc
 2408         -
-- /dev/null
        2639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2409   2640   
@@ -0,0 +1,4 @@
        2641  +
AWS4-HMAC-SHA256
        2642  +
20150830T123600Z
        2643  +
20150830/us-east-1/service/aws4_request
        2644  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2410   2645   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2411   2646   
similarity index 64%
 2412   2647   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2413   2648   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2414   2649   
index cc2757e..aff333a 100644
 2415         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2650  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2416   2651   
@@ -1,3 +1,2 @@
 2417   2652   
GET /?ሴ=bar HTTP/1.1
 2418   2653   
Host:example.amazonaws.com
 2419         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2420   2654   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2421   2655   
similarity index 99%
 2422   2656   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2423   2657   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2424   2658   
index a457c8a..a334e18 100644
 2425         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
        2659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2426   2660   
@@ -1,13 +1,13 @@
 2427   2661   
{
 2428   2662   
    "credentials": {
 2429   2663   
        "access_key_id": "AKIDEXAMPLE",
 2430   2664   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
 2431   2665   
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
 2432   2666   
    },
 2433   2667   
    "expiration_in_seconds": 3600,
 2434   2668   
    "normalize": true,
 2435   2669   
    "region": "us-east-1",
 2436   2670   
    "service": "service",
 2437   2671   
    "sign_body": false,
 2438   2672   
    "timestamp": "2015-08-30T12:36:00Z"
 2439         -
}
        2673  +
}
              \
 No newline at end of file
 2440   2674   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2441   2675   
new file mode 100644
 2442   2676   
index 0000000..ccacdeb
 2443         -
-- /dev/null
        2677  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2444   2678   
@@ -0,0 +1,9 @@
        2679  +
GET
        2680  +
/
        2681  +
        2682  +
host:example.amazonaws.com
        2683  +
x-amz-date:20150830T123600Z
        2684  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2685  +
        2686  +
host;x-amz-date;x-amz-security-token
        2687  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2445   2688   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2446   2689   
new file mode 100644
 2447   2690   
index 0000000..083e30d
 2448         -
-- /dev/null
        2691  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2449   2692   
@@ -0,0 +1 @@
        2693  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2450   2694   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2451   2695   
new file mode 100644
 2452   2696   
index 0000000..5287932
 2453         -
-- /dev/null
        2697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2454   2698   
@@ -0,0 +1,6 @@
        2699  +
GET / HTTP/1.1
        2700  +
Host:example.amazonaws.com
        2701  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2702  +
X-Amz-Date:20150830T123600Z
        2703  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2704  +
 2455   2705   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2456   2706   
new file mode 100644
 2457   2707   
index 0000000..742b880
 2458         -
-- /dev/null
        2708  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2459   2709   
@@ -0,0 +1,4 @@
        2710  +
AWS4-HMAC-SHA256
        2711  +
20150830T123600Z
        2712  +
20150830/us-east-1/service/aws4_request
        2713  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2460   2714   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2461   2715   
new file mode 100644
 2462   2716   
index 0000000..5e75179
 2463         -
-- /dev/null
        2717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2464   2718   
@@ -0,0 +1,7 @@
        2719  +
GET
        2720  +
/
        2721  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Security-Token=6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267&X-Amz-SignedHeaders=host
        2722  +
host:example.amazonaws.com
        2723  +
        2724  +
host
        2725  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2465   2726   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2466   2727   
new file mode 100644
 2467   2728   
index 0000000..50b947f
 2468         -
-- /dev/null
        2729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2469   2730   
@@ -0,0 +1 @@
        2731  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2470   2732   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2471   2733   
new file mode 100644
 2472   2734   
index 0000000..aee910b
 2473         -
-- /dev/null
        2735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2474   2736   
@@ -0,0 +1,3 @@
        2737  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267&X-Amz-Signature=7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c HTTP/1.1
        2738  +
Host:example.amazonaws.com
        2739  +
 2475   2740   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2476   2741   
new file mode 100644
 2477   2742   
index 0000000..04a6c17
 2478         -
-- /dev/null
        2743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2479   2744   
@@ -0,0 +1,4 @@
        2745  +
AWS4-HMAC-SHA256
        2746  +
20150830T123600Z
        2747  +
20150830/us-east-1/service/aws4_request
        2748  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2480   2749   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2481   2750   
similarity index 100%
 2482   2751   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2483   2752   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2484   2753   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2485   2754   
new file mode 100644
 2486   2755   
index 0000000..0468d80
 2487         -
-- /dev/null
        2756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2488   2757   
@@ -0,0 +1,12 @@
        2758  +
{
        2759  +
    "credentials": {
        2760  +
        "access_key_id": "AKIDEXAMPLE",
        2761  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2762  +
    },
        2763  +
    "expiration_in_seconds": 3600,
        2764  +
    "normalize": true,
        2765  +
    "region": "us-east-1",
        2766  +
    "service": "service",
        2767  +
    "sign_body": false,
        2768  +
    "timestamp": "2015-08-30T12:36:00Z"
        2769  +
}
              \
 No newline at end of file
 2489   2770   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2490   2771   
similarity index 100%
 2491   2772   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2492   2773   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2493   2774   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2494   2775   
new file mode 100644
 2495   2776   
index 0000000..87f295f
 2496         -
-- /dev/null
        2777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2497   2778   
@@ -0,0 +1 @@
        2779  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2498   2780   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2499   2781   
new file mode 100644
 2500   2782   
index 0000000..36b86e7
 2501         -
-- /dev/null
        2783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2502   2784   
@@ -0,0 +1,5 @@
        2785  +
GET / HTTP/1.1
        2786  +
Host:example.amazonaws.com
        2787  +
X-Amz-Date:20150830T123600Z
        2788  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2789  +
 2503   2790   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2504   2791   
similarity index 100%
 2505   2792   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2506   2793   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2507   2794   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2508   2795   
new file mode 100644
 2509   2796   
index 0000000..fb2420d
 2510         -
-- /dev/null
        2797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2511   2798   
@@ -0,0 +1,7 @@
        2799  +
GET
        2800  +
/
        2801  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2802  +
host:example.amazonaws.com
        2803  +
        2804  +
host
        2805  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2512   2806   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2513   2807   
new file mode 100644
 2514   2808   
index 0000000..da5c905
 2515         -
-- /dev/null
        2809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2516   2810   
@@ -0,0 +1 @@
        2811  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2517   2812   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2518   2813   
new file mode 100644
 2519   2814   
index 0000000..eeb7a8f
 2520         -
-- /dev/null
        2815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2521   2816   
@@ -0,0 +1,3 @@
        2817  +
GET /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d HTTP/1.1
        2818  +
Host:example.amazonaws.com
        2819  +
 2522   2820   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2523   2821   
new file mode 100644
 2524   2822   
index 0000000..d837e67
 2525         -
-- /dev/null
        2823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2526   2824   
@@ -0,0 +1,4 @@
        2825  +
AWS4-HMAC-SHA256
        2826  +
20150830T123600Z
        2827  +
20150830/us-east-1/service/aws4_request
        2828  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2527   2829   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2528   2830   
similarity index 100%
 2529   2831   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2530   2832   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2531   2833   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2532   2834   
new file mode 100644
 2533   2835   
index 0000000..0468d80
 2534         -
-- /dev/null
        2836  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2535   2837   
@@ -0,0 +1,12 @@
        2838  +
{
        2839  +
    "credentials": {
        2840  +
        "access_key_id": "AKIDEXAMPLE",
        2841  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2842  +
    },
        2843  +
    "expiration_in_seconds": 3600,
        2844  +
    "normalize": true,
        2845  +
    "region": "us-east-1",
        2846  +
    "service": "service",
        2847  +
    "sign_body": false,
        2848  +
    "timestamp": "2015-08-30T12:36:00Z"
        2849  +
}
              \
 No newline at end of file
 2536   2850   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2537   2851   
similarity index 100%
 2538   2852   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2539   2853   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2540   2854   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2541   2855   
new file mode 100644
 2542   2856   
index 0000000..629487f
 2543         -
-- /dev/null
        2857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2544   2858   
@@ -0,0 +1 @@
        2859  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2545   2860   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2546   2861   
new file mode 100644
 2547   2862   
index 0000000..0d99b1c
 2548         -
-- /dev/null
        2863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2549   2864   
@@ -0,0 +1,5 @@
        2865  +
POST / HTTP/1.1
        2866  +
Host:example.amazonaws.com
        2867  +
X-Amz-Date:20150830T123600Z
        2868  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2869  +
 2550   2870   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2551   2871   
similarity index 100%
 2552   2872   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2553   2873   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2554   2874   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2555   2875   
new file mode 100644
 2556   2876   
index 0000000..d3341e7
 2557         -
-- /dev/null
        2877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2558   2878   
@@ -0,0 +1,7 @@
        2879  +
POST
        2880  +
/
        2881  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        2882  +
host:example.amazonaws.com
        2883  +
        2884  +
host
        2885  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2559   2886   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2560   2887   
new file mode 100644
 2561   2888   
index 0000000..79f7e0d
 2562         -
-- /dev/null
        2889  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2563   2890   
@@ -0,0 +1 @@
        2891  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2564   2892   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2565   2893   
new file mode 100644
 2566   2894   
index 0000000..94f1b21
 2567         -
-- /dev/null
        2895  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2568   2896   
@@ -0,0 +1,3 @@
        2897  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b HTTP/1.1
        2898  +
Host:example.amazonaws.com
        2899  +
 2569   2900   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2570   2901   
new file mode 100644
 2571   2902   
index 0000000..e8f335b
 2572         -
-- /dev/null
        2903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2573   2904   
@@ -0,0 +1,4 @@
        2905  +
AWS4-HMAC-SHA256
        2906  +
20150830T123600Z
        2907  +
20150830/us-east-1/service/aws4_request
        2908  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2574   2909   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2575   2910   
similarity index 100%
 2576   2911   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2577   2912   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2578   2913   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2579   2914   
new file mode 100644
 2580   2915   
index 0000000..0468d80
 2581         -
-- /dev/null
        2916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2582   2917   
@@ -0,0 +1,12 @@
        2918  +
{
        2919  +
    "credentials": {
        2920  +
        "access_key_id": "AKIDEXAMPLE",
        2921  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2922  +
    },
        2923  +
    "expiration_in_seconds": 3600,
        2924  +
    "normalize": true,
        2925  +
    "region": "us-east-1",
        2926  +
    "service": "service",
        2927  +
    "sign_body": false,
        2928  +
    "timestamp": "2015-08-30T12:36:00Z"
        2929  +
}
              \
 No newline at end of file
 2583   2930   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2584   2931   
similarity index 100%
 2585   2932   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2586   2933   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2587   2934   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2588   2935   
new file mode 100644
 2589   2936   
index 0000000..e4e6428
 2590         -
-- /dev/null
        2937  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2591   2938   
@@ -0,0 +1 @@
        2939  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2592   2940   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2593   2941   
new file mode 100644
 2594   2942   
index 0000000..e3778f5
 2595         -
-- /dev/null
        2943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2596   2944   
@@ -0,0 +1,6 @@
        2945  +
POST / HTTP/1.1
        2946  +
Host:example.amazonaws.com
        2947  +
My-Header1:value1
        2948  +
X-Amz-Date:20150830T123600Z
        2949  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2950  +
 2597   2951   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2598   2952   
similarity index 100%
 2599   2953   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2600   2954   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2601   2955   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2602   2956   
new file mode 100644
 2603   2957   
index 0000000..bd7c937
 2604         -
-- /dev/null
        2958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2605   2959   
@@ -0,0 +1,8 @@
        2960  +
POST
        2961  +
/
        2962  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host%3Bmy-header1
        2963  +
host:example.amazonaws.com
        2964  +
my-header1:value1
        2965  +
        2966  +
host;my-header1
        2967  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2606   2968   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2607   2969   
new file mode 100644
 2608   2970   
index 0000000..0416f13
 2609         -
-- /dev/null
        2971  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2610   2972   
@@ -0,0 +1 @@
        2973  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2611   2974   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2612   2975   
new file mode 100644
 2613   2976   
index 0000000..5e6522f
 2614         -
-- /dev/null
        2977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2615   2978   
@@ -0,0 +1,4 @@
        2979  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Signature=c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7 HTTP/1.1
        2980  +
Host:example.amazonaws.com
        2981  +
My-Header1:value1
        2982  +
 2616   2983   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2617   2984   
new file mode 100644
 2618   2985   
index 0000000..d06d1df
 2619         -
-- /dev/null
        2986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2620   2987   
@@ -0,0 +1,4 @@
        2988  +
AWS4-HMAC-SHA256
        2989  +
20150830T123600Z
        2990  +
20150830/us-east-1/service/aws4_request
        2991  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2621   2992   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2622   2993   
similarity index 100%
 2623   2994   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2624   2995   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2625   2996   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2626   2997   
new file mode 100644
 2627   2998   
index 0000000..0468d80
 2628         -
-- /dev/null
        2999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2629   3000   
@@ -0,0 +1,12 @@
        3001  +
{
        3002  +
    "credentials": {
        3003  +
        "access_key_id": "AKIDEXAMPLE",
        3004  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3005  +
    },
        3006  +
    "expiration_in_seconds": 3600,
        3007  +
    "normalize": true,
        3008  +
    "region": "us-east-1",
        3009  +
    "service": "service",
        3010  +
    "sign_body": false,
        3011  +
    "timestamp": "2015-08-30T12:36:00Z"
        3012  +
}
              \
 No newline at end of file
 2630   3013   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2631   3014   
similarity index 100%
 2632   3015   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2633   3016   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2634   3017   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2635   3018   
new file mode 100644
 2636   3019   
index 0000000..bb3809c
 2637         -
-- /dev/null
        3020  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2638   3021   
@@ -0,0 +1 @@
        3022  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2639   3023   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2640   3024   
new file mode 100644
 2641   3025   
index 0000000..10f6761
 2642         -
-- /dev/null
        3026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2643   3027   
@@ -0,0 +1,6 @@
        3028  +
POST / HTTP/1.1
        3029  +
Host:example.amazonaws.com
        3030  +
My-Header1:VALUE1
        3031  +
X-Amz-Date:20150830T123600Z
        3032  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        3033  +
 2644   3034   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2645   3035   
similarity index 100%
 2646   3036   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2647   3037   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2648   3038   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2649   3039   
new file mode 100644
 2650   3040   
index 0000000..f84856f
 2651         -
-- /dev/null
        3041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2652   3042   
@@ -0,0 +1,8 @@
        3043  +
POST
        3044  +
/
        3045  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host%3Bmy-header1
        3046  +
host:example.amazonaws.com
        3047  +
my-header1:VALUE1
        3048  +
        3049  +
host;my-header1
        3050  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2653   3051   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2654   3052   
new file mode 100644
 2655   3053   
index 0000000..a9d3cac
 2656         -
-- /dev/null
        3054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2657   3055   
@@ -0,0 +1 @@
        3056  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2658   3057   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2659   3058   
new file mode 100644
 2660   3059   
index 0000000..cf96c7c
 2661         -
-- /dev/null
        3060  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2662   3061   
@@ -0,0 +1,4 @@
        3062  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Signature=0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed HTTP/1.1
        3063  +
Host:example.amazonaws.com
        3064  +
My-Header1:VALUE1
        3065  +
 2663   3066   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2664   3067   
new file mode 100644
 2665   3068   
index 0000000..47ef566
 2666         -
-- /dev/null
        3069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2667   3070   
@@ -0,0 +1,4 @@
        3071  +
AWS4-HMAC-SHA256
        3072  +
20150830T123600Z
        3073  +
20150830/us-east-1/service/aws4_request
        3074  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2668   3075   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2669   3076   
similarity index 100%
 2670   3077   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2671   3078   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2672   3079   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2673   3080   
similarity index 100%
 2674   3081   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2675   3082   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2676   3083   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2677   3084   
similarity index 100%
 2678   3085   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq
 2679   3086   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2680   3087   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2681   3088   
new file mode 100644
 2682   3089   
index 0000000..629487f
 2683         -
-- /dev/null
        3090  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2684   3091   
@@ -0,0 +1 @@
        3092  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2685   3093   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2686   3094   
similarity index 67%
 2687   3095   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq
 2688   3096   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2689   3097   
index 291ed07..f96ff9e 100644
 2690         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sreq
        3098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2691   3099   
@@ -1,5 +1,6 @@
 2692   3100   
POST / HTTP/1.1
 2693   3101   
Host:example.amazonaws.com
 2694         -
X-Amz-Date:20150830T123600Z
 2695   3102   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2696         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
        3103  +
X-Amz-Date:20150830T123600Z
        3104  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3105  +
 2697   3106   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2698   3107   
similarity index 100%
 2699   3108   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.sts
 2700   3109   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2701   3110   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2702   3111   
new file mode 100644
 2703   3112   
index 0000000..d3341e7
 2704         -
-- /dev/null
        3113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2705   3114   
@@ -0,0 +1,7 @@
        3115  +
POST
        3116  +
/
        3117  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        3118  +
host:example.amazonaws.com
        3119  +
        3120  +
host
        3121  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2706   3122   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2707   3123   
new file mode 100644
 2708   3124   
index 0000000..79f7e0d
 2709         -
-- /dev/null
        3125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2710   3126   
@@ -0,0 +1 @@
        3127  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2711   3128   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2712   3129   
new file mode 100644
 2713   3130   
index 0000000..4983268
 2714         -
-- /dev/null
        3131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2715   3132   
@@ -0,0 +1,3 @@
        3133  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-Signature=2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b HTTP/1.1
        3134  +
Host:example.amazonaws.com
        3135  +
 2716   3136   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2717   3137   
new file mode 100644
 2718   3138   
index 0000000..e8f335b
 2719         -
-- /dev/null
        3139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2720   3140   
@@ -0,0 +1,4 @@
        3141  +
AWS4-HMAC-SHA256
        3142  +
20150830T123600Z
        3143  +
20150830/us-east-1/service/aws4_request
        3144  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2721   3145   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2722   3146   
similarity index 100%
 2723   3147   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2724   3148   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2725   3149   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2726   3150   
similarity index 100%
 2727   3151   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2728   3152   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2729   3153   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2730   3154   
similarity index 100%
 2731   3155   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq
 2732   3156   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2733   3157   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2734   3158   
new file mode 100644
 2735   3159   
index 0000000..85a7c29
 2736         -
-- /dev/null
        3160  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2737   3161   
@@ -0,0 +1 @@
        3162  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2738   3163   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2739   3164   
similarity index 65%
 2740   3165   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sreq
 2741   3166   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2742   3167   
index 37b2f04..4d0b143 100644
 2743         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sreq
        3168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2744   3169   
@@ -1,5 +1,6 @@
 2745   3170   
POST / HTTP/1.1
 2746   3171   
Host:example.amazonaws.com
 2747         -
X-Amz-Date:20150830T123600Z
 2748   3172   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2749         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
        3173  +
X-Amz-Date:20150830T123600Z
        3174  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3175  +
 2750   3176   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2751   3177   
similarity index 100%
 2752   3178   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.sts
 2753   3179   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2754   3180   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2755   3181   
new file mode 100644
 2756   3182   
index 0000000..57a7bc3
 2757         -
-- /dev/null
        3183  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2758   3184   
@@ -0,0 +1,7 @@
        3185  +
POST
        3186  +
/
        3187  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-SignedHeaders=host
        3188  +
host:example.amazonaws.com
        3189  +
        3190  +
host
        3191  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2759   3192   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2760   3193   
new file mode 100644
 2761   3194   
index 0000000..eb905d2
 2762         -
-- /dev/null
        3195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2763   3196   
@@ -0,0 +1 @@
        3197  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2764   3198   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2765   3199   
new file mode 100644
 2766   3200   
index 0000000..1d80ec0
 2767         -
-- /dev/null
        3201  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2768   3202   
@@ -0,0 +1,3 @@
        3203  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-Signature=46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c HTTP/1.1
        3204  +
Host:example.amazonaws.com
        3205  +
 2769   3206   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2770   3207   
new file mode 100644
 2771   3208   
index 0000000..bd0239a
 2772         -
-- /dev/null
        3209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2773   3210   
@@ -0,0 +1,4 @@
        3211  +
AWS4-HMAC-SHA256
        3212  +
20150830T123600Z
        3213  +
20150830/us-east-1/service/aws4_request
        3214  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2774   3215   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2775   3216   
similarity index 100%
 2776   3217   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2777   3218   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2778   3219   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2779   3220   
new file mode 100644
 2780   3221   
index 0000000..0468d80
 2781         -
-- /dev/null
        3222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2782   3223   
@@ -0,0 +1,12 @@
        3224  +
{
        3225  +
    "credentials": {
        3226  +
        "access_key_id": "AKIDEXAMPLE",
        3227  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3228  +
    },
        3229  +
    "expiration_in_seconds": 3600,
        3230  +
    "normalize": true,
        3231  +
    "region": "us-east-1",
        3232  +
    "service": "service",
        3233  +
    "sign_body": false,
        3234  +
    "timestamp": "2015-08-30T12:36:00Z"
        3235  +
}
              \
 No newline at end of file
 2783   3236   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2784   3237   
similarity index 100%
 2785   3238   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq
 2786   3239   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2787   3240   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2788   3241   
new file mode 100644
 2789   3242   
index 0000000..80ed433
 2790         -
-- /dev/null
        3243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2791   3244   
@@ -0,0 +1 @@
        3245  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2792   3246   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2793   3247   
new file mode 100644
 2794   3248   
index 0000000..4e614f8
 2795         -
-- /dev/null
        3249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2796   3250   
@@ -0,0 +1,5 @@
        3251  +
POST /?Param1=value1 HTTP/1.1
        3252  +
Host:example.amazonaws.com
        3253  +
X-Amz-Date:20150830T123600Z
        3254  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3255  +
 2797   3256   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-string-to-sign.txt
 2798   3257   
similarity index 100%
 2799   3258   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sts
 2800   3259   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-string-to-sign.txt
 2801   3260   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2802   3261   
new file mode 100644
 2803   3262   
index 0000000..be66403
 2804         -
-- /dev/null
        3263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2805   3264   
@@ -0,0 +1,7 @@
        3265  +
POST
        3266  +
/
        3267  +
Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        3268  +
host:example.amazonaws.com
        3269  +
        3270  +
host
        3271  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2806   3272   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2807   3273   
new file mode 100644
 2808   3274   
index 0000000..20fd32b
 2809         -
-- /dev/null
        3275  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2810   3276   
@@ -0,0 +1 @@
        3277  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2811   3278   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2812   3279   
new file mode 100644
 2813   3280   
index 0000000..d1148d0
 2814         -
-- /dev/null
        3281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2815   3282   
@@ -0,0 +1,3 @@
        3283  +
POST /?Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682 HTTP/1.1
        3284  +
Host:example.amazonaws.com
        3285  +
 2816   3286   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2817   3287   
new file mode 100644
 2818   3288   
index 0000000..1a77103
 2819         -
-- /dev/null
        3289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2820   3290   
@@ -0,0 +1,4 @@
        3291  +
AWS4-HMAC-SHA256
        3292  +
20150830T123600Z
        3293  +
20150830/us-east-1/service/aws4_request
        3294  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2821   3295   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2822   3296   
similarity index 100%
 2823   3297   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2824   3298   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2825   3299   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2826   3300   
new file mode 100644
 2827   3301   
index 0000000..0468d80
 2828         -
-- /dev/null
        3302  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2829   3303   
@@ -0,0 +1,12 @@
        3304  +
{
        3305  +
    "credentials": {
        3306  +
        "access_key_id": "AKIDEXAMPLE",
        3307  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3308  +
    },
        3309  +
    "expiration_in_seconds": 3600,
        3310  +
    "normalize": true,
        3311  +
    "region": "us-east-1",
        3312  +
    "service": "service",
        3313  +
    "sign_body": false,
        3314  +
    "timestamp": "2015-08-30T12:36:00Z"
        3315  +
}
              \
 No newline at end of file
 2830   3316   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2831   3317   
similarity index 100%
 2832   3318   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2833   3319   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2834   3320   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2835   3321   
new file mode 100644
 2836   3322   
index 0000000..80ed433
 2837         -
-- /dev/null
        3323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2838   3324   
@@ -0,0 +1 @@
        3325  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2839   3326   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2840   3327   
new file mode 100644
 2841   3328   
index 0000000..4e614f8
 2842         -
-- /dev/null
        3329  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2843   3330   
@@ -0,0 +1,5 @@
        3331  +
POST /?Param1=value1 HTTP/1.1
        3332  +
Host:example.amazonaws.com
        3333  +
X-Amz-Date:20150830T123600Z
        3334  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3335  +
 2844   3336   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2845   3337   
similarity index 100%
 2846   3338   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2847   3339   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2848   3340   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2849   3341   
new file mode 100644
 2850   3342   
index 0000000..be66403
 2851         -
-- /dev/null
        3343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2852   3344   
@@ -0,0 +1,7 @@
        3345  +
POST
        3346  +
/
        3347  +
Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        3348  +
host:example.amazonaws.com
        3349  +
        3350  +
host
        3351  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2853   3352   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2854   3353   
new file mode 100644
 2855   3354   
index 0000000..20fd32b
 2856         -
-- /dev/null
        3355  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2857   3356   
@@ -0,0 +1 @@
        3357  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2858   3358   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2859   3359   
new file mode 100644
 2860   3360   
index 0000000..d1148d0
 2861         -
-- /dev/null
        3361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2862   3362   
@@ -0,0 +1,3 @@
        3363  +
POST /?Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682 HTTP/1.1
        3364  +
Host:example.amazonaws.com
        3365  +
 2863   3366   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2864   3367   
new file mode 100644
 2865   3368   
index 0000000..1a77103
 2866         -
-- /dev/null
        3369  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2867   3370   
@@ -0,0 +1,4 @@
        3371  +
AWS4-HMAC-SHA256
        3372  +
20150830T123600Z
        3373  +
20150830/us-east-1/service/aws4_request
        3374  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2868   3375   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2869   3376   
similarity index 100%
 2870   3377   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2871   3378   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2872   3379   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2873   3380   
new file mode 100644
 2874   3381   
index 0000000..0468d80
 2875         -
-- /dev/null
        3382  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2876   3383   
@@ -0,0 +1,12 @@
        3384  +
{
        3385  +
    "credentials": {
        3386  +
        "access_key_id": "AKIDEXAMPLE",
        3387  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3388  +
    },
        3389  +
    "expiration_in_seconds": 3600,
        3390  +
    "normalize": true,
        3391  +
    "region": "us-east-1",
        3392  +
    "service": "service",
        3393  +
    "sign_body": false,
        3394  +
    "timestamp": "2015-08-30T12:36:00Z"
        3395  +
}
              \
 No newline at end of file
 2877   3396   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2878   3397   
similarity index 100%
 2879   3398   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2880   3399   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2881   3400   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2882   3401   
new file mode 100644
 2883   3402   
index 0000000..629487f
 2884         -
-- /dev/null
        3403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2885   3404   
@@ -0,0 +1 @@
        3405  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2886   3406   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2887   3407   
new file mode 100644
 2888   3408   
index 0000000..0d99b1c
 2889         -
-- /dev/null
        3409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2890   3410   
@@ -0,0 +1,5 @@
        3411  +
POST / HTTP/1.1
        3412  +
Host:example.amazonaws.com
        3413  +
X-Amz-Date:20150830T123600Z
        3414  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3415  +
 2891   3416   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2892   3417   
similarity index 100%
 2893   3418   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2894   3419   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2895   3420   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2896   3421   
new file mode 100644
 2897   3422   
index 0000000..d3341e7
 2898         -
-- /dev/null
        3423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2899   3424   
@@ -0,0 +1,7 @@
        3425  +
POST
        3426  +
/
        3427  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host
        3428  +
host:example.amazonaws.com
        3429  +
        3430  +
host
        3431  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2900   3432   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2901   3433   
new file mode 100644
 2902   3434   
index 0000000..79f7e0d
 2903         -
-- /dev/null
        3435  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2904   3436   
@@ -0,0 +1 @@
        3437  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2905   3438   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2906   3439   
new file mode 100644
 2907   3440   
index 0000000..94f1b21
 2908         -
-- /dev/null
        3441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2909   3442   
@@ -0,0 +1,3 @@
        3443  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Signature=2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b HTTP/1.1
        3444  +
Host:example.amazonaws.com
        3445  +
 2910   3446   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2911   3447   
new file mode 100644
 2912   3448   
index 0000000..e8f335b
 2913         -
-- /dev/null
        3449  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2914   3450   
@@ -0,0 +1,4 @@
        3451  +
AWS4-HMAC-SHA256
        3452  +
20150830T123600Z
        3453  +
20150830/us-east-1/service/aws4_request
        3454  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2915   3455   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2916   3456   
similarity index 100%
 2917   3457   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2918   3458   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2919   3459   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2920   3460   
similarity index 99%
 2921   3461   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2922   3462   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2923   3463   
index fc4bce6..0db1df1 100644
 2924         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
        3464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2925   3465   
@@ -1,12 +1,12 @@
 2926   3466   
{
 2927   3467   
    "credentials": {
 2928   3468   
        "access_key_id": "AKIDEXAMPLE",
 2929   3469   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 2930   3470   
    },
 2931   3471   
    "expiration_in_seconds": 3600,
 2932   3472   
    "normalize": true,
 2933   3473   
    "region": "us-east-1",
 2934   3474   
    "service": "service",
 2935   3475   
    "sign_body": true,
 2936   3476   
    "timestamp": "2015-08-30T12:36:00Z"
 2937         -
}
        3477  +
}
              \
 No newline at end of file
 2938   3478   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2939   3479   
new file mode 100644
 2940   3480   
index 0000000..c218fdf
 2941         -
-- /dev/null
        3481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2942   3482   
@@ -0,0 +1,11 @@
        3483  +
POST
        3484  +
/
        3485  +
        3486  +
content-length:13
        3487  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3488  +
host:example.amazonaws.com
        3489  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3490  +
x-amz-date:20150830T123600Z
        3491  +
        3492  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3493  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2943   3494   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2944   3495   
new file mode 100644
 2945   3496   
index 0000000..836aa8b
 2946         -
-- /dev/null
        3497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2947   3498   
@@ -0,0 +1 @@
        3499  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2948   3500   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2949   3501   
new file mode 100644
 2950   3502   
index 0000000..9262d53
 2951         -
-- /dev/null
        3503  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2952   3504   
@@ -0,0 +1,9 @@
        3505  +
POST / HTTP/1.1
        3506  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3507  +
Host:example.amazonaws.com
        3508  +
Content-Length:13
        3509  +
X-Amz-Date:20150830T123600Z
        3510  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3511  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
        3512  +
        3513  +
Param1=value1
              \
 No newline at end of file
 2953   3514   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt
 2954   3515   
new file mode 100644
 2955   3516   
index 0000000..ddbdccc
 2956         -
-- /dev/null
        3517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt
 2957   3518   
@@ -0,0 +1,4 @@
        3519  +
AWS4-HMAC-SHA256
        3520  +
20150830T123600Z
        3521  +
20150830/us-east-1/service/aws4_request
        3522  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2958   3523   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2959   3524   
new file mode 100644
 2960   3525   
index 0000000..596a579
 2961         -
-- /dev/null
        3526  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2962   3527   
@@ -0,0 +1,9 @@
        3528  +
POST
        3529  +
/
        3530  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost
        3531  +
content-length:13
        3532  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3533  +
host:example.amazonaws.com
        3534  +
        3535  +
content-length;content-type;host
        3536  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2963   3537   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2964   3538   
new file mode 100644
 2965   3539   
index 0000000..bc85cd8
 2966         -
-- /dev/null
        3540  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2967   3541   
@@ -0,0 +1 @@
        3542  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2968   3543   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2969   3544   
new file mode 100644
 2970   3545   
index 0000000..16b59e5
 2971         -
-- /dev/null
        3546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2972   3547   
@@ -0,0 +1,6 @@
        3548  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost&X-Amz-Expires=3600&X-Amz-Signature=0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d HTTP/1.1
        3549  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3550  +
Host:example.amazonaws.com
        3551  +
Content-Length:13
        3552  +
        3553  +
Param1=value1
              \
 No newline at end of file
 2973   3554   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt
 2974   3555   
new file mode 100644
 2975   3556   
index 0000000..50074af
 2976         -
-- /dev/null
        3557  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt
 2977   3558   
@@ -0,0 +1,4 @@
        3559  +
AWS4-HMAC-SHA256
        3560  +
20150830T123600Z
        3561  +
20150830/us-east-1/service/aws4_request
        3562  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2978   3563   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2979   3564   
similarity index 89%
 2980   3565   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2981   3566   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2982   3567   
index b711c25..8289eaa 100644
 2983         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
        3568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2984   3569   
@@ -1,6 +1,6 @@
 2985   3570   
POST / HTTP/1.1
 2986   3571   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 2987   3572   
Host:example.amazonaws.com
 2988   3573   
Content-Length:13
 2989   3574   
 2990         -
Param1=value1
        3575  +
Param1=value1
              \
 No newline at end of file
 2991   3576   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2992   3577   
similarity index 99%
 2993   3578   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2994   3579   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2995   3580   
index fc4bce6..0db1df1 100644
 2996         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
        3581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2997   3582   
@@ -1,12 +1,12 @@
 2998   3583   
{
 2999   3584   
    "credentials": {
 3000   3585   
        "access_key_id": "AKIDEXAMPLE",
 3001   3586   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 3002   3587   
    },
 3003   3588   
    "expiration_in_seconds": 3600,
 3004   3589   
    "normalize": true,
 3005   3590   
    "region": "us-east-1",
 3006   3591   
    "service": "service",
 3007   3592   
    "sign_body": true,
 3008   3593   
    "timestamp": "2015-08-30T12:36:00Z"
 3009         -
}
        3594  +
}
              \
 No newline at end of file
 3010   3595   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 3011   3596   
new file mode 100644
 3012   3597   
index 0000000..4d116a5
 3013         -
-- /dev/null
        3598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 3014   3599   
@@ -0,0 +1,11 @@
        3600  +
POST
        3601  +
/
        3602  +
        3603  +
content-length:13
        3604  +
content-type:application/x-www-form-urlencoded
        3605  +
host:example.amazonaws.com
        3606  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3607  +
x-amz-date:20150830T123600Z
        3608  +
        3609  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3610  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3015   3611   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 3016   3612   
new file mode 100644
 3017   3613   
index 0000000..0d2ac37
 3018         -
-- /dev/null
        3614  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 3019   3615   
@@ -0,0 +1 @@
        3616  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 3020   3617   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 3021   3618   
new file mode 100644
 3022   3619   
index 0000000..bd5e49c
 3023         -
-- /dev/null
        3620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 3024   3621   
@@ -0,0 +1,9 @@
        3622  +
POST / HTTP/1.1
        3623  +
Content-Type:application/x-www-form-urlencoded
        3624  +
Host:example.amazonaws.com
        3625  +
Content-Length:13
        3626  +
X-Amz-Date:20150830T123600Z
        3627  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3628  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
        3629  +
        3630  +
Param1=value1
              \
 No newline at end of file
 3025   3631   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 3026   3632   
new file mode 100644
 3027   3633   
index 0000000..f1c599c
 3028         -
-- /dev/null
        3634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 3029   3635   
@@ -0,0 +1,4 @@
        3636  +
AWS4-HMAC-SHA256
        3637  +
20150830T123600Z
        3638  +
20150830/us-east-1/service/aws4_request
        3639  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 3030   3640   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 3031   3641   
new file mode 100644
 3032   3642   
index 0000000..1fc1bb7
 3033         -
-- /dev/null
        3643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 3034   3644   
@@ -0,0 +1,9 @@
        3645  +
POST
        3646  +
/
        3647  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost
        3648  +
content-length:13
        3649  +
content-type:application/x-www-form-urlencoded
        3650  +
host:example.amazonaws.com
        3651  +
        3652  +
content-length;content-type;host
        3653  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3035   3654   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 3036   3655   
new file mode 100644
 3037   3656   
index 0000000..98c91b3
 3038         -
-- /dev/null
        3657  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 3039   3658   
@@ -0,0 +1 @@
        3659  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 3040   3660   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 3041   3661   
new file mode 100644
 3042   3662   
index 0000000..055cd7a
 3043         -
-- /dev/null
        3663  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 3044   3664   
@@ -0,0 +1,6 @@
        3665  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost&X-Amz-Expires=3600&X-Amz-Signature=89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9 HTTP/1.1
        3666  +
Content-Type:application/x-www-form-urlencoded
        3667  +
Host:example.amazonaws.com
        3668  +
Content-Length:13
        3669  +
        3670  +
Param1=value1
              \
 No newline at end of file
 3045   3671   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 3046   3672   
new file mode 100644
 3047   3673   
index 0000000..db7fc27
 3048         -
-- /dev/null
        3674  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 3049   3675   
@@ -0,0 +1,4 @@
        3676  +
AWS4-HMAC-SHA256
        3677  +
20150830T123600Z
        3678  +
20150830/us-east-1/service/aws4_request
        3679  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 3050   3680   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3051   3681   
similarity index 88%
 3052   3682   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 3053   3683   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3054   3684   
index 0091102..760b2d3 100644
 3055         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
        3685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3056   3686   
@@ -1,6 +1,6 @@
 3057   3687   
POST / HTTP/1.1
 3058   3688   
Content-Type:application/x-www-form-urlencoded
 3059   3689   
Host:example.amazonaws.com
 3060   3690   
Content-Length:13
 3061   3691   
 3062         -
Param1=value1
        3692  +
Param1=value1
              \
 No newline at end of file
 3063   3693   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 3064   3694   
new file mode 100644
 3065   3695   
index 0000000..0468d80
 3066         -
-- /dev/null
        3696  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 3067   3697   
@@ -0,0 +1,12 @@
        3698  +
{
        3699  +
    "credentials": {
        3700  +
        "access_key_id": "AKIDEXAMPLE",
        3701  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3702  +
    },
        3703  +
    "expiration_in_seconds": 3600,
        3704  +
    "normalize": true,
        3705  +
    "region": "us-east-1",
        3706  +
    "service": "service",
        3707  +
    "sign_body": false,
        3708  +
    "timestamp": "2015-08-30T12:36:00Z"
        3709  +
}
              \
 No newline at end of file
 3068   3710   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3069   3711   
similarity index 99%
 3070   3712   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 3071   3713   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3072   3714   
index ccb5f43..1bc448e 100644
 3073         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
        3715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3074   3716   
@@ -1,10 +1,10 @@
 3075   3717   
GET
 3076   3718   
/
 3077   3719   
 3078   3720   
host:example.amazonaws.com
 3079   3721   
my-header1:value2,value2,value1
 3080   3722   
x-amz-date:20150830T123600Z
 3081   3723   
x-amz-region-set:us-east-1
 3082   3724   
 3083   3725   
host;my-header1;x-amz-date;x-amz-region-set
 3084         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3726  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3085   3727   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 3086   3728   
new file mode 100644
 3087   3729   
index 0000000..489c182
 3088         -
-- /dev/null
        3730  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 3089   3731   
@@ -0,0 +1 @@
        3732  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 3090   3733   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 3091   3734   
new file mode 100644
 3092   3735   
index 0000000..e1b8dbf
 3093         -
-- /dev/null
        3736  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 3094   3737   
@@ -0,0 +1,9 @@
        3738  +
GET / HTTP/1.1
        3739  +
Host:example.amazonaws.com
        3740  +
My-Header1:value2
        3741  +
My-Header1:value2
        3742  +
My-Header1:value1
        3743  +
X-Amz-Date:20150830T123600Z
        3744  +
X-Amz-Region-Set:us-east-1
        3745  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3746  +
 3095   3747   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3096   3748   
similarity index 99%
 3097   3749   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 3098   3750   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3099   3751   
index 8783461..bfc4619 100644
 3100         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
        3752  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3101   3753   
@@ -1,4 +1,4 @@
 3102   3754   
AWS4-ECDSA-P256-SHA256
 3103   3755   
20150830T123600Z
 3104   3756   
20150830/service/aws4_request
 3105         -
30f1f7b639b7fd5982a0f700e6d23bf7bb24f2f1d9e1314005bf22130da61cdf
        3757  +
30f1f7b639b7fd5982a0f700e6d23bf7bb24f2f1d9e1314005bf22130da61cdf
              \
 No newline at end of file
 3106   3758   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 3107   3759   
new file mode 100644
 3108   3760   
index 0000000..379dcb2
 3109         -
-- /dev/null
        3761  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 3110   3762   
@@ -0,0 +1,4 @@
        3763  +
{
        3764  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3765  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3766  +
}
 3111   3767   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3112   3768   
similarity index 99%
 3113   3769   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 3114   3770   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3115   3771   
index 9561297..c05c3f5 100644
 3116         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
        3772  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3117   3773   
@@ -1,8 +1,8 @@
 3118   3774   
GET
 3119   3775   
/
 3120   3776   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host%3Bmy-header1
 3121   3777   
host:example.amazonaws.com
 3122   3778   
my-header1:value2,value2,value1
 3123   3779   
 3124   3780   
host;my-header1
 3125         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3781  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3126   3782   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 3127   3783   
new file mode 100644
 3128   3784   
index 0000000..de9a4c3
 3129         -
-- /dev/null
        3785  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 3130   3786   
@@ -0,0 +1 @@
        3787  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 3131   3788   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 3132   3789   
new file mode 100644
 3133   3790   
index 0000000..6c6b8c4
 3134         -
-- /dev/null
        3791  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 3135   3792   
@@ -0,0 +1,6 @@
        3793  +
GET /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3045022100b6fa5712e476c23f411995e85747f62e9a25bdd718aac8692b3744dba106e1720220331a1e84a25e69c1ef07e63b3b76e1e78100f2ee020a3e66f127240901468912 HTTP/1.1
        3794  +
Host:example.amazonaws.com
        3795  +
My-Header1:value2
        3796  +
My-Header1:value2
        3797  +
My-Header1:value1
        3798  +
 3136   3799   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3137   3800   
similarity index 99%
 3138   3801   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 3139   3802   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3140   3803   
index 3140f6f..4eef106 100644
 3141         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
        3804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3142   3805   
@@ -1,4 +1,4 @@
 3143   3806   
AWS4-ECDSA-P256-SHA256
 3144   3807   
20150830T123600Z
 3145   3808   
20150830/service/aws4_request
 3146         -
a6e21a0099c98cbb4ec73928a08e8b116dfd634c471a8c03c4007b5258b664ea
        3809  +
a6e21a0099c98cbb4ec73928a08e8b116dfd634c471a8c03c4007b5258b664ea
              \
 No newline at end of file
 3147   3810   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3148   3811   
similarity index 78%
 3149   3812   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 3150   3813   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3151   3814   
index 08a0364..40455ce 100644
 3152         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3153   3816   
@@ -1,6 +1,5 @@
 3154   3817   
GET / HTTP/1.1
 3155   3818   
Host:example.amazonaws.com
 3156   3819   
My-Header1:value2
 3157   3820   
My-Header1:value2
 3158   3821   
My-Header1:value1
 3159         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3160   3822   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 3161   3823   
new file mode 100644
 3162   3824   
index 0000000..0468d80
 3163         -
-- /dev/null
        3825  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 3164   3826   
@@ -0,0 +1,12 @@
        3827  +
{
        3828  +
    "credentials": {
        3829  +
        "access_key_id": "AKIDEXAMPLE",
        3830  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3831  +
    },
        3832  +
    "expiration_in_seconds": 3600,
        3833  +
    "normalize": true,
        3834  +
    "region": "us-east-1",
        3835  +
    "service": "service",
        3836  +
    "sign_body": false,
        3837  +
    "timestamp": "2015-08-30T12:36:00Z"
        3838  +
}
              \
 No newline at end of file
 3165   3839   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 3166   3840   
new file mode 100644
 3167   3841   
index 0000000..69526cd
 3168         -
-- /dev/null
        3842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 3169   3843   
@@ -0,0 +1,10 @@
        3844  +
GET
        3845  +
/
        3846  +
        3847  +
host:example.amazonaws.com
        3848  +
my-header1:value1 value2 value3
        3849  +
x-amz-date:20150830T123600Z
        3850  +
x-amz-region-set:us-east-1
        3851  +
        3852  +
host;my-header1;x-amz-date;x-amz-region-set
        3853  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3170   3854   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 3171   3855   
new file mode 100644
 3172   3856   
index 0000000..d51b4f3
 3173         -
-- /dev/null
        3857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 3174   3858   
@@ -0,0 +1 @@
        3859  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 3175   3860   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 3176   3861   
new file mode 100644
 3177   3862   
index 0000000..8131420
 3178         -
-- /dev/null
        3863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 3179   3864   
@@ -0,0 +1,9 @@
        3865  +
GET / HTTP/1.1
        3866  +
Host:example.amazonaws.com
        3867  +
My-Header1:value1
        3868  +
  value2
        3869  +
     value3
        3870  +
X-Amz-Date:20150830T123600Z
        3871  +
X-Amz-Region-Set:us-east-1
        3872  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3873  +
 3180   3874   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 3181   3875   
new file mode 100644
 3182   3876   
index 0000000..e4d99fa
 3183         -
-- /dev/null
        3877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 3184   3878   
@@ -0,0 +1,4 @@
        3879  +
AWS4-ECDSA-P256-SHA256
        3880  +
20150830T123600Z
        3881  +
20150830/service/aws4_request
        3882  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 3185   3883   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 3186   3884   
new file mode 100644
 3187   3885   
index 0000000..379dcb2
 3188         -
-- /dev/null
        3886  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 3189   3887   
@@ -0,0 +1,4 @@
        3888  +
{
        3889  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3890  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3891  +
}
 3190   3892   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 3191   3893   
new file mode 100644
 3192   3894   
index 0000000..3c4d52f
 3193         -
-- /dev/null
        3895  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 3194   3896   
@@ -0,0 +1,8 @@
        3897  +
GET
        3898  +
/
        3899  +
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host%3Bmy-header1
        3900  +
host:example.amazonaws.com
        3901  +
my-header1:value1 value2 value3
        3902  +
        3903  +
host;my-header1
        3904  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3195   3905   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 3196   3906   
new file mode 100644
 3197   3907   
index 0000000..4e63f9a
 3198         -
-- /dev/null
        3908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 3199   3909   
@@ -0,0 +1 @@
        3910  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 3200   3911   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 3201   3912   
new file mode 100644
 3202   3913   
index 0000000..adf1f09
 3203         -
-- /dev/null
        3914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 3204   3915   
@@ -0,0 +1,6 @@
        3916  +
GET /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3045022039c91f52792bd02ebcd8959326e022c60a8a7f4febed58dbea23cb295df8dc9e022100b95d4fcdd93090a54badb5ccb0ec5d38e7b20ff81204f48ceda327b9b155c14d HTTP/1.1
        3917  +
Host:example.amazonaws.com
        3918  +
My-Header1:value1
        3919  +
  value2
        3920  +
     value3
        3921  +
 3205   3922   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3206   3923   
new file mode 100644
 3207   3924   
index 0000000..e085407
 3208         -
-- /dev/null
        3925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3209   3926   
@@ -0,0 +1,4 @@
        3927  +
AWS4-ECDSA-P256-SHA256
        3928  +
20150830T123600Z
        3929  +
20150830/service/aws4_request
        3930  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 3210   3931   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3211   3932   
new file mode 100644
 3212   3933   
index 0000000..b5026cd
 3213         -
-- /dev/null
        3934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3214   3935   
@@ -0,0 +1,5 @@
        3936  +
GET / HTTP/1.1
        3937  +
Host:example.amazonaws.com
        3938  +
My-Header1:value1
        3939  +
  value2
        3940  +
     value3
 3215   3941   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3216   3942   
new file mode 100644
 3217   3943   
index 0000000..0468d80
 3218         -
-- /dev/null
        3944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3219   3945   
@@ -0,0 +1,12 @@
        3946  +
{
        3947  +
    "credentials": {
        3948  +
        "access_key_id": "AKIDEXAMPLE",
        3949  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3950  +
    },
        3951  +
    "expiration_in_seconds": 3600,
        3952  +
    "normalize": true,
        3953  +
    "region": "us-east-1",
        3954  +
    "service": "service",
        3955  +
    "sign_body": false,
        3956  +
    "timestamp": "2015-08-30T12:36:00Z"
        3957  +
}
              \
 No newline at end of file
 3220   3958   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3221   3959   
similarity index 99%
 3222   3960   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3223   3961   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3224   3962   
index 9375193..533afdb 100644
 3225         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
        3963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3226   3964   
@@ -1,10 +1,10 @@
 3227   3965   
GET
 3228   3966   
/
 3229   3967   
 3230   3968   
host:example.amazonaws.com
 3231   3969   
my-header1:value4,value1,value3,value2
 3232   3970   
x-amz-date:20150830T123600Z
 3233   3971   
x-amz-region-set:us-east-1
 3234   3972   
 3235   3973   
host;my-header1;x-amz-date;x-amz-region-set
 3236         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3974  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3237   3975   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3238   3976   
new file mode 100644
 3239   3977   
index 0000000..057b426
 3240         -
-- /dev/null
        3978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3241   3979   
@@ -0,0 +1 @@
        3980  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3242   3981   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3243   3982   
new file mode 100644
 3244   3983   
index 0000000..4e4ccf0
 3245         -
-- /dev/null
        3984  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3246   3985   
@@ -0,0 +1,10 @@
        3986  +
GET / HTTP/1.1
        3987  +
Host:example.amazonaws.com
        3988  +
My-Header1:value4
        3989  +
My-Header1:value1
        3990  +
My-Header1:value3
        3991  +
My-Header1:value2
        3992  +
X-Amz-Date:20150830T123600Z
        3993  +
X-Amz-Region-Set:us-east-1
        3994  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3995  +
 3247   3996   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3248   3997   
similarity index 99%
 3249   3998   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3250   3999   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3251   4000   
index 6400baf..e68c952 100644
 3252         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
        4001  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3253   4002   
@@ -1,4 +1,4 @@
 3254   4003   
AWS4-ECDSA-P256-SHA256
 3255   4004   
20150830T123600Z
 3256   4005   
20150830/service/aws4_request
 3257         -
e1c3b5d34632ffff080330b3bc31906c8988bf1683f4af689ef3f1811952df36
        4006  +
e1c3b5d34632ffff080330b3bc31906c8988bf1683f4af689ef3f1811952df36
              \
 No newline at end of file
 3258   4007   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3259   4008   
new file mode 100644
 3260   4009   
index 0000000..379dcb2
 3261         -
-- /dev/null
        4010  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3262   4011   
@@ -0,0 +1,4 @@
        4012  +
{
        4013  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4014  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4015  +
}
 3263   4016   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3264   4017   
similarity index 99%
 3265   4018   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3266   4019   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3267   4020   
index ecf494a..68450fe 100644
 3268         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
        4021  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3269   4022   
@@ -1,8 +1,8 @@
 3270   4023   
GET
 3271   4024   
/
 3272   4025   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host%3Bmy-header1
 3273   4026   
host:example.amazonaws.com
 3274   4027   
my-header1:value4,value1,value3,value2
 3275   4028   
 3276   4029   
host;my-header1
 3277         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4030  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3278   4031   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3279   4032   
new file mode 100644
 3280   4033   
index 0000000..9df2eb3
 3281         -
-- /dev/null
        4034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3282   4035   
@@ -0,0 +1 @@
        4036  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3283   4037   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3284   4038   
new file mode 100644
 3285   4039   
index 0000000..62f8cb7
 3286         -
-- /dev/null
        4040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3287   4041   
@@ -0,0 +1,7 @@
        4042  +
GET /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402200c9f3470f63b573d7c7b8838d3acd8c527e4e5c3b990050c786f074107b12cf70220021b788568d7947e6ad6044e7cc6488dcdb4ff08f15e162ebd2537cc292ed168 HTTP/1.1
        4043  +
Host:example.amazonaws.com
        4044  +
My-Header1:value4
        4045  +
My-Header1:value1
        4046  +
My-Header1:value3
        4047  +
My-Header1:value2
        4048  +
 3288   4049   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3289   4050   
similarity index 99%
 3290   4051   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3291   4052   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3292   4053   
index b584179..2bcf7b1 100644
 3293         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
        4054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3294   4055   
@@ -1,4 +1,4 @@
 3295   4056   
AWS4-ECDSA-P256-SHA256
 3296   4057   
20150830T123600Z
 3297   4058   
20150830/service/aws4_request
 3298         -
e2bf35ea25a1943bf52cfc8348c787db8fd8ca642dc9f2b9443939c2fb0d3c54
        4059  +
e2bf35ea25a1943bf52cfc8348c787db8fd8ca642dc9f2b9443939c2fb0d3c54
              \
 No newline at end of file
 3299   4060   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3300   4061   
similarity index 80%
 3301   4062   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3302   4063   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3303   4064   
index f7bd9e6..2c6f49d 100644
 3304         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        4065  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3305   4066   
@@ -1,7 +1,6 @@
 3306   4067   
GET / HTTP/1.1
 3307   4068   
Host:example.amazonaws.com
 3308   4069   
My-Header1:value4
 3309   4070   
My-Header1:value1
 3310   4071   
My-Header1:value3
 3311   4072   
My-Header1:value2
 3312         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3313   4073   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3314   4074   
new file mode 100644
 3315   4075   
index 0000000..0468d80
 3316         -
-- /dev/null
        4076  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3317   4077   
@@ -0,0 +1,12 @@
        4078  +
{
        4079  +
    "credentials": {
        4080  +
        "access_key_id": "AKIDEXAMPLE",
        4081  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4082  +
    },
        4083  +
    "expiration_in_seconds": 3600,
        4084  +
    "normalize": true,
        4085  +
    "region": "us-east-1",
        4086  +
    "service": "service",
        4087  +
    "sign_body": false,
        4088  +
    "timestamp": "2015-08-30T12:36:00Z"
        4089  +
}
              \
 No newline at end of file
 3318   4090   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3319   4091   
similarity index 99%
 3320   4092   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3321   4093   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3322   4094   
index e91e952..94b6be5 100644
 3323         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
        4095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3324   4096   
@@ -1,11 +1,11 @@
 3325   4097   
GET
 3326   4098   
/
 3327   4099   
 3328   4100   
host:example.amazonaws.com
 3329   4101   
my-header1:value1
 3330   4102   
my-header2:"a b c"
 3331   4103   
x-amz-date:20150830T123600Z
 3332   4104   
x-amz-region-set:us-east-1
 3333   4105   
 3334   4106   
host;my-header1;my-header2;x-amz-date;x-amz-region-set
 3335         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4107  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3336   4108   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3337   4109   
new file mode 100644
 3338   4110   
index 0000000..bf8c3cb
 3339         -
-- /dev/null
        4111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3340   4112   
@@ -0,0 +1 @@
        4113  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3341   4114   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3342   4115   
new file mode 100644
 3343   4116   
index 0000000..f7f054d
 3344         -
-- /dev/null
        4117  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3345   4118   
@@ -0,0 +1,8 @@
        4119  +
GET / HTTP/1.1
        4120  +
Host:example.amazonaws.com
        4121  +
My-Header1: value1
        4122  +
My-Header2: "a   b   c"
        4123  +
X-Amz-Date:20150830T123600Z
        4124  +
X-Amz-Region-Set:us-east-1
        4125  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date;x-amz-region-set, Signature=3046022100ce72c874a80cea45e3c5b7cbe76178f8577870e1f97ee1730f57cff45c3d398b022100e4ea7b870335abab5ca57fa740d20b3c5aba2739cf96dd7fa671fc11cf6c3341
        4126  +
 3346   4127   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3347   4128   
similarity index 99%
 3348   4129   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3349   4130   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3350   4131   
index 0e407d8..a2c9c05 100644
 3351         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
        4132  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3352   4133   
@@ -1,4 +1,4 @@
 3353   4134   
AWS4-ECDSA-P256-SHA256
 3354   4135   
20150830T123600Z
 3355   4136   
20150830/service/aws4_request
 3356         -
18b43001be9b531ebdd8202144dbd7630ea8a35bc328a7d0e561dda03a876095
        4137  +
18b43001be9b531ebdd8202144dbd7630ea8a35bc328a7d0e561dda03a876095
              \
 No newline at end of file
 3357   4138   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3358   4139   
new file mode 100644
 3359   4140   
index 0000000..379dcb2
 3360         -
-- /dev/null
        4141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3361   4142   
@@ -0,0 +1,4 @@
        4143  +
{
        4144  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4145  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4146  +
}
 3362   4147   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3363   4148   
similarity index 99%
 3364   4149   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3365   4150   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3366   4151   
index 8a3b042..3a51150 100644
 3367         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
        4152  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3368   4153   
@@ -1,9 +1,9 @@
 3369   4154   
GET
 3370   4155   
/
 3371   4156   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host%3Bmy-header1%3Bmy-header2
 3372   4157   
host:example.amazonaws.com
 3373   4158   
my-header1:value1
 3374   4159   
my-header2:"a b c"
 3375   4160   
 3376   4161   
host;my-header1;my-header2
 3377         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4162  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3378   4163   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3379   4164   
new file mode 100644
 3380   4165   
index 0000000..0033053
 3381         -
-- /dev/null
        4166  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3382   4167   
@@ -0,0 +1 @@
        4168  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3383   4169   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3384   4170   
new file mode 100644
 3385   4171   
index 0000000..1537888
 3386         -
-- /dev/null
        4172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3387   4173   
@@ -0,0 +1,5 @@
        4174  +
GET /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1%3Bmy-header2&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304502210085dc6b963562f7d443e0c35819c752a39ab744a6a8820ec4718a2aaf6d9acbae02202053d5ec6fcd892c09ce485b169b94590f805a05348ade664bbe3e06a7c62edb HTTP/1.1
        4175  +
Host:example.amazonaws.com
        4176  +
My-Header1: value1
        4177  +
My-Header2: "a   b   c"
        4178  +
 3388   4179   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3389   4180   
similarity index 99%
 3390   4181   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3391   4182   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3392   4183   
index 5eead25..633dc1f 100644
 3393         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
        4184  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3394   4185   
@@ -1,4 +1,4 @@
 3395   4186   
AWS4-ECDSA-P256-SHA256
 3396   4187   
20150830T123600Z
 3397   4188   
20150830/service/aws4_request
 3398         -
4f92ebcf5f0844588e443a2243fafdb64319c6d1ad913c07686129b9991326a3
        4189  +
4f92ebcf5f0844588e443a2243fafdb64319c6d1ad913c07686129b9991326a3
              \
 No newline at end of file
 3399   4190   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3400   4191   
similarity index 75%
 3401   4192   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3402   4193   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3403   4194   
index 901f36c..ad1ea98 100644
 3404         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        4195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3405   4196   
@@ -1,5 +1,4 @@
 3406   4197   
GET / HTTP/1.1
 3407   4198   
Host:example.amazonaws.com
 3408   4199   
My-Header1: value1
 3409   4200   
My-Header2: "a   b   c"
 3410         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3411   4201   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3412   4202   
new file mode 100644
 3413   4203   
index 0000000..0468d80
 3414         -
-- /dev/null
        4204  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3415   4205   
@@ -0,0 +1,12 @@
        4206  +
{
        4207  +
    "credentials": {
        4208  +
        "access_key_id": "AKIDEXAMPLE",
        4209  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4210  +
    },
        4211  +
    "expiration_in_seconds": 3600,
        4212  +
    "normalize": true,
        4213  +
    "region": "us-east-1",
        4214  +
    "service": "service",
        4215  +
    "sign_body": false,
        4216  +
    "timestamp": "2015-08-30T12:36:00Z"
        4217  +
}
              \
 No newline at end of file
 3416   4218   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3417   4219   
similarity index 99%
 3418   4220   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3419   4221   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3420   4222   
index 47e7128..76db73d 100644
 3421         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
        4223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3422   4224   
@@ -1,9 +1,9 @@
 3423   4225   
GET
 3424   4226   
/
 3425   4227   
 3426   4228   
host:example.amazonaws.com
 3427   4229   
x-amz-date:20150830T123600Z
 3428   4230   
x-amz-region-set:us-east-1
 3429   4231   
 3430   4232   
host;x-amz-date;x-amz-region-set
 3431         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4233  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3432   4234   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3433   4235   
new file mode 100644
 3434   4236   
index 0000000..cbd6ae2
 3435         -
-- /dev/null
        4237  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3436   4238   
@@ -0,0 +1 @@
        4239  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3437   4240   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3438   4241   
new file mode 100644
 3439   4242   
index 0000000..a343fcf
 3440         -
-- /dev/null
        4243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3441   4244   
@@ -0,0 +1,6 @@
        4245  +
GET /example/.. HTTP/1.1
        4246  +
Host:example.amazonaws.com
        4247  +
X-Amz-Date:20150830T123600Z
        4248  +
X-Amz-Region-Set:us-east-1
        4249  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        4250  +
 3442   4251   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3443   4252   
similarity index 99%
 3444   4253   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3445   4254   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3446   4255   
index 95d7219..600f1d8 100644
 3447         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
        4256  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3448   4257   
@@ -1,4 +1,4 @@
 3449   4258   
AWS4-ECDSA-P256-SHA256
 3450   4259   
20150830T123600Z
 3451   4260   
20150830/service/aws4_request
 3452         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4261  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3453   4262   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3454   4263   
new file mode 100644
 3455   4264   
index 0000000..379dcb2
 3456         -
-- /dev/null
        4265  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3457   4266   
@@ -0,0 +1,4 @@
        4267  +
{
        4268  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4269  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4270  +
}
 3458   4271   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3459   4272   
similarity index 99%
 3460   4273   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3461   4274   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3462   4275   
index a34ea26..779c51c 100644
 3463         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
        4276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3464   4277   
@@ -1,7 +1,7 @@
 3465   4278   
GET
 3466   4279   
/
 3467   4280   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 3468   4281   
host:example.amazonaws.com
 3469   4282   
 3470   4283   
host
 3471         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4284  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3472   4285   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3473   4286   
new file mode 100644
 3474   4287   
index 0000000..3cc88e6
 3475         -
-- /dev/null
        4288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3476   4289   
@@ -0,0 +1 @@
        4290  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3477   4291   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3478   4292   
new file mode 100644
 3479   4293   
index 0000000..f68dde8
 3480         -
-- /dev/null
        4294  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3481   4295   
@@ -0,0 +1,3 @@
        4296  +
GET /example/..?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3045022100be82e63cce1729590924a36bd6902036fe392d1b6196cffc2bf9620c8c5488b40220029a31d7cbb60816e40c0a00a53520db7d7928296b4236c2d0ada59c08b85bc4 HTTP/1.1
        4297  +
Host:example.amazonaws.com
        4298  +
 3482   4299   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3483   4300   
similarity index 99%
 3484   4301   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3485   4302   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3486   4303   
index 48f855c..6e29a7e 100644
 3487         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
        4304  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3488   4305   
@@ -1,4 +1,4 @@
 3489   4306   
AWS4-ECDSA-P256-SHA256
 3490   4307   
20150830T123600Z
 3491   4308   
20150830/service/aws4_request
 3492         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4309  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3493   4310   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3494   4311   
similarity index 65%
 3495   4312   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3496   4313   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3497   4314   
index 9d6d7ca..6aa9f99 100644
 3498         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        4315  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3499   4316   
@@ -1,3 +1,2 @@
 3500   4317   
GET /example/.. HTTP/1.1
 3501   4318   
Host:example.amazonaws.com
 3502         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3503   4319   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3504   4320   
new file mode 100644
 3505   4321   
index 0000000..0468d80
 3506         -
-- /dev/null
        4322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3507   4323   
@@ -0,0 +1,12 @@
        4324  +
{
        4325  +
    "credentials": {
        4326  +
        "access_key_id": "AKIDEXAMPLE",
        4327  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4328  +
    },
        4329  +
    "expiration_in_seconds": 3600,
        4330  +
    "normalize": true,
        4331  +
    "region": "us-east-1",
        4332  +
    "service": "service",
        4333  +
    "sign_body": false,
        4334  +
    "timestamp": "2015-08-30T12:36:00Z"
        4335  +
}
              \
 No newline at end of file
 3508   4336   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3509   4337   
similarity index 99%
 3510   4338   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3511   4339   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3512   4340   
index 47e7128..76db73d 100644
 3513         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
        4341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3514   4342   
@@ -1,9 +1,9 @@
 3515   4343   
GET
 3516   4344   
/
 3517   4345   
 3518   4346   
host:example.amazonaws.com
 3519   4347   
x-amz-date:20150830T123600Z
 3520   4348   
x-amz-region-set:us-east-1
 3521   4349   
 3522   4350   
host;x-amz-date;x-amz-region-set
 3523         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4351  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3524   4352   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3525   4353   
new file mode 100644
 3526   4354   
index 0000000..f7a7ebe
 3527         -
-- /dev/null
        4355  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3528   4356   
@@ -0,0 +1 @@
        4357  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3529   4358   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3530   4359   
new file mode 100644
 3531   4360   
index 0000000..9d2c50d
 3532         -
-- /dev/null
        4361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3533   4362   
@@ -0,0 +1,6 @@
        4363  +
GET /example1/example2/../.. HTTP/1.1
        4364  +
Host:example.amazonaws.com
        4365  +
X-Amz-Date:20150830T123600Z
        4366  +
X-Amz-Region-Set:us-east-1
        4367  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4368  +
 3534   4369   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3535   4370   
similarity index 99%
 3536   4371   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-string-to-sign.txt
 3537   4372   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3538   4373   
index 95d7219..600f1d8 100644
 3539         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-string-to-sign.txt
        4374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3540   4375   
@@ -1,4 +1,4 @@
 3541   4376   
AWS4-ECDSA-P256-SHA256
 3542   4377   
20150830T123600Z
 3543   4378   
20150830/service/aws4_request
 3544         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4379  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3545   4380   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3546   4381   
new file mode 100644
 3547   4382   
index 0000000..379dcb2
 3548         -
-- /dev/null
        4383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3549   4384   
@@ -0,0 +1,4 @@
        4385  +
{
        4386  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4387  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4388  +
}
 3550   4389   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3551   4390   
similarity index 99%
 3552   4391   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3553   4392   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3554   4393   
index a34ea26..779c51c 100644
 3555         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
        4394  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3556   4395   
@@ -1,7 +1,7 @@
 3557   4396   
GET
 3558   4397   
/
 3559   4398   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 3560   4399   
host:example.amazonaws.com
 3561   4400   
 3562   4401   
host
 3563         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4402  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3564   4403   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3565   4404   
new file mode 100644
 3566   4405   
index 0000000..45ef286
 3567         -
-- /dev/null
        4406  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3568   4407   
@@ -0,0 +1 @@
        4408  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3569   4409   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3570   4410   
new file mode 100644
 3571   4411   
index 0000000..0d16f66
 3572         -
-- /dev/null
        4412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3573   4413   
@@ -0,0 +1,3 @@
        4414  +
GET /example1/example2/../..?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304502202eec946a96e06beaaf22963e2051d0f9200ffdcbe9e179761a0c324142cd5291022100af3d0044ff5a67452342aa457aa7d5646f5f834a9458b147ba4152bb658f0727 HTTP/1.1
        4415  +
Host:example.amazonaws.com
        4416  +
 3574   4417   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3575   4418   
similarity index 99%
 3576   4419   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-string-to-sign.txt
 3577   4420   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3578   4421   
index 48f855c..6e29a7e 100644
 3579         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-string-to-sign.txt
        4422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3580   4423   
@@ -1,4 +1,4 @@
 3581   4424   
AWS4-ECDSA-P256-SHA256
 3582   4425   
20150830T123600Z
 3583   4426   
20150830/service/aws4_request
 3584         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4427  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3585   4428   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3586   4429   
similarity index 70%
 3587   4430   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3588   4431   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3589   4432   
index cfd4e8b..a856c10 100644
 3590         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3591   4434   
@@ -1,3 +1,2 @@
 3592   4435   
GET /example1/example2/../.. HTTP/1.1
 3593   4436   
Host:example.amazonaws.com
 3594         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3595   4437   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3596   4438   
new file mode 100644
 3597   4439   
index 0000000..7bee5c7
 3598         -
-- /dev/null
        4440  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3599   4441   
@@ -0,0 +1,12 @@
        4442  +
{
        4443  +
    "credentials": {
        4444  +
        "access_key_id": "AKIDEXAMPLE",
        4445  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4446  +
    },
        4447  +
    "expiration_in_seconds": 3600,
        4448  +
    "normalize": false,
        4449  +
    "region": "us-east-1",
        4450  +
    "service": "service",
        4451  +
    "sign_body": false,
        4452  +
    "timestamp": "2015-08-30T12:36:00Z"
        4453  +
}
              \
 No newline at end of file
 3600   4454   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3601   4455   
similarity index 99%
 3602   4456   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3603   4457   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3604   4458   
index 5e1d1cf..e4e6d57 100644
 3605         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
        4459  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3606   4460   
@@ -1,9 +1,9 @@
 3607   4461   
GET
 3608   4462   
/example1/example2/../..
 3609   4463   
 3610   4464   
host:example.amazonaws.com
 3611   4465   
x-amz-date:20150830T123600Z
 3612   4466   
x-amz-region-set:us-east-1
 3613   4467   
 3614   4468   
host;x-amz-date;x-amz-region-set
 3615         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4469  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3616   4470   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3617   4471   
new file mode 100644
 3618   4472   
index 0000000..2d1b47c
 3619         -
-- /dev/null
        4473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3620   4474   
@@ -0,0 +1 @@
        4475  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3621   4476   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3622   4477   
new file mode 100644
 3623   4478   
index 0000000..7158179
 3624         -
-- /dev/null
        4479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3625   4480   
@@ -0,0 +1,6 @@
        4481  +
GET /example1/example2/../.. HTTP/1.1
        4482  +
Host:example.amazonaws.com
        4483  +
X-Amz-Date:20150830T123600Z
        4484  +
X-Amz-Region-Set:us-east-1
        4485  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4486  +
 3626   4487   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3627   4488   
similarity index 99%
 3628   4489   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3629   4490   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3630   4491   
index 1cca6cf..db60c8e 100644
 3631         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
        4492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3632   4493   
@@ -1,4 +1,4 @@
 3633   4494   
AWS4-ECDSA-P256-SHA256
 3634   4495   
20150830T123600Z
 3635   4496   
20150830/service/aws4_request
 3636         -
7bad1fab948577ec4e860ff2bb06ce9b69f0dd60eb8a9ad7c016b584254f9b5b
        4497  +
7bad1fab948577ec4e860ff2bb06ce9b69f0dd60eb8a9ad7c016b584254f9b5b
              \
 No newline at end of file
 3637   4498   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3638   4499   
new file mode 100644
 3639   4500   
index 0000000..379dcb2
 3640         -
-- /dev/null
        4501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3641   4502   
@@ -0,0 +1,4 @@
        4503  +
{
        4504  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4505  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4506  +
}
 3642   4507   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3643   4508   
similarity index 99%
 3644   4509   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3645   4510   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3646   4511   
index 95dc104..0d963ba 100644
 3647         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
        4512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3648   4513   
@@ -1,7 +1,7 @@
 3649   4514   
GET
 3650   4515   
/example1/example2/../..
 3651   4516   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 3652   4517   
host:example.amazonaws.com
 3653   4518   
 3654   4519   
host
 3655         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4520  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3656   4521   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3657   4522   
new file mode 100644
 3658   4523   
index 0000000..ae774e4
 3659         -
-- /dev/null
        4524  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3660   4525   
@@ -0,0 +1 @@
        4526  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3661   4527   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3662   4528   
new file mode 100644
 3663   4529   
index 0000000..be6b86e
 3664         -
-- /dev/null
        4530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3665   4531   
@@ -0,0 +1,3 @@
        4532  +
GET /example1/example2/../..?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3046022100dfbb77a9369c87af1e00ef8b4da3761849080372576a86e0d1ae0363b135f8f6022100fac80ba02cc33852349f6b19b8fc066724557186b1efe82421e73fb85bfbddef HTTP/1.1
        4533  +
Host:example.amazonaws.com
        4534  +
 3666   4535   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3667   4536   
similarity index 99%
 3668   4537   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3669   4538   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3670   4539   
index 50edce6..fcc70cd 100644
 3671         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
        4540  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3672   4541   
@@ -1,4 +1,4 @@
 3673   4542   
AWS4-ECDSA-P256-SHA256
 3674   4543   
20150830T123600Z
 3675   4544   
20150830/service/aws4_request
 3676         -
504892d7f7262dd98d79ab7f3bb6f918cd59d491aacb2d76450f6e065479b31a
        4545  +
504892d7f7262dd98d79ab7f3bb6f918cd59d491aacb2d76450f6e065479b31a
              \
 No newline at end of file
 3677   4546   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3678   4547   
new file mode 100644
 3679   4548   
index 0000000..a856c10
 3680         -
-- /dev/null
        4549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3681   4550   
@@ -0,0 +1,2 @@
        4551  +
GET /example1/example2/../.. HTTP/1.1
        4552  +
Host:example.amazonaws.com
 3682   4553   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3683   4554   
new file mode 100644
 3684   4555   
index 0000000..7bee5c7
 3685         -
-- /dev/null
        4556  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3686   4557   
@@ -0,0 +1,12 @@
        4558  +
{
        4559  +
    "credentials": {
        4560  +
        "access_key_id": "AKIDEXAMPLE",
        4561  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4562  +
    },
        4563  +
    "expiration_in_seconds": 3600,
        4564  +
    "normalize": false,
        4565  +
    "region": "us-east-1",
        4566  +
    "service": "service",
        4567  +
    "sign_body": false,
        4568  +
    "timestamp": "2015-08-30T12:36:00Z"
        4569  +
}
              \
 No newline at end of file
 3687   4570   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3688   4571   
similarity index 99%
 3689   4572   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3690   4573   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3691   4574   
index d6a0abe..22def1a 100644
 3692         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
        4575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3693   4576   
@@ -1,9 +1,9 @@
 3694   4577   
GET
 3695   4578   
/example/..
 3696   4579   
 3697   4580   
host:example.amazonaws.com
 3698   4581   
x-amz-date:20150830T123600Z
 3699   4582   
x-amz-region-set:us-east-1
 3700   4583   
 3701   4584   
host;x-amz-date;x-amz-region-set
 3702         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4585  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3703   4586   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3704   4587   
new file mode 100644
 3705   4588   
index 0000000..9251bad
 3706         -
-- /dev/null
        4589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3707   4590   
@@ -0,0 +1 @@
        4591  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3708   4592   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3709   4593   
new file mode 100644
 3710   4594   
index 0000000..f1bb60f
 3711         -
-- /dev/null
        4595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3712   4596   
@@ -0,0 +1,6 @@
        4597  +
GET /example/.. HTTP/1.1
        4598  +
Host:example.amazonaws.com
        4599  +
X-Amz-Date:20150830T123600Z
        4600  +
X-Amz-Region-Set:us-east-1
        4601  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4602  +
 3713   4603   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3714   4604   
similarity index 99%
 3715   4605   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3716   4606   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3717   4607   
index 4a34e93..5673a20 100644
 3718         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
        4608  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3719   4609   
@@ -1,4 +1,4 @@
 3720   4610   
AWS4-ECDSA-P256-SHA256
 3721   4611   
20150830T123600Z
 3722   4612   
20150830/service/aws4_request
 3723         -
c859b5032f2ebd5df0285ff633b495b0e6e962e5adb94731c95e8e993a9a8213
        4613  +
c859b5032f2ebd5df0285ff633b495b0e6e962e5adb94731c95e8e993a9a8213
              \
 No newline at end of file
 3724   4614   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3725   4615   
new file mode 100644
 3726   4616   
index 0000000..379dcb2
 3727         -
-- /dev/null
        4617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3728   4618   
@@ -0,0 +1,4 @@
        4619  +
{
        4620  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4621  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4622  +
}
 3729   4623   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3730   4624   
similarity index 99%
 3731   4625   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3732   4626   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3733   4627   
index b1d123e..a1c22e0 100644
 3734         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
        4628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3735   4629   
@@ -1,7 +1,7 @@
 3736   4630   
GET
 3737   4631   
/example/..
 3738   4632   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 3739   4633   
host:example.amazonaws.com
 3740   4634   
 3741   4635   
host
 3742         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4636  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3743   4637   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3744   4638   
new file mode 100644
 3745   4639   
index 0000000..9f0f686
 3746         -
-- /dev/null
        4640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3747   4641   
@@ -0,0 +1 @@
        4642  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3748   4643   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3749   4644   
new file mode 100644
 3750   4645   
index 0000000..d1d451a
 3751         -
-- /dev/null
        4646  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3752   4647   
@@ -0,0 +1,3 @@
        4648  +
GET /example/..?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3045022029b3d53b5fdc8a5c0f769c2cf41221d06b6f88e941e92e11c47009b2f768908c022100b979fc4142576a3328bf28172fcd71d47556f06d90a55a2f19c7b0f9b946c7f2 HTTP/1.1
        4649  +
Host:example.amazonaws.com
        4650  +
 3753   4651   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3754   4652   
similarity index 99%
 3755   4653   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3756   4654   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3757   4655   
index a17f5ab..81b41e8 100644
 3758         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
        4656  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3759   4657   
@@ -1,4 +1,4 @@
 3760   4658   
AWS4-ECDSA-P256-SHA256
 3761   4659   
20150830T123600Z
 3762   4660   
20150830/service/aws4_request
 3763         -
bbbb3668f996906ebb2c96ebdc2418af99656315adaf647989ab336c88fb516e
        4661  +
bbbb3668f996906ebb2c96ebdc2418af99656315adaf647989ab336c88fb516e
              \
 No newline at end of file
 3764   4662   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3765   4663   
new file mode 100644
 3766   4664   
index 0000000..6aa9f99
 3767         -
-- /dev/null
        4665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3768   4666   
@@ -0,0 +1,2 @@
        4667  +
GET /example/.. HTTP/1.1
        4668  +
Host:example.amazonaws.com
 3769   4669   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3770   4670   
new file mode 100644
 3771   4671   
index 0000000..0468d80
 3772         -
-- /dev/null
        4672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3773   4673   
@@ -0,0 +1,12 @@
        4674  +
{
        4675  +
    "credentials": {
        4676  +
        "access_key_id": "AKIDEXAMPLE",
        4677  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4678  +
    },
        4679  +
    "expiration_in_seconds": 3600,
        4680  +
    "normalize": true,
        4681  +
    "region": "us-east-1",
        4682  +
    "service": "service",
        4683  +
    "sign_body": false,
        4684  +
    "timestamp": "2015-08-30T12:36:00Z"
        4685  +
}
              \
 No newline at end of file
 3774   4686   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3775   4687   
similarity index 99%
 3776   4688   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3777   4689   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3778   4690   
index 47e7128..76db73d 100644
 3779         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
        4691  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3780   4692   
@@ -1,9 +1,9 @@
 3781   4693   
GET
 3782   4694   
/
 3783   4695   
 3784   4696   
host:example.amazonaws.com
 3785   4697   
x-amz-date:20150830T123600Z
 3786   4698   
x-amz-region-set:us-east-1
 3787   4699   
 3788   4700   
host;x-amz-date;x-amz-region-set
 3789         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4701  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3790   4702   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3791   4703   
new file mode 100644
 3792   4704   
index 0000000..ca6e84e
 3793         -
-- /dev/null
        4705  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3794   4706   
@@ -0,0 +1 @@
        4707  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3795   4708   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3796   4709   
new file mode 100644
 3797   4710   
index 0000000..a7c764c
 3798         -
-- /dev/null
        4711  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3799   4712   
@@ -0,0 +1,6 @@
        4713  +
GET /./ HTTP/1.1
        4714  +
Host:example.amazonaws.com
        4715  +
X-Amz-Date:20150830T123600Z
        4716  +
X-Amz-Region-Set:us-east-1
        4717  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4718  +
 3800   4719   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-string-to-sign.txt
 3801   4720   
similarity index 99%
 3802   4721   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3803   4722   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-string-to-sign.txt
 3804   4723   
index 95d7219..600f1d8 100644
 3805         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
        4724  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-string-to-sign.txt
 3806   4725   
@@ -1,4 +1,4 @@
 3807   4726   
AWS4-ECDSA-P256-SHA256
 3808   4727   
20150830T123600Z
 3809   4728   
20150830/service/aws4_request
 3810         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4729  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3811   4730   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3812   4731   
new file mode 100644
 3813   4732   
index 0000000..379dcb2
 3814         -
-- /dev/null
        4733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3815   4734   
@@ -0,0 +1,4 @@
        4735  +
{
        4736  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4737  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4738  +
}
 3816   4739   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3817   4740   
similarity index 99%
 3818   4741   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3819   4742   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3820   4743   
index a34ea26..779c51c 100644
 3821         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
        4744  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3822   4745   
@@ -1,7 +1,7 @@
 3823   4746   
GET
 3824   4747   
/
 3825   4748   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 3826   4749   
host:example.amazonaws.com
 3827   4750   
 3828   4751   
host
 3829         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4752  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3830   4753   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3831   4754   
new file mode 100644
 3832   4755   
index 0000000..4b6ed09
 3833         -
-- /dev/null
        4756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3834   4757   
@@ -0,0 +1 @@
        4758  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3835   4759   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3836   4760   
new file mode 100644
 3837   4761   
index 0000000..d6c7176
 3838         -
-- /dev/null
        4762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3839   4763   
@@ -0,0 +1,3 @@
        4764  +
GET /./?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3046022100d44a1214b0389964d48bf1ea73df6649f6dbd213421986ce9c2fae6397c9a866022100e54a0895ed71289a7b38282fbbf57ab4bdf6558bec6bff5b05c0d2b1a4f9b7e2 HTTP/1.1
        4765  +
Host:example.amazonaws.com
        4766  +
 3840   4767   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-string-to-sign.txt
 3841   4768   
similarity index 99%
 3842   4769   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3843   4770   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-string-to-sign.txt
 3844   4771   
index 48f855c..6e29a7e 100644
 3845         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
        4772  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-string-to-sign.txt
 3846   4773   
@@ -1,4 +1,4 @@
 3847   4774   
AWS4-ECDSA-P256-SHA256
 3848   4775   
20150830T123600Z
 3849   4776   
20150830/service/aws4_request
 3850         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4777  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3851   4778   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3852   4779   
similarity index 61%
 3853   4780   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.req
 3854   4781   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3855   4782   
index f3537b7..2c5ff38 100644
 3856         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.req
        4783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3857   4784   
@@ -1,3 +1,2 @@
 3858   4785   
GET /./ HTTP/1.1
 3859   4786   
Host:example.amazonaws.com
 3860         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3861   4787   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3862   4788   
new file mode 100644
 3863   4789   
index 0000000..7bee5c7
 3864         -
-- /dev/null
        4790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3865   4791   
@@ -0,0 +1,12 @@
        4792  +
{
        4793  +
    "credentials": {
        4794  +
        "access_key_id": "AKIDEXAMPLE",
        4795  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4796  +
    },
        4797  +
    "expiration_in_seconds": 3600,
        4798  +
    "normalize": false,
        4799  +
    "region": "us-east-1",
        4800  +
    "service": "service",
        4801  +
    "sign_body": false,
        4802  +
    "timestamp": "2015-08-30T12:36:00Z"
        4803  +
}
              \
 No newline at end of file
 3866   4804   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3867   4805   
similarity index 99%
 3868   4806   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3869   4807   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3870   4808   
index d05303d..9257ac4 100644
 3871         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
        4809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3872   4810   
@@ -1,9 +1,9 @@
 3873   4811   
GET
 3874   4812   
/./
 3875   4813   
 3876   4814   
host:example.amazonaws.com
 3877   4815   
x-amz-date:20150830T123600Z
 3878   4816   
x-amz-region-set:us-east-1
 3879   4817   
 3880   4818   
host;x-amz-date;x-amz-region-set
 3881         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4819  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3882   4820   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3883   4821   
new file mode 100644
 3884   4822   
index 0000000..2eb1aa5
 3885         -
-- /dev/null
        4823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3886   4824   
@@ -0,0 +1 @@
        4825  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3887   4826   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3888   4827   
new file mode 100644
 3889   4828   
index 0000000..df3b1da
 3890         -
-- /dev/null
        4829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3891   4830   
@@ -0,0 +1,6 @@
        4831  +
GET /./ HTTP/1.1
        4832  +
Host:example.amazonaws.com
        4833  +
X-Amz-Date:20150830T123600Z
        4834  +
X-Amz-Region-Set:us-east-1
        4835  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4836  +
 3892   4837   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 3893   4838   
similarity index 99%
 3894   4839   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 3895   4840   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 3896   4841   
index e1bfb39..754b3ed 100644
 3897         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
        4842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 3898   4843   
@@ -1,4 +1,4 @@
 3899   4844   
AWS4-ECDSA-P256-SHA256
 3900   4845   
20150830T123600Z
 3901   4846   
20150830/service/aws4_request
 3902         -
a14dce0217a32357c623c3db790988b6b5aa1494a527158b06d3ca4444561a4b
        4847  +
a14dce0217a32357c623c3db790988b6b5aa1494a527158b06d3ca4444561a4b
              \
 No newline at end of file
 3903   4848   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3904   4849   
new file mode 100644
 3905   4850   
index 0000000..379dcb2
 3906         -
-- /dev/null
        4851  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3907   4852   
@@ -0,0 +1,4 @@
        4853  +
{
        4854  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4855  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4856  +
}
 3908   4857   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3909   4858   
similarity index 99%
 3910   4859   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3911   4860   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3912   4861   
index f048d0f..c8edce3 100644
 3913         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
        4862  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3914   4863   
@@ -1,7 +1,7 @@
 3915   4864   
GET
 3916   4865   
/./
 3917   4866   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 3918   4867   
host:example.amazonaws.com
 3919   4868   
 3920   4869   
host
 3921         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4870  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3922   4871   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3923   4872   
new file mode 100644
 3924   4873   
index 0000000..d3af3b8
 3925         -
-- /dev/null
        4874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3926   4875   
@@ -0,0 +1 @@
        4876  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3927   4877   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3928   4878   
new file mode 100644
 3929   4879   
index 0000000..eb38155
 3930         -
-- /dev/null
        4880  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3931   4881   
@@ -0,0 +1,3 @@
        4882  +
GET /./?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304502210089daa43b189bd9fba8fc67a3b03b4dce6e29e0aff0bd40a6ce7df7e0c8f890e1022016592a48b323a176064eecf203863be8e3de057d3ff0d7736c121a9cf88ccb85 HTTP/1.1
        4883  +
Host:example.amazonaws.com
        4884  +
 3932   4885   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 3933   4886   
similarity index 99%
 3934   4887   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 3935   4888   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 3936   4889   
index bfcf245..4f20b8f 100644
 3937         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
        4890  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 3938   4891   
@@ -1,4 +1,4 @@
 3939   4892   
AWS4-ECDSA-P256-SHA256
 3940   4893   
20150830T123600Z
 3941   4894   
20150830/service/aws4_request
 3942         -
0d146fed00cdf50d7a87864583b7a33ca75322aab46b0a2d204f5d0c13440917
        4895  +
0d146fed00cdf50d7a87864583b7a33ca75322aab46b0a2d204f5d0c13440917
              \
 No newline at end of file
 3943   4896   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3944   4897   
new file mode 100644
 3945   4898   
index 0000000..2c5ff38
 3946         -
-- /dev/null
        4899  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3947   4900   
@@ -0,0 +1,2 @@
        4901  +
GET /./ HTTP/1.1
        4902  +
Host:example.amazonaws.com
 3948   4903   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3949   4904   
new file mode 100644
 3950   4905   
index 0000000..0468d80
 3951         -
-- /dev/null
        4906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3952   4907   
@@ -0,0 +1,12 @@
        4908  +
{
        4909  +
    "credentials": {
        4910  +
        "access_key_id": "AKIDEXAMPLE",
        4911  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4912  +
    },
        4913  +
    "expiration_in_seconds": 3600,
        4914  +
    "normalize": true,
        4915  +
    "region": "us-east-1",
        4916  +
    "service": "service",
        4917  +
    "sign_body": false,
        4918  +
    "timestamp": "2015-08-30T12:36:00Z"
        4919  +
}
              \
 No newline at end of file
 3953   4920   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3954   4921   
similarity index 99%
 3955   4922   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3956   4923   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3957   4924   
index 47e7128..76db73d 100644
 3958         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
        4925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3959   4926   
@@ -1,9 +1,9 @@
 3960   4927   
GET
 3961   4928   
/
 3962   4929   
 3963   4930   
host:example.amazonaws.com
 3964   4931   
x-amz-date:20150830T123600Z
 3965   4932   
x-amz-region-set:us-east-1
 3966   4933   
 3967   4934   
host;x-amz-date;x-amz-region-set
 3968         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4935  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3969   4936   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3970   4937   
new file mode 100644
 3971   4938   
index 0000000..0c049ca
 3972         -
-- /dev/null
        4939  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3973   4940   
@@ -0,0 +1 @@
        4941  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3974   4942   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3975   4943   
new file mode 100644
 3976   4944   
index 0000000..f4bb1e1
 3977         -
-- /dev/null
        4945  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3978   4946   
@@ -0,0 +1,6 @@
        4947  +
GET // HTTP/1.1
        4948  +
Host:example.amazonaws.com
        4949  +
X-Amz-Date:20150830T123600Z
        4950  +
X-Amz-Region-Set:us-east-1
        4951  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4952  +
 3979   4953   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3980   4954   
similarity index 99%
 3981   4955   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3982   4956   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3983   4957   
index 95d7219..600f1d8 100644
 3984         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
        4958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3985   4959   
@@ -1,4 +1,4 @@
 3986   4960   
AWS4-ECDSA-P256-SHA256
 3987   4961   
20150830T123600Z
 3988   4962   
20150830/service/aws4_request
 3989         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4963  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3990   4964   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3991   4965   
new file mode 100644
 3992   4966   
index 0000000..379dcb2
 3993         -
-- /dev/null
        4967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3994   4968   
@@ -0,0 +1,4 @@
        4969  +
{
        4970  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4971  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4972  +
}
 3995   4973   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3996   4974   
similarity index 99%
 3997   4975   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3998   4976   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3999   4977   
index a34ea26..779c51c 100644
 4000         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
        4978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 4001   4979   
@@ -1,7 +1,7 @@
 4002   4980   
GET
 4003   4981   
/
 4004   4982   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4005   4983   
host:example.amazonaws.com
 4006   4984   
 4007   4985   
host
 4008         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4986  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4009   4987   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 4010   4988   
new file mode 100644
 4011   4989   
index 0000000..ca52293
 4012         -
-- /dev/null
        4990  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 4013   4991   
@@ -0,0 +1 @@
        4992  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 4014   4993   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 4015   4994   
new file mode 100644
 4016   4995   
index 0000000..4a212a9
 4017         -
-- /dev/null
        4996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 4018   4997   
@@ -0,0 +1,3 @@
        4998  +
GET //?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402207e412e67f6164f6f3bdae2cc5af21bc5747106274a61a531b61275846a81a4f6022036260958080b0447f67df63ba3dbda6fe97dbffe54073491dc884ae4da43c83e HTTP/1.1
        4999  +
Host:example.amazonaws.com
        5000  +
 4019   5001   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 4020   5002   
similarity index 99%
 4021   5003   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 4022   5004   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 4023   5005   
index 48f855c..6e29a7e 100644
 4024         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
        5006  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 4025   5007   
@@ -1,4 +1,4 @@
 4026   5008   
AWS4-ECDSA-P256-SHA256
 4027   5009   
20150830T123600Z
 4028   5010   
20150830/service/aws4_request
 4029         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        5011  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4030   5012   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 4031   5013   
similarity index 61%
 4032   5014   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 4033   5015   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 4034   5016   
index ede8e3c..25bc21e 100644
 4035         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        5017  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 4036   5018   
@@ -1,3 +1,2 @@
 4037   5019   
GET // HTTP/1.1
 4038   5020   
Host:example.amazonaws.com
 4039         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4040   5021   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 4041   5022   
new file mode 100644
 4042   5023   
index 0000000..0468d80
 4043         -
-- /dev/null
        5024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 4044   5025   
@@ -0,0 +1,12 @@
        5026  +
{
        5027  +
    "credentials": {
        5028  +
        "access_key_id": "AKIDEXAMPLE",
        5029  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5030  +
    },
        5031  +
    "expiration_in_seconds": 3600,
        5032  +
    "normalize": true,
        5033  +
    "region": "us-east-1",
        5034  +
    "service": "service",
        5035  +
    "sign_body": false,
        5036  +
    "timestamp": "2015-08-30T12:36:00Z"
        5037  +
}
              \
 No newline at end of file
 4045   5038   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4046   5039   
similarity index 99%
 4047   5040   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4048   5041   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4049   5042   
index 2e36c20..a51f1ba 100644
 4050         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
        5043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4051   5044   
@@ -1,9 +1,9 @@
 4052   5045   
GET
 4053   5046   
/example
 4054   5047   
 4055   5048   
host:example.amazonaws.com
 4056   5049   
x-amz-date:20150830T123600Z
 4057   5050   
x-amz-region-set:us-east-1
 4058   5051   
 4059   5052   
host;x-amz-date;x-amz-region-set
 4060         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5053  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4061   5054   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 4062   5055   
new file mode 100644
 4063   5056   
index 0000000..f5c871f
 4064         -
-- /dev/null
        5057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 4065   5058   
@@ -0,0 +1 @@
        5059  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 4066   5060   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 4067   5061   
new file mode 100644
 4068   5062   
index 0000000..bda4718
 4069         -
-- /dev/null
        5063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 4070   5064   
@@ -0,0 +1,6 @@
        5065  +
GET /./example HTTP/1.1
        5066  +
Host:example.amazonaws.com
        5067  +
X-Amz-Date:20150830T123600Z
        5068  +
X-Amz-Region-Set:us-east-1
        5069  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        5070  +
 4071   5071   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 4072   5072   
similarity index 99%
 4073   5073   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 4074   5074   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 4075   5075   
index cd30e8b..2ffe879 100644
 4076         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-string-to-sign.txt
        5076  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 4077   5077   
@@ -1,4 +1,4 @@
 4078   5078   
AWS4-ECDSA-P256-SHA256
 4079   5079   
20150830T123600Z
 4080   5080   
20150830/service/aws4_request
 4081         -
823cb165e35e124f862c99c89a46414c24e3800f149377591e35a4848317e825
        5081  +
823cb165e35e124f862c99c89a46414c24e3800f149377591e35a4848317e825
              \
 No newline at end of file
 4082   5082   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 4083   5083   
new file mode 100644
 4084   5084   
index 0000000..379dcb2
 4085         -
-- /dev/null
        5085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 4086   5086   
@@ -0,0 +1,4 @@
        5087  +
{
        5088  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5089  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5090  +
}
 4087   5091   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4088   5092   
similarity index 99%
 4089   5093   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4090   5094   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4091   5095   
index 77cf28d..45151ea 100644
 4092         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
        5096  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4093   5097   
@@ -1,7 +1,7 @@
 4094   5098   
GET
 4095   5099   
/example
 4096   5100   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4097   5101   
host:example.amazonaws.com
 4098   5102   
 4099   5103   
host
 4100         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5104  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4101   5105   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 4102   5106   
new file mode 100644
 4103   5107   
index 0000000..11ad7bf
 4104         -
-- /dev/null
        5108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 4105   5109   
@@ -0,0 +1 @@
        5110  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 4106   5111   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 4107   5112   
new file mode 100644
 4108   5113   
index 0000000..a7537b1
 4109         -
-- /dev/null
        5114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 4110   5115   
@@ -0,0 +1,3 @@
        5116  +
GET /./example?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3045022100ae36c4ce9d4e0026419e57d4cac9d2d4fd487f2aa3e8520ef43d1d4b8b0e96f002202a4b135ab4cb49cc35dd756dd40f02ce96271d32f2f5ae2d671ccf535139a4b3 HTTP/1.1
        5117  +
Host:example.amazonaws.com
        5118  +
 4111   5119   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 4112   5120   
similarity index 99%
 4113   5121   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 4114   5122   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 4115   5123   
index 49d9b24..b486672 100644
 4116         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-string-to-sign.txt
        5124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 4117   5125   
@@ -1,4 +1,4 @@
 4118   5126   
AWS4-ECDSA-P256-SHA256
 4119   5127   
20150830T123600Z
 4120   5128   
20150830/service/aws4_request
 4121         -
0cc67a8acfed5946b645794c649dd98d3485728119cdf17d38985ba0ff55abca
        5129  +
0cc67a8acfed5946b645794c649dd98d3485728119cdf17d38985ba0ff55abca
              \
 No newline at end of file
 4122   5130   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 4123   5131   
similarity index 65%
 4124   5132   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.req
 4125   5133   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 4126   5134   
index 3c91071..5d919c9 100644
 4127         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.req
        5135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 4128   5136   
@@ -1,3 +1,2 @@
 4129   5137   
GET /./example HTTP/1.1
 4130   5138   
Host:example.amazonaws.com
 4131         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4132   5139   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 4133   5140   
new file mode 100644
 4134   5141   
index 0000000..7bee5c7
 4135         -
-- /dev/null
        5142  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 4136   5143   
@@ -0,0 +1,12 @@
        5144  +
{
        5145  +
    "credentials": {
        5146  +
        "access_key_id": "AKIDEXAMPLE",
        5147  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5148  +
    },
        5149  +
    "expiration_in_seconds": 3600,
        5150  +
    "normalize": false,
        5151  +
    "region": "us-east-1",
        5152  +
    "service": "service",
        5153  +
    "sign_body": false,
        5154  +
    "timestamp": "2015-08-30T12:36:00Z"
        5155  +
}
              \
 No newline at end of file
 4137   5156   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4138   5157   
similarity index 99%
 4139   5158   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4140   5159   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4141   5160   
index 4444842..2355a69 100644
 4142         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
        5161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4143   5162   
@@ -1,9 +1,9 @@
 4144   5163   
GET
 4145   5164   
/./example
 4146   5165   
 4147   5166   
host:example.amazonaws.com
 4148   5167   
x-amz-date:20150830T123600Z
 4149   5168   
x-amz-region-set:us-east-1
 4150   5169   
 4151   5170   
host;x-amz-date;x-amz-region-set
 4152         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5171  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4153   5172   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 4154   5173   
new file mode 100644
 4155   5174   
index 0000000..9c8f737
 4156         -
-- /dev/null
        5175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 4157   5176   
@@ -0,0 +1 @@
        5177  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 4158   5178   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 4159   5179   
new file mode 100644
 4160   5180   
index 0000000..aa5980d
 4161         -
-- /dev/null
        5181  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 4162   5182   
@@ -0,0 +1,6 @@
        5183  +
GET /./example HTTP/1.1
        5184  +
Host:example.amazonaws.com
        5185  +
X-Amz-Date:20150830T123600Z
        5186  +
X-Amz-Region-Set:us-east-1
        5187  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        5188  +
 4163   5189   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 4164   5190   
similarity index 99%
 4165   5191   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 4166   5192   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 4167   5193   
index cc63510..d056816 100644
 4168         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
        5194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 4169   5195   
@@ -1,4 +1,4 @@
 4170   5196   
AWS4-ECDSA-P256-SHA256
 4171   5197   
20150830T123600Z
 4172   5198   
20150830/service/aws4_request
 4173         -
407314cdff397462b2458ba1860907adefcbb73fd630ddbd3de7300d2f773804
        5199  +
407314cdff397462b2458ba1860907adefcbb73fd630ddbd3de7300d2f773804
              \
 No newline at end of file
 4174   5200   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 4175   5201   
new file mode 100644
 4176   5202   
index 0000000..379dcb2
 4177         -
-- /dev/null
        5203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 4178   5204   
@@ -0,0 +1,4 @@
        5205  +
{
        5206  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5207  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5208  +
}
 4179   5209   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4180   5210   
similarity index 99%
 4181   5211   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4182   5212   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4183   5213   
index ed2cb2d..df9928e 100644
 4184         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
        5214  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4185   5215   
@@ -1,7 +1,7 @@
 4186   5216   
GET
 4187   5217   
/./example
 4188   5218   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4189   5219   
host:example.amazonaws.com
 4190   5220   
 4191   5221   
host
 4192         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5222  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4193   5223   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 4194   5224   
new file mode 100644
 4195   5225   
index 0000000..bb4d86b
 4196         -
-- /dev/null
        5226  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 4197   5227   
@@ -0,0 +1 @@
        5228  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 4198   5229   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 4199   5230   
new file mode 100644
 4200   5231   
index 0000000..0061136
 4201         -
-- /dev/null
        5232  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 4202   5233   
@@ -0,0 +1,3 @@
        5234  +
GET /./example?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304602210090227b15d2fecbf2acbaf7db1e17d678ee26f351546b2a4b29ca288b094f0056022100c1b386398e19ea14bd93082062eef901365946ca05dcb166a8bc9ca5c9d1dfec HTTP/1.1
        5235  +
Host:example.amazonaws.com
        5236  +
 4203   5237   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 4204   5238   
similarity index 99%
 4205   5239   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 4206   5240   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 4207   5241   
index c9f3b6d..418f2d6 100644
 4208         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
        5242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 4209   5243   
@@ -1,4 +1,4 @@
 4210   5244   
AWS4-ECDSA-P256-SHA256
 4211   5245   
20150830T123600Z
 4212   5246   
20150830/service/aws4_request
 4213         -
efbe4f47c2acbb53fbfd0be6846cfa35a48c21f3f800e741278dae7b721302b4
        5247  +
efbe4f47c2acbb53fbfd0be6846cfa35a48c21f3f800e741278dae7b721302b4
              \
 No newline at end of file
 4214   5248   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 4215   5249   
new file mode 100644
 4216   5250   
index 0000000..5d919c9
 4217         -
-- /dev/null
        5251  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 4218   5252   
@@ -0,0 +1,2 @@
        5253  +
GET /./example HTTP/1.1
        5254  +
Host:example.amazonaws.com
 4219   5255   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 4220   5256   
new file mode 100644
 4221   5257   
index 0000000..7bee5c7
 4222         -
-- /dev/null
        5258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 4223   5259   
@@ -0,0 +1,12 @@
        5260  +
{
        5261  +
    "credentials": {
        5262  +
        "access_key_id": "AKIDEXAMPLE",
        5263  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5264  +
    },
        5265  +
    "expiration_in_seconds": 3600,
        5266  +
    "normalize": false,
        5267  +
    "region": "us-east-1",
        5268  +
    "service": "service",
        5269  +
    "sign_body": false,
        5270  +
    "timestamp": "2015-08-30T12:36:00Z"
        5271  +
}
              \
 No newline at end of file
 4224   5272   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 4225   5273   
similarity index 99%
 4226   5274   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 4227   5275   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 4228   5276   
index 8a4d33b..5f809da 100644
 4229         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
        5277  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 4230   5278   
@@ -1,9 +1,9 @@
 4231   5279   
GET
 4232   5280   
//
 4233   5281   
 4234   5282   
host:example.amazonaws.com
 4235   5283   
x-amz-date:20150830T123600Z
 4236   5284   
x-amz-region-set:us-east-1
 4237   5285   
 4238   5286   
host;x-amz-date;x-amz-region-set
 4239         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5287  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4240   5288   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 4241   5289   
new file mode 100644
 4242   5290   
index 0000000..60179e9
 4243         -
-- /dev/null
        5291  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 4244   5292   
@@ -0,0 +1 @@
        5293  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 4245   5294   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 4246   5295   
new file mode 100644
 4247   5296   
index 0000000..72bf1b7
 4248         -
-- /dev/null
        5297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 4249   5298   
@@ -0,0 +1,6 @@
        5299  +
GET // HTTP/1.1
        5300  +
Host:example.amazonaws.com
        5301  +
X-Amz-Date:20150830T123600Z
        5302  +
X-Amz-Region-Set:us-east-1
        5303  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        5304  +
 4250   5305   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 4251   5306   
similarity index 99%
 4252   5307   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 4253   5308   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 4254   5309   
index 874c01c..2b3bf67 100644
 4255         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
        5310  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 4256   5311   
@@ -1,4 +1,4 @@
 4257   5312   
AWS4-ECDSA-P256-SHA256
 4258   5313   
20150830T123600Z
 4259   5314   
20150830/service/aws4_request
 4260         -
fc8f42c7ce50ba8830a34b16d9fb478170176d78c81339e8d7e31d4baa9ec9f4
        5315  +
fc8f42c7ce50ba8830a34b16d9fb478170176d78c81339e8d7e31d4baa9ec9f4
              \
 No newline at end of file
 4261   5316   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 4262   5317   
new file mode 100644
 4263   5318   
index 0000000..379dcb2
 4264         -
-- /dev/null
        5319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 4265   5320   
@@ -0,0 +1,4 @@
        5321  +
{
        5322  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5323  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5324  +
}
 4266   5325   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 4267   5326   
similarity index 99%
 4268   5327   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 4269   5328   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 4270   5329   
index 81d7b0b..d10ad29 100644
 4271         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
        5330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 4272   5331   
@@ -1,7 +1,7 @@
 4273   5332   
GET
 4274   5333   
//
 4275   5334   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4276   5335   
host:example.amazonaws.com
 4277   5336   
 4278   5337   
host
 4279         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5338  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4280   5339   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 4281   5340   
new file mode 100644
 4282   5341   
index 0000000..d9bd824
 4283         -
-- /dev/null
        5342  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 4284   5343   
@@ -0,0 +1 @@
        5344  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 4285   5345   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 4286   5346   
new file mode 100644
 4287   5347   
index 0000000..19d1d46
 4288         -
-- /dev/null
        5348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 4289   5349   
@@ -0,0 +1,3 @@
        5350  +
GET //?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3046022100a3e0b71f92af44f8b58e94018ab4b3fddca86cacabaf94d4a100ab94f06c3bbf022100a6f920a313d8d01da331c95d6b12b4d51d90cad487a4a82c20eb5bb373d5f4d2 HTTP/1.1
        5351  +
Host:example.amazonaws.com
        5352  +
 4290   5353   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 4291   5354   
similarity index 99%
 4292   5355   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 4293   5356   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 4294   5357   
index 17e5279..24c8a5e 100644
 4295         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
        5358  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 4296   5359   
@@ -1,4 +1,4 @@
 4297   5360   
AWS4-ECDSA-P256-SHA256
 4298   5361   
20150830T123600Z
 4299   5362   
20150830/service/aws4_request
 4300         -
633e0570a745c18cc22e43af8be65cfed3e7173061ec403353734bdfae90e0b6
        5363  +
633e0570a745c18cc22e43af8be65cfed3e7173061ec403353734bdfae90e0b6
              \
 No newline at end of file
 4301   5364   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 4302   5365   
new file mode 100644
 4303   5366   
index 0000000..25bc21e
 4304         -
-- /dev/null
        5367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 4305   5368   
@@ -0,0 +1,2 @@
        5369  +
GET // HTTP/1.1
        5370  +
Host:example.amazonaws.com
 4306   5371   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 4307   5372   
new file mode 100644
 4308   5373   
index 0000000..0468d80
 4309         -
-- /dev/null
        5374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 4310   5375   
@@ -0,0 +1,12 @@
        5376  +
{
        5377  +
    "credentials": {
        5378  +
        "access_key_id": "AKIDEXAMPLE",
        5379  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5380  +
    },
        5381  +
    "expiration_in_seconds": 3600,
        5382  +
    "normalize": true,
        5383  +
    "region": "us-east-1",
        5384  +
    "service": "service",
        5385  +
    "sign_body": false,
        5386  +
    "timestamp": "2015-08-30T12:36:00Z"
        5387  +
}
              \
 No newline at end of file
 4311   5388   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 4312   5389   
similarity index 99%
 4313   5390   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 4314   5391   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 4315   5392   
index fdf9c48..a8e9e02 100644
 4316         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
        5393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 4317   5394   
@@ -1,9 +1,9 @@
 4318   5395   
GET
 4319   5396   
/example/
 4320   5397   
 4321   5398   
host:example.amazonaws.com
 4322   5399   
x-amz-date:20150830T123600Z
 4323   5400   
x-amz-region-set:us-east-1
 4324   5401   
 4325   5402   
host;x-amz-date;x-amz-region-set
 4326         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5403  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4327   5404   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 4328   5405   
new file mode 100644
 4329   5406   
index 0000000..ffe1b60
 4330         -
-- /dev/null
        5407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 4331   5408   
@@ -0,0 +1 @@
        5409  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 4332   5410   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 4333   5411   
new file mode 100644
 4334   5412   
index 0000000..3189f55
 4335         -
-- /dev/null
        5413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 4336   5414   
@@ -0,0 +1,6 @@
        5415  +
GET //example// HTTP/1.1
        5416  +
Host:example.amazonaws.com
        5417  +
X-Amz-Date:20150830T123600Z
        5418  +
X-Amz-Region-Set:us-east-1
        5419  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        5420  +
 4337   5421   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 4338   5422   
similarity index 99%
 4339   5423   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 4340   5424   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 4341   5425   
index 8f9c95e..430020e 100644
 4342         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
        5426  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 4343   5427   
@@ -1,4 +1,4 @@
 4344   5428   
AWS4-ECDSA-P256-SHA256
 4345   5429   
20150830T123600Z
 4346   5430   
20150830/service/aws4_request
 4347         -
ea6c9c4bc1e85b94f2579cebbc85a84c3f8eaa055c006697555f074dd68509a6
        5431  +
ea6c9c4bc1e85b94f2579cebbc85a84c3f8eaa055c006697555f074dd68509a6
              \
 No newline at end of file
 4348   5432   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 4349   5433   
new file mode 100644
 4350   5434   
index 0000000..379dcb2
 4351         -
-- /dev/null
        5435  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 4352   5436   
@@ -0,0 +1,4 @@
        5437  +
{
        5438  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5439  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5440  +
}
 4353   5441   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 4354   5442   
similarity index 99%
 4355   5443   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 4356   5444   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 4357   5445   
index 1046735..8d41e37 100644
 4358         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
        5446  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 4359   5447   
@@ -1,7 +1,7 @@
 4360   5448   
GET
 4361   5449   
/example/
 4362   5450   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4363   5451   
host:example.amazonaws.com
 4364   5452   
 4365   5453   
host
 4366         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5454  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4367   5455   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 4368   5456   
new file mode 100644
 4369   5457   
index 0000000..93a0fa4
 4370         -
-- /dev/null
        5458  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 4371   5459   
@@ -0,0 +1 @@
        5460  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 4372   5461   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 4373   5462   
new file mode 100644
 4374   5463   
index 0000000..65c8cb6
 4375         -
-- /dev/null
        5464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 4376   5465   
@@ -0,0 +1,3 @@
        5466  +
GET //example//?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3045022100ec452ebb2ae12447edb19c7c1824c5b5921650498ed70c3366d9bce4875f0095022007c29a38626d79722aa8f8882ea96003eaf2a135c4bed3394f24a068fded99f1 HTTP/1.1
        5467  +
Host:example.amazonaws.com
        5468  +
 4377   5469   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 4378   5470   
similarity index 99%
 4379   5471   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 4380   5472   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 4381   5473   
index b293cc2..0f4c4c5 100644
 4382         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
        5474  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 4383   5475   
@@ -1,4 +1,4 @@
 4384   5476   
AWS4-ECDSA-P256-SHA256
 4385   5477   
20150830T123600Z
 4386   5478   
20150830/service/aws4_request
 4387         -
ab3f7b8af0ce16e0faf508160fb13d890874992d74f36214ae9eec7437361f2b
        5479  +
ab3f7b8af0ce16e0faf508160fb13d890874992d74f36214ae9eec7437361f2b
              \
 No newline at end of file
 4388   5480   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4389   5481   
similarity index 65%
 4390   5482   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 4391   5483   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4392   5484   
index a4307ce..12e0931 100644
 4393         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        5485  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4394   5486   
@@ -1,3 +1,2 @@
 4395   5487   
GET //example// HTTP/1.1
 4396   5488   
Host:example.amazonaws.com
 4397         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4398   5489   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 4399   5490   
new file mode 100644
 4400   5491   
index 0000000..7bee5c7
 4401         -
-- /dev/null
        5492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 4402   5493   
@@ -0,0 +1,12 @@
        5494  +
{
        5495  +
    "credentials": {
        5496  +
        "access_key_id": "AKIDEXAMPLE",
        5497  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5498  +
    },
        5499  +
    "expiration_in_seconds": 3600,
        5500  +
    "normalize": false,
        5501  +
    "region": "us-east-1",
        5502  +
    "service": "service",
        5503  +
    "sign_body": false,
        5504  +
    "timestamp": "2015-08-30T12:36:00Z"
        5505  +
}
              \
 No newline at end of file
 4403   5506   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 4404   5507   
similarity index 99%
 4405   5508   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 4406   5509   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 4407   5510   
index a9c55f6..76f55ed 100644
 4408         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
        5511  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 4409   5512   
@@ -1,9 +1,9 @@
 4410   5513   
GET
 4411   5514   
//example//
 4412   5515   
 4413   5516   
host:example.amazonaws.com
 4414   5517   
x-amz-date:20150830T123600Z
 4415   5518   
x-amz-region-set:us-east-1
 4416   5519   
 4417   5520   
host;x-amz-date;x-amz-region-set
 4418         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5521  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4419   5522   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 4420   5523   
new file mode 100644
 4421   5524   
index 0000000..de333b2
 4422         -
-- /dev/null
        5525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 4423   5526   
@@ -0,0 +1 @@
        5527  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 4424   5528   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 4425   5529   
new file mode 100644
 4426   5530   
index 0000000..773ce63
 4427         -
-- /dev/null
        5531  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 4428   5532   
@@ -0,0 +1,6 @@
        5533  +
GET //example// HTTP/1.1
        5534  +
Host:example.amazonaws.com
        5535  +
X-Amz-Date:20150830T123600Z
        5536  +
X-Amz-Region-Set:us-east-1
        5537  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        5538  +
 4429   5539   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 4430   5540   
similarity index 99%
 4431   5541   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 4432   5542   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 4433   5543   
index 5c4c2cd..46c3265 100644
 4434         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
        5544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 4435   5545   
@@ -1,4 +1,4 @@
 4436   5546   
AWS4-ECDSA-P256-SHA256
 4437   5547   
20150830T123600Z
 4438   5548   
20150830/service/aws4_request
 4439         -
bf8c459a6a7f3879f55bff41e4dca65f69df4628456904e47f83013c0deb7276
        5549  +
bf8c459a6a7f3879f55bff41e4dca65f69df4628456904e47f83013c0deb7276
              \
 No newline at end of file
 4440   5550   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 4441   5551   
new file mode 100644
 4442   5552   
index 0000000..379dcb2
 4443         -
-- /dev/null
        5553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 4444   5554   
@@ -0,0 +1,4 @@
        5555  +
{
        5556  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5557  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5558  +
}
 4445   5559   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 4446   5560   
similarity index 99%
 4447   5561   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 4448   5562   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 4449   5563   
index c878ab4..6047ccf 100644
 4450         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
        5564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 4451   5565   
@@ -1,7 +1,7 @@
 4452   5566   
GET
 4453   5567   
//example//
 4454   5568   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4455   5569   
host:example.amazonaws.com
 4456   5570   
 4457   5571   
host
 4458         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5572  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4459   5573   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 4460   5574   
new file mode 100644
 4461   5575   
index 0000000..d61fcd0
 4462         -
-- /dev/null
        5576  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 4463   5577   
@@ -0,0 +1 @@
        5578  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 4464   5579   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 4465   5580   
new file mode 100644
 4466   5581   
index 0000000..3e37b5b
 4467         -
-- /dev/null
        5582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 4468   5583   
@@ -0,0 +1,3 @@
        5584  +
GET //example//?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3046022100b3e1640be9e64cd28d1ff4a1f157e9f3c751545d6e0a1f1c4e380fee08e8745b022100d9b667f2d38600993703f88b246b53ebb85faecfaf2de27cf39e43957e90d492 HTTP/1.1
        5585  +
Host:example.amazonaws.com
        5586  +
 4469   5587   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4470   5588   
similarity index 99%
 4471   5589   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 4472   5590   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4473   5591   
index 5f59645..2537d28 100644
 4474         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
        5592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4475   5593   
@@ -1,4 +1,4 @@
 4476   5594   
AWS4-ECDSA-P256-SHA256
 4477   5595   
20150830T123600Z
 4478   5596   
20150830/service/aws4_request
 4479         -
660b4a6f0bd53b287cefb21cdf69c1574303de44d2e9f7759b5379b428b70157
        5597  +
660b4a6f0bd53b287cefb21cdf69c1574303de44d2e9f7759b5379b428b70157
              \
 No newline at end of file
 4480   5598   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 4481   5599   
new file mode 100644
 4482   5600   
index 0000000..12e0931
 4483         -
-- /dev/null
        5601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 4484   5602   
@@ -0,0 +1,2 @@
        5603  +
GET //example// HTTP/1.1
        5604  +
Host:example.amazonaws.com
 4485   5605   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 4486   5606   
new file mode 100644
 4487   5607   
index 0000000..0468d80
 4488         -
-- /dev/null
        5608  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 4489   5609   
@@ -0,0 +1,12 @@
        5610  +
{
        5611  +
    "credentials": {
        5612  +
        "access_key_id": "AKIDEXAMPLE",
        5613  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5614  +
    },
        5615  +
    "expiration_in_seconds": 3600,
        5616  +
    "normalize": true,
        5617  +
    "region": "us-east-1",
        5618  +
    "service": "service",
        5619  +
    "sign_body": false,
        5620  +
    "timestamp": "2015-08-30T12:36:00Z"
        5621  +
}
              \
 No newline at end of file
 4490   5622   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 4491   5623   
new file mode 100644
 4492   5624   
index 0000000..0b2b616
 4493         -
-- /dev/null
        5625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 4494   5626   
@@ -0,0 +1,9 @@
        5627  +
GET
        5628  +
/example%20space/
        5629  +
        5630  +
host:example.amazonaws.com
        5631  +
x-amz-date:20150830T123600Z
        5632  +
x-amz-region-set:us-east-1
        5633  +
        5634  +
host;x-amz-date;x-amz-region-set
        5635  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4495   5636   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 4496   5637   
new file mode 100644
 4497   5638   
index 0000000..6e7841d
 4498         -
-- /dev/null
        5639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 4499   5640   
@@ -0,0 +1 @@
        5641  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 4500   5642   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 4501   5643   
new file mode 100644
 4502   5644   
index 0000000..0969cd3
 4503         -
-- /dev/null
        5645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 4504   5646   
@@ -0,0 +1,6 @@
        5647  +
GET /example space/ HTTP/1.1
        5648  +
Host:example.amazonaws.com
        5649  +
X-Amz-Date:20150830T123600Z
        5650  +
X-Amz-Region-Set:us-east-1
        5651  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        5652  +
 4505   5653   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 4506   5654   
new file mode 100644
 4507   5655   
index 0000000..ddae6e2
 4508         -
-- /dev/null
        5656  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 4509   5657   
@@ -0,0 +1,4 @@
        5658  +
AWS4-ECDSA-P256-SHA256
        5659  +
20150830T123600Z
        5660  +
20150830/service/aws4_request
        5661  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4510   5662   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 4511   5663   
new file mode 100644
 4512   5664   
index 0000000..379dcb2
 4513         -
-- /dev/null
        5665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 4514   5666   
@@ -0,0 +1,4 @@
        5667  +
{
        5668  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5669  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5670  +
}
 4515   5671   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 4516   5672   
new file mode 100644
 4517   5673   
index 0000000..a66b3cb
 4518         -
-- /dev/null
        5674  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 4519   5675   
@@ -0,0 +1,7 @@
        5676  +
GET
        5677  +
/example%20space/
        5678  +
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
        5679  +
host:example.amazonaws.com
        5680  +
        5681  +
host
        5682  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4520   5683   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 4521   5684   
new file mode 100644
 4522   5685   
index 0000000..b3253ae
 4523         -
-- /dev/null
        5686  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 4524   5687   
@@ -0,0 +1 @@
        5688  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 4525   5689   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 4526   5690   
new file mode 100644
 4527   5691   
index 0000000..9e335b2
 4528         -
-- /dev/null
        5692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 4529   5693   
@@ -0,0 +1,3 @@
        5694  +
GET /example space/?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402200bc73964284c5a0367aec4bc4c3e80c7425388c8f5ac963a3e0cc9437549bd2b022077b25c48bed62c31f1cc4bf78d56089953806d8132ccebf23907c9b4445db86c HTTP/1.1
        5695  +
Host:example.amazonaws.com
        5696  +
 4530   5697   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 4531   5698   
new file mode 100644
 4532   5699   
index 0000000..b6ff6fb
 4533         -
-- /dev/null
        5700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 4534   5701   
@@ -0,0 +1,4 @@
        5702  +
AWS4-ECDSA-P256-SHA256
        5703  +
20150830T123600Z
        5704  +
20150830/service/aws4_request
        5705  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4535   5706   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 4536   5707   
new file mode 100644
 4537   5708   
index 0000000..ab509ab
 4538         -
-- /dev/null
        5709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 4539   5710   
@@ -0,0 +1,2 @@
        5711  +
GET /example space/ HTTP/1.1
        5712  +
Host:example.amazonaws.com
 4540   5713   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 4541   5714   
new file mode 100644
 4542   5715   
index 0000000..7bee5c7
 4543         -
-- /dev/null
        5716  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 4544   5717   
@@ -0,0 +1,12 @@
        5718  +
{
        5719  +
    "credentials": {
        5720  +
        "access_key_id": "AKIDEXAMPLE",
        5721  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5722  +
    },
        5723  +
    "expiration_in_seconds": 3600,
        5724  +
    "normalize": false,
        5725  +
    "region": "us-east-1",
        5726  +
    "service": "service",
        5727  +
    "sign_body": false,
        5728  +
    "timestamp": "2015-08-30T12:36:00Z"
        5729  +
}
              \
 No newline at end of file
 4545   5730   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 4546   5731   
new file mode 100644
 4547   5732   
index 0000000..0b2b616
 4548         -
-- /dev/null
        5733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 4549   5734   
@@ -0,0 +1,9 @@
        5735  +
GET
        5736  +
/example%20space/
        5737  +
        5738  +
host:example.amazonaws.com
        5739  +
x-amz-date:20150830T123600Z
        5740  +
x-amz-region-set:us-east-1
        5741  +
        5742  +
host;x-amz-date;x-amz-region-set
        5743  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4550   5744   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 4551   5745   
new file mode 100644
 4552   5746   
index 0000000..e75ae08
 4553         -
-- /dev/null
        5747  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 4554   5748   
@@ -0,0 +1 @@
        5749  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 4555   5750   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 4556   5751   
new file mode 100644
 4557   5752   
index 0000000..cb089db
 4558         -
-- /dev/null
        5753  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 4559   5754   
@@ -0,0 +1,6 @@
        5755  +
GET /example space/ HTTP/1.1
        5756  +
Host:example.amazonaws.com
        5757  +
X-Amz-Date:20150830T123600Z
        5758  +
X-Amz-Region-Set:us-east-1
        5759  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5760  +
 4560   5761   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 4561   5762   
new file mode 100644
 4562   5763   
index 0000000..ddae6e2
 4563         -
-- /dev/null
        5764  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 4564   5765   
@@ -0,0 +1,4 @@
        5766  +
AWS4-ECDSA-P256-SHA256
        5767  +
20150830T123600Z
        5768  +
20150830/service/aws4_request
        5769  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4565   5770   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 4566   5771   
new file mode 100644
 4567   5772   
index 0000000..379dcb2
 4568         -
-- /dev/null
        5773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 4569   5774   
@@ -0,0 +1,4 @@
        5775  +
{
        5776  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5777  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5778  +
}
 4570   5779   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 4571   5780   
new file mode 100644
 4572   5781   
index 0000000..a66b3cb
 4573         -
-- /dev/null
        5782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 4574   5783   
@@ -0,0 +1,7 @@
        5784  +
GET
        5785  +
/example%20space/
        5786  +
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
        5787  +
host:example.amazonaws.com
        5788  +
        5789  +
host
        5790  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4575   5791   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 4576   5792   
new file mode 100644
 4577   5793   
index 0000000..66a80c3
 4578         -
-- /dev/null
        5794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 4579   5795   
@@ -0,0 +1 @@
        5796  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 4580   5797   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 4581   5798   
new file mode 100644
 4582   5799   
index 0000000..7d1b9d9
 4583         -
-- /dev/null
        5800  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 4584   5801   
@@ -0,0 +1,3 @@
        5802  +
GET /example space/?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402207c82fe84466237eda8666f893df1d96a82da91509bb11252d82af8744bb2155702200405ec0f65fd883703a556c6d7d74cfb36a2cbbd3dabd884957809e6c6856325 HTTP/1.1
        5803  +
Host:example.amazonaws.com
        5804  +
 4585   5805   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 4586   5806   
new file mode 100644
 4587   5807   
index 0000000..b6ff6fb
 4588         -
-- /dev/null
        5808  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 4589   5809   
@@ -0,0 +1,4 @@
        5810  +
AWS4-ECDSA-P256-SHA256
        5811  +
20150830T123600Z
        5812  +
20150830/service/aws4_request
        5813  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4590   5814   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 4591   5815   
new file mode 100644
 4592   5816   
index 0000000..ab509ab
 4593         -
-- /dev/null
        5817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 4594   5818   
@@ -0,0 +1,2 @@
        5819  +
GET /example space/ HTTP/1.1
        5820  +
Host:example.amazonaws.com
 4595   5821   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 4596   5822   
new file mode 100644
 4597   5823   
index 0000000..0468d80
 4598         -
-- /dev/null
        5824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 4599   5825   
@@ -0,0 +1,12 @@
        5826  +
{
        5827  +
    "credentials": {
        5828  +
        "access_key_id": "AKIDEXAMPLE",
        5829  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5830  +
    },
        5831  +
    "expiration_in_seconds": 3600,
        5832  +
    "normalize": true,
        5833  +
    "region": "us-east-1",
        5834  +
    "service": "service",
        5835  +
    "sign_body": false,
        5836  +
    "timestamp": "2015-08-30T12:36:00Z"
        5837  +
}
              \
 No newline at end of file
 4600   5838   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4601   5839   
similarity index 99%
 4602   5840   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 4603   5841   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4604   5842   
index b0db648..46d76bb 100644
 4605         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
        5843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4606   5844   
@@ -1,9 +1,9 @@
 4607   5845   
GET
 4608   5846   
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4609   5847   
 4610   5848   
host:example.amazonaws.com
 4611   5849   
x-amz-date:20150830T123600Z
 4612   5850   
x-amz-region-set:us-east-1
 4613   5851   
 4614   5852   
host;x-amz-date;x-amz-region-set
 4615         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5853  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4616   5854   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 4617   5855   
new file mode 100644
 4618   5856   
index 0000000..53c0cb6
 4619         -
-- /dev/null
        5857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 4620   5858   
@@ -0,0 +1 @@
        5859  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 4621   5860   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 4622   5861   
new file mode 100644
 4623   5862   
index 0000000..3bdb653
 4624         -
-- /dev/null
        5863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 4625   5864   
@@ -0,0 +1,6 @@
        5865  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5866  +
Host:example.amazonaws.com
        5867  +
X-Amz-Date:20150830T123600Z
        5868  +
X-Amz-Region-Set:us-east-1
        5869  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5870  +
 4626   5871   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4627   5872   
similarity index 99%
 4628   5873   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 4629   5874   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4630   5875   
index 20c7cd6..3b30173 100644
 4631         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
        5876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4632   5877   
@@ -1,4 +1,4 @@
 4633   5878   
AWS4-ECDSA-P256-SHA256
 4634   5879   
20150830T123600Z
 4635   5880   
20150830/service/aws4_request
 4636         -
b48c0f7d7cdaa2cd05e4b789c913063becd96ccace5296a334c950040e58bcac
        5881  +
b48c0f7d7cdaa2cd05e4b789c913063becd96ccace5296a334c950040e58bcac
              \
 No newline at end of file
 4637   5882   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 4638   5883   
new file mode 100644
 4639   5884   
index 0000000..379dcb2
 4640         -
-- /dev/null
        5885  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 4641   5886   
@@ -0,0 +1,4 @@
        5887  +
{
        5888  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5889  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5890  +
}
 4642   5891   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4643   5892   
similarity index 99%
 4644   5893   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 4645   5894   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4646   5895   
index f9fb726..7e93f58 100644
 4647         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
        5896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4648   5897   
@@ -1,7 +1,7 @@
 4649   5898   
GET
 4650   5899   
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4651   5900   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4652   5901   
host:example.amazonaws.com
 4653   5902   
 4654   5903   
host
 4655         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5904  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4656   5905   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 4657   5906   
new file mode 100644
 4658   5907   
index 0000000..48311a8
 4659         -
-- /dev/null
        5908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 4660   5909   
@@ -0,0 +1 @@
        5910  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 4661   5911   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 4662   5912   
new file mode 100644
 4663   5913   
index 0000000..82da9be
 4664         -
-- /dev/null
        5914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 4665   5915   
@@ -0,0 +1,3 @@
        5916  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3046022100e9480cf54bfa566c6225af6986818e36a79525af244316551c55f902494d774f0221008f15178ec18c589b3704ccfc9cd7daa410f148407f75bc5777afcca28470cfbb HTTP/1.1
        5917  +
Host:example.amazonaws.com
        5918  +
 4666   5919   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4667   5920   
similarity index 99%
 4668   5921   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 4669   5922   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4670   5923   
index ef06e89..4aab9a2 100644
 4671         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
        5924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4672   5925   
@@ -1,4 +1,4 @@
 4673   5926   
AWS4-ECDSA-P256-SHA256
 4674   5927   
20150830T123600Z
 4675   5928   
20150830/service/aws4_request
 4676         -
a967a5035e5dc574f94fb9f0de0faf9d56e889c26d9a65d7d0a15d89690280d1
        5929  +
a967a5035e5dc574f94fb9f0de0faf9d56e889c26d9a65d7d0a15d89690280d1
              \
 No newline at end of file
 4677   5930   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4678   5931   
similarity index 80%
 4679   5932   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 4680   5933   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4681   5934   
index da760cd..a149694 100644
 4682         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5935  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4683   5936   
@@ -1,3 +1,2 @@
 4684   5937   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4685   5938   
Host:example.amazonaws.com
 4686         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4687   5939   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4688   5940   
new file mode 100644
 4689   5941   
index 0000000..0468d80
 4690         -
-- /dev/null
        5942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4691   5943   
@@ -0,0 +1,12 @@
        5944  +
{
        5945  +
    "credentials": {
        5946  +
        "access_key_id": "AKIDEXAMPLE",
        5947  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5948  +
    },
        5949  +
    "expiration_in_seconds": 3600,
        5950  +
    "normalize": true,
        5951  +
    "region": "us-east-1",
        5952  +
    "service": "service",
        5953  +
    "sign_body": false,
        5954  +
    "timestamp": "2015-08-30T12:36:00Z"
        5955  +
}
              \
 No newline at end of file
 4692   5956   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4693   5957   
new file mode 100644
 4694   5958   
index 0000000..0f1afe7
 4695         -
-- /dev/null
        5959  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4696   5960   
@@ -0,0 +1,9 @@
        5961  +
GET
        5962  +
/%E1%88%B4
        5963  +
        5964  +
host:example.amazonaws.com
        5965  +
x-amz-date:20150830T123600Z
        5966  +
x-amz-region-set:us-east-1
        5967  +
        5968  +
host;x-amz-date;x-amz-region-set
        5969  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4697   5970   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4698   5971   
new file mode 100644
 4699   5972   
index 0000000..4b9af6c
 4700         -
-- /dev/null
        5973  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4701   5974   
@@ -0,0 +1 @@
        5975  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 4702   5976   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4703   5977   
new file mode 100644
 4704   5978   
index 0000000..d42d7b3
 4705         -
-- /dev/null
        5979  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4706   5980   
@@ -0,0 +1,6 @@
        5981  +
GET /ሴ HTTP/1.1
        5982  +
Host:example.amazonaws.com
        5983  +
X-Amz-Date:20150830T123600Z
        5984  +
X-Amz-Region-Set:us-east-1
        5985  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5986  +
 4707   5987   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4708   5988   
new file mode 100644
 4709   5989   
index 0000000..0827f62
 4710         -
-- /dev/null
        5990  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4711   5991   
@@ -0,0 +1,4 @@
        5992  +
AWS4-ECDSA-P256-SHA256
        5993  +
20150830T123600Z
        5994  +
20150830/service/aws4_request
        5995  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4712   5996   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4713   5997   
new file mode 100644
 4714   5998   
index 0000000..379dcb2
 4715         -
-- /dev/null
        5999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4716   6000   
@@ -0,0 +1,4 @@
        6001  +
{
        6002  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6003  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6004  +
}
 4717   6005   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4718   6006   
new file mode 100644
 4719   6007   
index 0000000..a41a2f8
 4720         -
-- /dev/null
        6008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4721   6009   
@@ -0,0 +1,7 @@
        6010  +
GET
        6011  +
/%E1%88%B4
        6012  +
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
        6013  +
host:example.amazonaws.com
        6014  +
        6015  +
host
        6016  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4722   6017   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4723   6018   
new file mode 100644
 4724   6019   
index 0000000..a5c7f4f
 4725         -
-- /dev/null
        6020  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4726   6021   
@@ -0,0 +1 @@
        6022  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4727   6023   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4728   6024   
new file mode 100644
 4729   6025   
index 0000000..492ed33
 4730         -
-- /dev/null
        6026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4731   6027   
@@ -0,0 +1,3 @@
        6028  +
GET /ሴ?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3045022100a6a54a9d29f463be9ee0822246866fdbf4d71ab2f0c1dd70da52bd3d4539ce6802204fb18b4ddab0e97af74ecb42e33d6d2f2ac2ae0cee9509f649506f1cd2954899 HTTP/1.1
        6029  +
Host:example.amazonaws.com
        6030  +
 4732   6031   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4733   6032   
new file mode 100644
 4734   6033   
index 0000000..a93108f
 4735         -
-- /dev/null
        6034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4736   6035   
@@ -0,0 +1,4 @@
        6036  +
AWS4-ECDSA-P256-SHA256
        6037  +
20150830T123600Z
        6038  +
20150830/service/aws4_request
        6039  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4737   6040   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4738   6041   
new file mode 100644
 4739   6042   
index 0000000..9e273f6
 4740         -
-- /dev/null
        6043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4741   6044   
@@ -0,0 +1,2 @@
        6045  +
GET /ሴ HTTP/1.1
        6046  +
Host:example.amazonaws.com
 4742   6047   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4743   6048   
new file mode 100644
 4744   6049   
index 0000000..0468d80
 4745         -
-- /dev/null
        6050  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4746   6051   
@@ -0,0 +1,12 @@
        6052  +
{
        6053  +
    "credentials": {
        6054  +
        "access_key_id": "AKIDEXAMPLE",
        6055  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6056  +
    },
        6057  +
    "expiration_in_seconds": 3600,
        6058  +
    "normalize": true,
        6059  +
    "region": "us-east-1",
        6060  +
    "service": "service",
        6061  +
    "sign_body": false,
        6062  +
    "timestamp": "2015-08-30T12:36:00Z"
        6063  +
}
              \
 No newline at end of file
 4747   6064   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4748   6065   
similarity index 99%
 4749   6066   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4750   6067   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4751   6068   
index bb9d4bf..edc0bb4 100644
 4752         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
        6069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4753   6070   
@@ -1,9 +1,9 @@
 4754   6071   
GET
 4755   6072   
/
 4756   6073   
Param1=value1
 4757   6074   
host:example.amazonaws.com
 4758   6075   
x-amz-date:20150830T123600Z
 4759   6076   
x-amz-region-set:us-east-1
 4760   6077   
 4761   6078   
host;x-amz-date;x-amz-region-set
 4762         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6079  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4763   6080   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4764   6081   
new file mode 100644
 4765   6082   
index 0000000..ee9a272
 4766         -
-- /dev/null
        6083  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4767   6084   
@@ -0,0 +1 @@
        6085  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4768   6086   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4769   6087   
new file mode 100644
 4770   6088   
index 0000000..2090343
 4771         -
-- /dev/null
        6089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4772   6090   
@@ -0,0 +1,6 @@
        6091  +
GET /?Param1=value1 HTTP/1.1
        6092  +
Host:example.amazonaws.com
        6093  +
X-Amz-Date:20150830T123600Z
        6094  +
X-Amz-Region-Set:us-east-1
        6095  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        6096  +
 4773   6097   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-string-to-sign.txt
 4774   6098   
similarity index 99%
 4775   6099   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-string-to-sign.txt
 4776   6100   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-string-to-sign.txt
 4777   6101   
index a176f1d..06ed74f 100644
 4778         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-string-to-sign.txt
        6102  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-string-to-sign.txt
 4779   6103   
@@ -1,4 +1,4 @@
 4780   6104   
AWS4-ECDSA-P256-SHA256
 4781   6105   
20150830T123600Z
 4782   6106   
20150830/service/aws4_request
 4783         -
894f4237e92aae973c992da1d1f39d7a5913a23e9f7cbcf085e9550685eb498a
        6107  +
894f4237e92aae973c992da1d1f39d7a5913a23e9f7cbcf085e9550685eb498a
              \
 No newline at end of file
 4784   6108   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4785   6109   
new file mode 100644
 4786   6110   
index 0000000..379dcb2
 4787         -
-- /dev/null
        6111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4788   6112   
@@ -0,0 +1,4 @@
        6113  +
{
        6114  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6115  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6116  +
}
 4789   6117   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4790   6118   
similarity index 99%
 4791   6119   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4792   6120   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4793   6121   
index 344384b..a875d70 100644
 4794         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
        6122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4795   6123   
@@ -1,7 +1,7 @@
 4796   6124   
GET
 4797   6125   
/
 4798   6126   
Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4799   6127   
host:example.amazonaws.com
 4800   6128   
 4801   6129   
host
 4802         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6130  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4803   6131   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4804   6132   
new file mode 100644
 4805   6133   
index 0000000..ef93624
 4806         -
-- /dev/null
        6134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4807   6135   
@@ -0,0 +1 @@
        6136  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4808   6137   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4809   6138   
new file mode 100644
 4810   6139   
index 0000000..92829f7
 4811         -
-- /dev/null
        6140  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4812   6141   
@@ -0,0 +1,3 @@
        6142  +
GET /?Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3046022100d0e421c8dcfbc809d91211cb4588940f6567729d5f9542803c4121704ec85bf70221009bc7b39b796dc0b4436a08d0320e2e89a2a47724432a1060029a55ae05dc2e83 HTTP/1.1
        6143  +
Host:example.amazonaws.com
        6144  +
 4813   6145   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-string-to-sign.txt
 4814   6146   
similarity index 99%
 4815   6147   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-string-to-sign.txt
 4816   6148   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-string-to-sign.txt
 4817   6149   
index b625052..4ff9191 100644
 4818         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-string-to-sign.txt
        6150  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-string-to-sign.txt
 4819   6151   
@@ -1,4 +1,4 @@
 4820   6152   
AWS4-ECDSA-P256-SHA256
 4821   6153   
20150830T123600Z
 4822   6154   
20150830/service/aws4_request
 4823         -
07551f1d699afeb50d6811a527ab7b0270b60448ea27d8cbccb9750d68287b3f
        6155  +
07551f1d699afeb50d6811a527ab7b0270b60448ea27d8cbccb9750d68287b3f
              \
 No newline at end of file
 4824   6156   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4825   6157   
similarity index 67%
 4826   6158   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.req
 4827   6159   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4828   6160   
index 970d0a0..f4a03bb 100644
 4829         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.req
        6161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4830   6162   
@@ -1,3 +1,2 @@
 4831   6163   
GET /?Param1=value1 HTTP/1.1
 4832   6164   
Host:example.amazonaws.com
 4833         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4834   6165   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4835   6166   
new file mode 100644
 4836   6167   
index 0000000..0468d80
 4837         -
-- /dev/null
        6168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4838   6169   
@@ -0,0 +1,12 @@
        6170  +
{
        6171  +
    "credentials": {
        6172  +
        "access_key_id": "AKIDEXAMPLE",
        6173  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6174  +
    },
        6175  +
    "expiration_in_seconds": 3600,
        6176  +
    "normalize": true,
        6177  +
    "region": "us-east-1",
        6178  +
    "service": "service",
        6179  +
    "sign_body": false,
        6180  +
    "timestamp": "2015-08-30T12:36:00Z"
        6181  +
}
              \
 No newline at end of file
 4839   6182   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4840   6183   
new file mode 100644
 4841   6184   
index 0000000..da07537
 4842         -
-- /dev/null
        6185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4843   6186   
@@ -0,0 +1,9 @@
        6187  +
GET
        6188  +
/
        6189  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        6190  +
host:example.amazonaws.com
        6191  +
x-amz-date:20150830T123600Z
        6192  +
x-amz-region-set:us-east-1
        6193  +
        6194  +
host;x-amz-date;x-amz-region-set
        6195  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4844   6196   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4845   6197   
new file mode 100644
 4846   6198   
index 0000000..edb21e5
 4847         -
-- /dev/null
        6199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4848   6200   
@@ -0,0 +1 @@
        6201  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4849   6202   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4850   6203   
new file mode 100644
 4851   6204   
index 0000000..e60394c
 4852         -
-- /dev/null
        6205  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4853   6206   
@@ -0,0 +1,6 @@
        6207  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        6208  +
Host:example.amazonaws.com
        6209  +
X-Amz-Date:20150830T123600Z
        6210  +
X-Amz-Region-Set:us-east-1
        6211  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        6212  +
 4854   6213   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4855   6214   
new file mode 100644
 4856   6215   
index 0000000..1dfc886
 4857         -
-- /dev/null
        6216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4858   6217   
@@ -0,0 +1,4 @@
        6218  +
AWS4-ECDSA-P256-SHA256
        6219  +
20150830T123600Z
        6220  +
20150830/service/aws4_request
        6221  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4859   6222   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4860   6223   
new file mode 100644
 4861   6224   
index 0000000..379dcb2
 4862         -
-- /dev/null
        6225  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4863   6226   
@@ -0,0 +1,4 @@
        6227  +
{
        6228  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6229  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6230  +
}
 4864   6231   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4865   6232   
new file mode 100644
 4866   6233   
index 0000000..e94dc0c
 4867         -
-- /dev/null
        6234  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4868   6235   
@@ -0,0 +1,7 @@
        6236  +
GET
        6237  +
/
        6238  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
        6239  +
host:example.amazonaws.com
        6240  +
        6241  +
host
        6242  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4869   6243   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4870   6244   
new file mode 100644
 4871   6245   
index 0000000..7489437
 4872         -
-- /dev/null
        6246  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4873   6247   
@@ -0,0 +1 @@
        6248  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4874   6249   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4875   6250   
new file mode 100644
 4876   6251   
index 0000000..90c0e73
 4877         -
-- /dev/null
        6252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4878   6253   
@@ -0,0 +1,3 @@
        6254  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3046022100a1244805f7fd13f1c5f4824fe85052857f2c5b6820829562e3853715966a4f7102210091a4e9e79fd79fc7d4d580061730822d3228d15d584b7c5c16a4c490690740c5 HTTP/1.1
        6255  +
Host:example.amazonaws.com
        6256  +
 4879   6257   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4880   6258   
new file mode 100644
 4881   6259   
index 0000000..ab8a711
 4882         -
-- /dev/null
        6260  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4883   6261   
@@ -0,0 +1,4 @@
        6262  +
AWS4-ECDSA-P256-SHA256
        6263  +
20150830T123600Z
        6264  +
20150830/service/aws4_request
        6265  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4884   6266   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4885   6267   
new file mode 100644
 4886   6268   
index 0000000..368c6e3
 4887         -
-- /dev/null
        6269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4888   6270   
@@ -0,0 +1,2 @@
        6271  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        6272  +
Host:example.amazonaws.com
 4889   6273   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4890   6274   
new file mode 100644
 4891   6275   
index 0000000..0468d80
 4892         -
-- /dev/null
        6276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4893   6277   
@@ -0,0 +1,12 @@
        6278  +
{
        6279  +
    "credentials": {
        6280  +
        "access_key_id": "AKIDEXAMPLE",
        6281  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6282  +
    },
        6283  +
    "expiration_in_seconds": 3600,
        6284  +
    "normalize": true,
        6285  +
    "region": "us-east-1",
        6286  +
    "service": "service",
        6287  +
    "sign_body": false,
        6288  +
    "timestamp": "2015-08-30T12:36:00Z"
        6289  +
}
              \
 No newline at end of file
 4894   6290   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-canonical-request.txt
 4895   6291   
similarity index 99%
 4896   6292   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-canonical-request.txt
 4897   6293   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-canonical-request.txt
 4898   6294   
index 74f625a..3db56f7 100644
 4899         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-canonical-request.txt
        6295  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-canonical-request.txt
 4900   6296   
@@ -1,9 +1,9 @@
 4901   6297   
GET
 4902   6298   
/
 4903   6299   
Param1=value1&Param2=value2
 4904   6300   
host:example.amazonaws.com
 4905   6301   
x-amz-date:20150830T123600Z
 4906   6302   
x-amz-region-set:us-east-1
 4907   6303   
 4908   6304   
host;x-amz-date;x-amz-region-set
 4909         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6305  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4910   6306   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4911   6307   
new file mode 100644
 4912   6308   
index 0000000..e6042bc
 4913         -
-- /dev/null
        6309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4914   6310   
@@ -0,0 +1 @@
        6311  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4915   6312   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4916   6313   
new file mode 100644
 4917   6314   
index 0000000..5505969
 4918         -
-- /dev/null
        6315  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4919   6316   
@@ -0,0 +1,6 @@
        6317  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        6318  +
Host:example.amazonaws.com
        6319  +
X-Amz-Date:20150830T123600Z
        6320  +
X-Amz-Region-Set:us-east-1
        6321  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        6322  +
 4920   6323   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-string-to-sign.txt
 4921   6324   
similarity index 99%
 4922   6325   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-string-to-sign.txt
 4923   6326   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-string-to-sign.txt
 4924   6327   
index 44873b7..e8f5e31 100644
 4925         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-string-to-sign.txt
        6328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-string-to-sign.txt
 4926   6329   
@@ -1,4 +1,4 @@
 4927   6330   
AWS4-ECDSA-P256-SHA256
 4928   6331   
20150830T123600Z
 4929   6332   
20150830/service/aws4_request
 4930         -
cc07b29e0d0f0b2d6aa296621a5608fd9c2271159b9b2f737f682704ebb96482
        6333  +
cc07b29e0d0f0b2d6aa296621a5608fd9c2271159b9b2f737f682704ebb96482
              \
 No newline at end of file
 4931   6334   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4932   6335   
new file mode 100644
 4933   6336   
index 0000000..379dcb2
 4934         -
-- /dev/null
        6337  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4935   6338   
@@ -0,0 +1,4 @@
        6339  +
{
        6340  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6341  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6342  +
}
 4936   6343   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-canonical-request.txt
 4937   6344   
similarity index 99%
 4938   6345   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-canonical-request.txt
 4939   6346   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-canonical-request.txt
 4940   6347   
index 6d30727..3fe6a9f 100644
 4941         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-canonical-request.txt
        6348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-canonical-request.txt
 4942   6349   
@@ -1,7 +1,7 @@
 4943   6350   
GET
 4944   6351   
/
 4945   6352   
Param1=value1&Param2=value2&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4946   6353   
host:example.amazonaws.com
 4947   6354   
 4948   6355   
host
 4949         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6356  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4950   6357   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4951   6358   
new file mode 100644
 4952   6359   
index 0000000..3f35de8
 4953         -
-- /dev/null
        6360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4954   6361   
@@ -0,0 +1 @@
        6362  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4955   6363   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4956   6364   
new file mode 100644
 4957   6365   
index 0000000..30b336b
 4958         -
-- /dev/null
        6366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4959   6367   
@@ -0,0 +1,3 @@
        6368  +
GET /?Param2=value2&Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402202cbada4314f8da2b9dfa447db936428ad13f522f007110427e5c6c4dbf93762f02205ad19e24495835a7242c546eeec3dbdfcd538361fd9a67f99610a8adab3411e9 HTTP/1.1
        6369  +
Host:example.amazonaws.com
        6370  +
 4960   6371   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-string-to-sign.txt
 4961   6372   
similarity index 99%
 4962   6373   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-string-to-sign.txt
 4963   6374   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-string-to-sign.txt
 4964   6375   
index 99d0510..7f0565f 100644
 4965         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-string-to-sign.txt
        6376  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-string-to-sign.txt
 4966   6377   
@@ -1,4 +1,4 @@
 4967   6378   
AWS4-ECDSA-P256-SHA256
 4968   6379   
20150830T123600Z
 4969   6380   
20150830/service/aws4_request
 4970         -
c688584c3dbae2868c4911c825239f2c9375e66b9962f21db60b9b2fcd75bf45
        6381  +
c688584c3dbae2868c4911c825239f2c9375e66b9962f21db60b9b2fcd75bf45
              \
 No newline at end of file
 4971   6382   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4972   6383   
similarity index 100%
 4973   6384   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.req
 4974   6385   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4975   6386   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4976   6387   
new file mode 100644
 4977   6388   
index 0000000..0468d80
 4978         -
-- /dev/null
        6389  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4979   6390   
@@ -0,0 +1,12 @@
        6391  +
{
        6392  +
    "credentials": {
        6393  +
        "access_key_id": "AKIDEXAMPLE",
        6394  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6395  +
    },
        6396  +
    "expiration_in_seconds": 3600,
        6397  +
    "normalize": true,
        6398  +
    "region": "us-east-1",
        6399  +
    "service": "service",
        6400  +
    "sign_body": false,
        6401  +
    "timestamp": "2015-08-30T12:36:00Z"
        6402  +
}
              \
 No newline at end of file
 4980   6403   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4981   6404   
similarity index 99%
 4982   6405   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4983   6406   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4984   6407   
index 816c862..cc4537a 100644
 4985         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
        6408  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4986   6409   
@@ -1,9 +1,9 @@
 4987   6410   
GET
 4988   6411   
/
 4989   6412   
-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4990   6413   
host:example.amazonaws.com
 4991   6414   
x-amz-date:20150830T123600Z
 4992   6415   
x-amz-region-set:us-east-1
 4993   6416   
 4994   6417   
host;x-amz-date;x-amz-region-set
 4995         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6418  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4996   6419   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4997   6420   
new file mode 100644
 4998   6421   
index 0000000..70d38c1
 4999         -
-- /dev/null
        6422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 5000   6423   
@@ -0,0 +1 @@
        6424  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 5001   6425   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 5002   6426   
new file mode 100644
 5003   6427   
index 0000000..0647eea
 5004         -
-- /dev/null
        6428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 5005   6429   
@@ -0,0 +1,6 @@
        6430  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        6431  +
Host:example.amazonaws.com
        6432  +
X-Amz-Date:20150830T123600Z
        6433  +
X-Amz-Region-Set:us-east-1
        6434  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        6435  +
 5006   6436   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 5007   6437   
similarity index 99%
 5008   6438   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 5009   6439   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 5010   6440   
index 6129fc5..cc19d14 100644
 5011         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
        6441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 5012   6442   
@@ -1,4 +1,4 @@
 5013   6443   
AWS4-ECDSA-P256-SHA256
 5014   6444   
20150830T123600Z
 5015   6445   
20150830/service/aws4_request
 5016         -
377b8a3e195894659b84cd1c475dc8a3663a663360a349430c0c3b82bd82b77b
        6446  +
377b8a3e195894659b84cd1c475dc8a3663a663360a349430c0c3b82bd82b77b
              \
 No newline at end of file
 5017   6447   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 5018   6448   
new file mode 100644
 5019   6449   
index 0000000..379dcb2
 5020         -
-- /dev/null
        6450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 5021   6451   
@@ -0,0 +1,4 @@
        6452  +
{
        6453  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6454  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6455  +
}
 5022   6456   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 5023   6457   
similarity index 99%
 5024   6458   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 5025   6459   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 5026   6460   
index b77ee9f..ed6a10e 100644
 5027         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
        6461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 5028   6462   
@@ -1,7 +1,7 @@
 5029   6463   
GET
 5030   6464   
/
 5031   6465   
-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 5032   6466   
host:example.amazonaws.com
 5033   6467   
 5034   6468   
host
 5035         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6469  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5036   6470   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 5037   6471   
new file mode 100644
 5038   6472   
index 0000000..2ceba7b
 5039         -
-- /dev/null
        6473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 5040   6474   
@@ -0,0 +1 @@
        6475  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 5041   6476   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 5042   6477   
new file mode 100644
 5043   6478   
index 0000000..0cd6d0a
 5044         -
-- /dev/null
        6479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 5045   6480   
@@ -0,0 +1,3 @@
        6481  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3046022100fa0918db3b6088ebabc41b614c1e60820cf46a58a5e939bf27ab43869e60133e022100f2b594597c9f6266cae0f17de30e2776827431f7cb63224530cf7718f38df0b0 HTTP/1.1
        6482  +
Host:example.amazonaws.com
        6483  +
 5046   6484   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 5047   6485   
similarity index 99%
 5048   6486   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 5049   6487   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 5050   6488   
index 1cfed7a..aad1421 100644
 5051         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
        6489  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 5052   6490   
@@ -1,4 +1,4 @@
 5053   6491   
AWS4-ECDSA-P256-SHA256
 5054   6492   
20150830T123600Z
 5055   6493   
20150830/service/aws4_request
 5056         -
5d8923c620c699f856a35a6eb8dd786fd4c8c6ab0a35c552caeb5b648989433f
        6494  +
5d8923c620c699f856a35a6eb8dd786fd4c8c6ab0a35c552caeb5b648989433f
              \
 No newline at end of file
 5057   6495   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 5058   6496   
similarity index 86%
 5059   6497   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 5060   6498   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 5061   6499   
index d2833b3..36b2fe3 100644
 5062         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        6500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 5063   6501   
@@ -1,3 +1,2 @@
 5064   6502   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 5065   6503   
Host:example.amazonaws.com
 5066         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5067   6504   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 5068   6505   
new file mode 100644
 5069   6506   
index 0000000..0468d80
 5070         -
-- /dev/null
        6507  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 5071   6508   
@@ -0,0 +1,12 @@
        6509  +
{
        6510  +
    "credentials": {
        6511  +
        "access_key_id": "AKIDEXAMPLE",
        6512  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6513  +
    },
        6514  +
    "expiration_in_seconds": 3600,
        6515  +
    "normalize": true,
        6516  +
    "region": "us-east-1",
        6517  +
    "service": "service",
        6518  +
    "sign_body": false,
        6519  +
    "timestamp": "2015-08-30T12:36:00Z"
        6520  +
}
              \
 No newline at end of file
 5072   6521   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 5073   6522   
new file mode 100644
 5074   6523   
index 0000000..76db73d
 5075         -
-- /dev/null
        6524  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 5076   6525   
@@ -0,0 +1,9 @@
        6526  +
GET
        6527  +
/
        6528  +
        6529  +
host:example.amazonaws.com
        6530  +
x-amz-date:20150830T123600Z
        6531  +
x-amz-region-set:us-east-1
        6532  +
        6533  +
host;x-amz-date;x-amz-region-set
        6534  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5077   6535   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 5078   6536   
new file mode 100644
 5079   6537   
index 0000000..281cc62
 5080         -
-- /dev/null
        6538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 5081   6539   
@@ -0,0 +1 @@
        6540  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 5082   6541   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 5083   6542   
new file mode 100644
 5084   6543   
index 0000000..cce9925
 5085         -
-- /dev/null
        6544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 5086   6545   
@@ -0,0 +1,6 @@
        6546  +
GET / HTTP/1.1
        6547  +
Host:example.amazonaws.com
        6548  +
X-Amz-Date:20150830T123600Z
        6549  +
X-Amz-Region-Set:us-east-1
        6550  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        6551  +
 5087   6552   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 5088   6553   
new file mode 100644
 5089   6554   
index 0000000..600f1d8
 5090         -
-- /dev/null
        6555  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 5091   6556   
@@ -0,0 +1,4 @@
        6557  +
AWS4-ECDSA-P256-SHA256
        6558  +
20150830T123600Z
        6559  +
20150830/service/aws4_request
        6560  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5092   6561   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 5093   6562   
new file mode 100644
 5094   6563   
index 0000000..379dcb2
 5095         -
-- /dev/null
        6564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 5096   6565   
@@ -0,0 +1,4 @@
        6566  +
{
        6567  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6568  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6569  +
}
 5097   6570   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 5098   6571   
new file mode 100644
 5099   6572   
index 0000000..779c51c
 5100         -
-- /dev/null
        6573  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 5101   6574   
@@ -0,0 +1,7 @@
        6575  +
GET
        6576  +
/
        6577  +
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
        6578  +
host:example.amazonaws.com
        6579  +
        6580  +
host
        6581  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5102   6582   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 5103   6583   
new file mode 100644
 5104   6584   
index 0000000..2979e5e
 5105         -
-- /dev/null
        6585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 5106   6586   
@@ -0,0 +1 @@
        6587  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 5107   6588   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 5108   6589   
new file mode 100644
 5109   6590   
index 0000000..1b3179c
 5110         -
-- /dev/null
        6591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 5111   6592   
@@ -0,0 +1,3 @@
        6593  +
GET /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304502210081f33b59ccf8c4a729d3e3f6ac355cfb6bb0f9c507b180ed7eb2756202cfe220022074f44519d0f1da1d20737fec456ac86aa876379e4531633c14972b88bc268eb7 HTTP/1.1
        6594  +
Host:example.amazonaws.com
        6595  +
 5112   6596   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 5113   6597   
new file mode 100644
 5114   6598   
index 0000000..6e29a7e
 5115         -
-- /dev/null
        6599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 5116   6600   
@@ -0,0 +1,4 @@
        6601  +
AWS4-ECDSA-P256-SHA256
        6602  +
20150830T123600Z
        6603  +
20150830/service/aws4_request
        6604  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 5117   6605   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 5118   6606   
similarity index 60%
 5119   6607   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 5120   6608   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 5121   6609   
index 0f7a9bf..e659c3b 100644
 5122         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        6610  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 5123   6611   
@@ -1,3 +1,2 @@
 5124   6612   
GET / HTTP/1.1
 5125   6613   
Host:example.amazonaws.com
 5126         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5127   6614   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 5128   6615   
new file mode 100644
 5129   6616   
index 0000000..0468d80
 5130         -
-- /dev/null
        6617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 5131   6618   
@@ -0,0 +1,12 @@
        6619  +
{
        6620  +
    "credentials": {
        6621  +
        "access_key_id": "AKIDEXAMPLE",
        6622  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6623  +
    },
        6624  +
    "expiration_in_seconds": 3600,
        6625  +
    "normalize": true,
        6626  +
    "region": "us-east-1",
        6627  +
    "service": "service",
        6628  +
    "sign_body": false,
        6629  +
    "timestamp": "2015-08-30T12:36:00Z"
        6630  +
}
              \
 No newline at end of file
 5132   6631   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 5133   6632   
new file mode 100644
 5134   6633   
index 0000000..8841ddf
 5135         -
-- /dev/null
        6634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 5136   6635   
@@ -0,0 +1,9 @@
        6636  +
GET
        6637  +
/
        6638  +
%E1%88%B4=bar
        6639  +
host:example.amazonaws.com
        6640  +
x-amz-date:20150830T123600Z
        6641  +
x-amz-region-set:us-east-1
        6642  +
        6643  +
host;x-amz-date;x-amz-region-set
        6644  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5137   6645   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 5138   6646   
new file mode 100644
 5139   6647   
index 0000000..1497add
 5140         -
-- /dev/null
        6648  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 5141   6649   
@@ -0,0 +1 @@
        6650  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 5142   6651   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 5143   6652   
new file mode 100644
 5144   6653   
index 0000000..961bc10
 5145         -
-- /dev/null
        6654  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 5146   6655   
@@ -0,0 +1,6 @@
        6656  +
GET /?ሴ=bar HTTP/1.1
        6657  +
Host:example.amazonaws.com
        6658  +
X-Amz-Date:20150830T123600Z
        6659  +
X-Amz-Region-Set:us-east-1
        6660  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        6661  +
 5147   6662   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 5148   6663   
new file mode 100644
 5149   6664   
index 0000000..e78ed70
 5150         -
-- /dev/null
        6665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 5151   6666   
@@ -0,0 +1,4 @@
        6667  +
AWS4-ECDSA-P256-SHA256
        6668  +
20150830T123600Z
        6669  +
20150830/service/aws4_request
        6670  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 5152   6671   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 5153   6672   
new file mode 100644
 5154   6673   
index 0000000..379dcb2
 5155         -
-- /dev/null
        6674  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 5156   6675   
@@ -0,0 +1,4 @@
        6676  +
{
        6677  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6678  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6679  +
}
 5157   6680   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 5158   6681   
new file mode 100644
 5159   6682   
index 0000000..6d5ae93
 5160         -
-- /dev/null
        6683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 5161   6684   
@@ -0,0 +1,7 @@
        6685  +
GET
        6686  +
/
        6687  +
%E1%88%B4=bar&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
        6688  +
host:example.amazonaws.com
        6689  +
        6690  +
host
        6691  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5162   6692   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 5163   6693   
new file mode 100644
 5164   6694   
index 0000000..92107f2
 5165         -
-- /dev/null
        6695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 5166   6696   
@@ -0,0 +1 @@
        6697  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 5167   6698   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 5168   6699   
new file mode 100644
 5169   6700   
index 0000000..bb8a75b
 5170         -
-- /dev/null
        6701  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 5171   6702   
@@ -0,0 +1,3 @@
        6703  +
GET /?ሴ=bar&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3046022100d0001873de6d6746a050e3dff894b0fbccce0bbe7fad8e4c0960761d053a695b022100fb8f5d77ebb1854be7a8e1ea56428aba3a2f3bf23211e1049a2fa18b56784b63 HTTP/1.1
        6704  +
Host:example.amazonaws.com
        6705  +
 5172   6706   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 5173   6707   
new file mode 100644
 5174   6708   
index 0000000..9fa94c7
 5175         -
-- /dev/null
        6709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 5176   6710   
@@ -0,0 +1,4 @@
        6711  +
AWS4-ECDSA-P256-SHA256
        6712  +
20150830T123600Z
        6713  +
20150830/service/aws4_request
        6714  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 5177   6715   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 5178   6716   
new file mode 100644
 5179   6717   
index 0000000..aff333a
 5180         -
-- /dev/null
        6718  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 5181   6719   
@@ -0,0 +1,2 @@
        6720  +
GET /?ሴ=bar HTTP/1.1
        6721  +
Host:example.amazonaws.com
 5182   6722   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 5183   6723   
new file mode 100644
 5184   6724   
index 0000000..a334e18
 5185         -
-- /dev/null
        6725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 5186   6726   
@@ -0,0 +1,13 @@
        6727  +
{
        6728  +
    "credentials": {
        6729  +
        "access_key_id": "AKIDEXAMPLE",
        6730  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6731  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        6732  +
    },
        6733  +
    "expiration_in_seconds": 3600,
        6734  +
    "normalize": true,
        6735  +
    "region": "us-east-1",
        6736  +
    "service": "service",
        6737  +
    "sign_body": false,
        6738  +
    "timestamp": "2015-08-30T12:36:00Z"
        6739  +
}
              \
 No newline at end of file
 5187   6740   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 5188   6741   
similarity index 99%
 5189   6742   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 5190   6743   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 5191   6744   
index f14defd..0e9ad42 100644
 5192         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
        6745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 5193   6746   
@@ -1,10 +1,10 @@
 5194   6747   
GET
 5195   6748   
/
 5196   6749   
 5197   6750   
host:example.amazonaws.com
 5198   6751   
x-amz-date:20150830T123600Z
 5199   6752   
x-amz-region-set:us-east-1
 5200   6753   
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
 5201   6754   
 5202   6755   
host;x-amz-date;x-amz-region-set;x-amz-security-token
 5203         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6756  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5204   6757   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 5205   6758   
new file mode 100644
 5206   6759   
index 0000000..a7673b5
 5207         -
-- /dev/null
        6760  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 5208   6761   
@@ -0,0 +1 @@
        6762  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 5209   6763   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 5210   6764   
new file mode 100644
 5211   6765   
index 0000000..ed16e76
 5212         -
-- /dev/null
        6766  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 5213   6767   
@@ -0,0 +1,7 @@
        6768  +
GET / HTTP/1.1
        6769  +
Host:example.amazonaws.com
        6770  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        6771  +
X-Amz-Date:20150830T123600Z
        6772  +
X-Amz-Region-Set:us-east-1
        6773  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set;x-amz-security-token, Signature=30450221008f4516c8850ed9eb29502658d1f0e0f6cabc11a44963c558efd1dd8e9fb084a0022032e47df89ad1a5b4e2b82d3a68dbe31d6ef8e1ea8c3815b2097538c4695d184e
        6774  +
 5214   6775   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-string-to-sign.txt
 5215   6776   
similarity index 99%
 5216   6777   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-string-to-sign.txt
 5217   6778   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-string-to-sign.txt
 5218   6779   
index 4edece5..6c1ec65 100644
 5219         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-string-to-sign.txt
        6780  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-string-to-sign.txt
 5220   6781   
@@ -1,4 +1,4 @@
 5221   6782   
AWS4-ECDSA-P256-SHA256
 5222   6783   
20150830T123600Z
 5223   6784   
20150830/service/aws4_request
 5224         -
79893373104239a0547df489af395ec3c1b8873a8601f07f11ffd3f1ac557e7d
        6785  +
79893373104239a0547df489af395ec3c1b8873a8601f07f11ffd3f1ac557e7d
              \
 No newline at end of file
 5225   6786   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 5226   6787   
new file mode 100644
 5227   6788   
index 0000000..379dcb2
 5228         -
-- /dev/null
        6789  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 5229   6790   
@@ -0,0 +1,4 @@
        6791  +
{
        6792  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6793  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6794  +
}
 5230   6795   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 5231   6796   
similarity index 99%
 5232   6797   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 5233   6798   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 5234   6799   
index 7c042af..1876b42 100644
 5235         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
        6800  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 5236   6801   
@@ -1,7 +1,7 @@
 5237   6802   
GET
 5238   6803   
/
 5239   6804   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Security-Token=6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267&X-Amz-SignedHeaders=host
 5240   6805   
host:example.amazonaws.com
 5241   6806   
 5242   6807   
host
 5243         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6808  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5244   6809   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 5245   6810   
new file mode 100644
 5246   6811   
index 0000000..903dfb4
 5247         -
-- /dev/null
        6812  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 5248   6813   
@@ -0,0 +1 @@
        6814  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 5249   6815   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 5250   6816   
new file mode 100644
 5251   6817   
index 0000000..bf1d246
 5252         -
-- /dev/null
        6818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 5253   6819   
@@ -0,0 +1,3 @@
        6820  +
GET /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304502207cdbb61908b9d4cf6c84e03ff7dac10a9a4637784d335a7d8bf1d1a6931bc3ba022100ee78b054e5441b71ab155632174df6b68bdaa00eabf939bf0c7299e1367e02a4 HTTP/1.1
        6821  +
Host:example.amazonaws.com
        6822  +
 5254   6823   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-string-to-sign.txt
 5255   6824   
similarity index 99%
 5256   6825   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-string-to-sign.txt
 5257   6826   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-string-to-sign.txt
 5258   6827   
index 0fd066a..f1b1790 100644
 5259         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-string-to-sign.txt
        6828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-string-to-sign.txt
 5260   6829   
@@ -1,4 +1,4 @@
 5261   6830   
AWS4-ECDSA-P256-SHA256
 5262   6831   
20150830T123600Z
 5263   6832   
20150830/service/aws4_request
 5264         -
496062b4c2ed2175fe08ad084158783fa8d013c694542af721d49b25d1ebd390
        6833  +
496062b4c2ed2175fe08ad084158783fa8d013c694542af721d49b25d1ebd390
              \
 No newline at end of file
 5265   6834   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 5266   6835   
similarity index 60%
 5267   6836   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 5268   6837   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 5269   6838   
index 0f7a9bf..e659c3b 100644
 5270         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 5271   6840   
@@ -1,3 +1,2 @@
 5272   6841   
GET / HTTP/1.1
 5273   6842   
Host:example.amazonaws.com
 5274         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5275   6843   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 5276   6844   
new file mode 100644
 5277   6845   
index 0000000..76db73d
 5278         -
-- /dev/null
        6846  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 5279   6847   
@@ -0,0 +1,9 @@
        6848  +
GET
        6849  +
/
        6850  +
        6851  +
host:example.amazonaws.com
        6852  +
x-amz-date:20150830T123600Z
        6853  +
x-amz-region-set:us-east-1
        6854  +
        6855  +
host;x-amz-date;x-amz-region-set
        6856  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5280   6857   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 5281   6858   
new file mode 100644
 5282   6859   
index 0000000..0468d80
 5283         -
-- /dev/null
        6860  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 5284   6861   
@@ -0,0 +1,12 @@
        6862  +
{
        6863  +
    "credentials": {
        6864  +
        "access_key_id": "AKIDEXAMPLE",
        6865  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6866  +
    },
        6867  +
    "expiration_in_seconds": 3600,
        6868  +
    "normalize": true,
        6869  +
    "region": "us-east-1",
        6870  +
    "service": "service",
        6871  +
    "sign_body": false,
        6872  +
    "timestamp": "2015-08-30T12:36:00Z"
        6873  +
}
              \
 No newline at end of file
 5285   6874   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 5286   6875   
new file mode 100644
 5287   6876   
index 0000000..76db73d
 5288         -
-- /dev/null
        6877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 5289   6878   
@@ -0,0 +1,9 @@
        6879  +
GET
        6880  +
/
        6881  +
        6882  +
host:example.amazonaws.com
        6883  +
x-amz-date:20150830T123600Z
        6884  +
x-amz-region-set:us-east-1
        6885  +
        6886  +
host;x-amz-date;x-amz-region-set
        6887  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5290   6888   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 5291   6889   
new file mode 100644
 5292   6890   
index 0000000..a96ff24
 5293         -
-- /dev/null
        6891  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 5294   6892   
@@ -0,0 +1 @@
        6893  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 5295   6894   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 5296   6895   
new file mode 100644
 5297   6896   
index 0000000..689078b
 5298         -
-- /dev/null
        6897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 5299   6898   
@@ -0,0 +1,6 @@
        6899  +
GET / HTTP/1.1
        6900  +
Host:example.amazonaws.com
        6901  +
X-Amz-Date:20150830T123600Z
        6902  +
X-Amz-Region-Set:us-east-1
        6903  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6904  +
 5300   6905   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 5301   6906   
new file mode 100644
 5302   6907   
index 0000000..600f1d8
 5303         -
-- /dev/null
        6908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 5304   6909   
@@ -0,0 +1,4 @@
        6910  +
AWS4-ECDSA-P256-SHA256
        6911  +
20150830T123600Z
        6912  +
20150830/service/aws4_request
        6913  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5305   6914   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 5306   6915   
new file mode 100644
 5307   6916   
index 0000000..379dcb2
 5308         -
-- /dev/null
        6917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 5309   6918   
@@ -0,0 +1,4 @@
        6919  +
{
        6920  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6921  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6922  +
}
 5310   6923   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 5311   6924   
new file mode 100644
 5312   6925   
index 0000000..779c51c
 5313         -
-- /dev/null
        6926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 5314   6927   
@@ -0,0 +1,7 @@
        6928  +
GET
        6929  +
/
        6930  +
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
        6931  +
host:example.amazonaws.com
        6932  +
        6933  +
host
        6934  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5315   6935   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 5316   6936   
new file mode 100644
 5317   6937   
index 0000000..cc42158
 5318         -
-- /dev/null
        6938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 5319   6939   
@@ -0,0 +1 @@
        6940  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 5320   6941   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 5321   6942   
new file mode 100644
 5322   6943   
index 0000000..dc6d01d
 5323         -
-- /dev/null
        6944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 5324   6945   
@@ -0,0 +1,3 @@
        6946  +
GET /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3045022100a28466db6c76223d5aa6ed436a8451b30e21ba0a076e7f2f943dd1f3d2816249022049e4b3746929cd2a2cb7b7984dbe0f5d40a300e7d9a7a7f1307c196b6f96b61a HTTP/1.1
        6947  +
Host:example.amazonaws.com
        6948  +
 5325   6949   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 5326   6950   
new file mode 100644
 5327   6951   
index 0000000..6e29a7e
 5328         -
-- /dev/null
        6952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 5329   6953   
@@ -0,0 +1,4 @@
        6954  +
AWS4-ECDSA-P256-SHA256
        6955  +
20150830T123600Z
        6956  +
20150830/service/aws4_request
        6957  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 5330   6958   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 5331   6959   
new file mode 100644
 5332   6960   
index 0000000..e659c3b
 5333         -
-- /dev/null
        6961  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 5334   6962   
@@ -0,0 +1,2 @@
        6963  +
GET / HTTP/1.1
        6964  +
Host:example.amazonaws.com
 5335   6965   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 5336   6966   
new file mode 100644
 5337   6967   
index 0000000..600f1d8
 5338         -
-- /dev/null
        6968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 5339   6969   
@@ -0,0 +1,4 @@
        6970  +
AWS4-ECDSA-P256-SHA256
        6971  +
20150830T123600Z
        6972  +
20150830/service/aws4_request
        6973  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5340   6974   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 5341   6975   
new file mode 100644
 5342   6976   
index 0000000..0468d80
 5343         -
-- /dev/null
        6977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 5344   6978   
@@ -0,0 +1,12 @@
        6979  +
{
        6980  +
    "credentials": {
        6981  +
        "access_key_id": "AKIDEXAMPLE",
        6982  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6983  +
    },
        6984  +
    "expiration_in_seconds": 3600,
        6985  +
    "normalize": true,
        6986  +
    "region": "us-east-1",
        6987  +
    "service": "service",
        6988  +
    "sign_body": false,
        6989  +
    "timestamp": "2015-08-30T12:36:00Z"
        6990  +
}
              \
 No newline at end of file
 5345   6991   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 5346   6992   
similarity index 99%
 5347   6993   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 5348   6994   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 5349   6995   
index a6942c1..e881ac7 100644
 5350         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
        6996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 5351   6997   
@@ -1,9 +1,9 @@
 5352   6998   
POST
 5353   6999   
/
 5354   7000   
 5355   7001   
host:example.amazonaws.com
 5356   7002   
x-amz-date:20150830T123600Z
 5357   7003   
x-amz-region-set:us-east-1
 5358   7004   
 5359   7005   
host;x-amz-date;x-amz-region-set
 5360         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7006  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5361   7007   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 5362   7008   
new file mode 100644
 5363   7009   
index 0000000..4210210
 5364         -
-- /dev/null
        7010  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 5365   7011   
@@ -0,0 +1 @@
        7012  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 5366   7013   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 5367   7014   
new file mode 100644
 5368   7015   
index 0000000..257b110
 5369         -
-- /dev/null
        7016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 5370   7017   
@@ -0,0 +1,6 @@
        7018  +
POST / HTTP/1.1
        7019  +
Host:example.amazonaws.com
        7020  +
X-Amz-Date:20150830T123600Z
        7021  +
X-Amz-Region-Set:us-east-1
        7022  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        7023  +
 5371   7024   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 5372   7025   
similarity index 99%
 5373   7026   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 5374   7027   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 5375   7028   
index d5650cb..f8adf13 100644
 5376         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
        7029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 5377   7030   
@@ -1,4 +1,4 @@
 5378   7031   
AWS4-ECDSA-P256-SHA256
 5379   7032   
20150830T123600Z
 5380   7033   
20150830/service/aws4_request
 5381         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7034  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 5382   7035   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 5383   7036   
new file mode 100644
 5384   7037   
index 0000000..379dcb2
 5385         -
-- /dev/null
        7038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 5386   7039   
@@ -0,0 +1,4 @@
        7040  +
{
        7041  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7042  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7043  +
}
 5387   7044   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 5388   7045   
similarity index 99%
 5389   7046   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 5390   7047   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 5391   7048   
index e48ce07..5ea8e3c 100644
 5392         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
        7049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 5393   7050   
@@ -1,7 +1,7 @@
 5394   7051   
POST
 5395   7052   
/
 5396   7053   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 5397   7054   
host:example.amazonaws.com
 5398   7055   
 5399   7056   
host
 5400         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7057  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5401   7058   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 5402   7059   
new file mode 100644
 5403   7060   
index 0000000..9e2069e
 5404         -
-- /dev/null
        7061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 5405   7062   
@@ -0,0 +1 @@
        7063  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 5406   7064   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 5407   7065   
new file mode 100644
 5408   7066   
index 0000000..67f5d29
 5409         -
-- /dev/null
        7067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 5410   7068   
@@ -0,0 +1,3 @@
        7069  +
POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3044022100ebd5c442df864cd1fdd76e9d6e7548cac7ebaed57a93bcb3ac92af37ad5797fc021f1c4887de85feca28098f1dbab7fddaadb08a08564131881b0b5d151b4a2c77 HTTP/1.1
        7070  +
Host:example.amazonaws.com
        7071  +
 5411   7072   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 5412   7073   
similarity index 99%
 5413   7074   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 5414   7075   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 5415   7076   
index 34e3382..711c162 100644
 5416         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
        7077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 5417   7078   
@@ -1,4 +1,4 @@
 5418   7079   
AWS4-ECDSA-P256-SHA256
 5419   7080   
20150830T123600Z
 5420   7081   
20150830/service/aws4_request
 5421         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7082  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 5422   7083   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 5423   7084   
similarity index 61%
 5424   7085   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.req
 5425   7086   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 5426   7087   
index 3dc4179..3f0a82a 100644
 5427         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.req
        7088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 5428   7089   
@@ -1,3 +1,2 @@
 5429   7090   
POST / HTTP/1.1
 5430   7091   
Host:example.amazonaws.com
 5431         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5432   7092   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 5433   7093   
new file mode 100644
 5434   7094   
index 0000000..0468d80
 5435         -
-- /dev/null
        7095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 5436   7096   
@@ -0,0 +1,12 @@
        7097  +
{
        7098  +
    "credentials": {
        7099  +
        "access_key_id": "AKIDEXAMPLE",
        7100  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7101  +
    },
        7102  +
    "expiration_in_seconds": 3600,
        7103  +
    "normalize": true,
        7104  +
    "region": "us-east-1",
        7105  +
    "service": "service",
        7106  +
    "sign_body": false,
        7107  +
    "timestamp": "2015-08-30T12:36:00Z"
        7108  +
}
              \
 No newline at end of file
 5437   7109   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 5438   7110   
similarity index 99%
 5439   7111   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 5440   7112   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 5441   7113   
index a8e1727..2883822 100644
 5442         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
        7114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 5443   7115   
@@ -1,10 +1,10 @@
 5444   7116   
POST
 5445   7117   
/
 5446   7118   
 5447   7119   
host:example.amazonaws.com
 5448   7120   
my-header1:value1
 5449   7121   
x-amz-date:20150830T123600Z
 5450   7122   
x-amz-region-set:us-east-1
 5451   7123   
 5452   7124   
host;my-header1;x-amz-date;x-amz-region-set
 5453         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7125  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5454   7126   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 5455   7127   
new file mode 100644
 5456   7128   
index 0000000..e3c2e6e
 5457         -
-- /dev/null
        7129  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 5458   7130   
@@ -0,0 +1 @@
        7131  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 5459   7132   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 5460   7133   
new file mode 100644
 5461   7134   
index 0000000..1d6e288
 5462         -
-- /dev/null
        7135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 5463   7136   
@@ -0,0 +1,7 @@
        7137  +
POST / HTTP/1.1
        7138  +
Host:example.amazonaws.com
        7139  +
My-Header1:value1
        7140  +
X-Amz-Date:20150830T123600Z
        7141  +
X-Amz-Region-Set:us-east-1
        7142  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        7143  +
 5464   7144   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 5465   7145   
similarity index 99%
 5466   7146   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 5467   7147   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 5468   7148   
index f6e3e9b..7c5236a 100644
 5469         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
        7149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 5470   7150   
@@ -1,4 +1,4 @@
 5471   7151   
AWS4-ECDSA-P256-SHA256
 5472   7152   
20150830T123600Z
 5473   7153   
20150830/service/aws4_request
 5474         -
b92b1e85236a12f9d118f85fb6686c83b0e83fb3428f8d4da3cc9acb2851fcfa
        7154  +
b92b1e85236a12f9d118f85fb6686c83b0e83fb3428f8d4da3cc9acb2851fcfa
              \
 No newline at end of file
 5475   7155   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 5476   7156   
new file mode 100644
 5477   7157   
index 0000000..379dcb2
 5478         -
-- /dev/null
        7158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 5479   7159   
@@ -0,0 +1,4 @@
        7160  +
{
        7161  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7162  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7163  +
}
 5480   7164   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 5481   7165   
similarity index 99%
 5482   7166   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 5483   7167   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 5484   7168   
index 0ae73e1..2cf3f29 100644
 5485         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
        7169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 5486   7170   
@@ -1,8 +1,8 @@
 5487   7171   
POST
 5488   7172   
/
 5489   7173   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host%3Bmy-header1
 5490   7174   
host:example.amazonaws.com
 5491   7175   
my-header1:value1
 5492   7176   
 5493   7177   
host;my-header1
 5494         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7178  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5495   7179   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 5496   7180   
new file mode 100644
 5497   7181   
index 0000000..2a08401
 5498         -
-- /dev/null
        7182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 5499   7183   
@@ -0,0 +1 @@
        7184  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 5500   7185   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 5501   7186   
new file mode 100644
 5502   7187   
index 0000000..8d2343f
 5503         -
-- /dev/null
        7188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 5504   7189   
@@ -0,0 +1,4 @@
        7190  +
POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=30450220398bbd17824da156cc02e783348c16e8c04d46d1ae6b31dec9422d8054193380022100f05d3e4f7ed4eed55e950488ed7c53975cdbb4713ec4a2c0af9351ab8fdc9a48 HTTP/1.1
        7191  +
Host:example.amazonaws.com
        7192  +
My-Header1:value1
        7193  +
 5505   7194   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 5506   7195   
similarity index 99%
 5507   7196   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 5508   7197   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 5509   7198   
index 8cb96bf..2c4db7a 100644
 5510         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
        7199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 5511   7200   
@@ -1,4 +1,4 @@
 5512   7201   
AWS4-ECDSA-P256-SHA256
 5513   7202   
20150830T123600Z
 5514   7203   
20150830/service/aws4_request
 5515         -
336638ab840d4785edc7db35ab9c036bc15ffb2dc1a4e05b04f3a7cd7407593f
        7204  +
336638ab840d4785edc7db35ab9c036bc15ffb2dc1a4e05b04f3a7cd7407593f
              \
 No newline at end of file
 5516   7205   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 5517   7206   
similarity index 69%
 5518   7207   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 5519   7208   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 5520   7209   
index 0253f19..917720e 100644
 5521         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        7210  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 5522   7211   
@@ -1,4 +1,3 @@
 5523   7212   
POST / HTTP/1.1
 5524   7213   
Host:example.amazonaws.com
 5525   7214   
My-Header1:value1
 5526         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5527   7215   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 5528   7216   
new file mode 100644
 5529   7217   
index 0000000..0468d80
 5530         -
-- /dev/null
        7218  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 5531   7219   
@@ -0,0 +1,12 @@
        7220  +
{
        7221  +
    "credentials": {
        7222  +
        "access_key_id": "AKIDEXAMPLE",
        7223  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7224  +
    },
        7225  +
    "expiration_in_seconds": 3600,
        7226  +
    "normalize": true,
        7227  +
    "region": "us-east-1",
        7228  +
    "service": "service",
        7229  +
    "sign_body": false,
        7230  +
    "timestamp": "2015-08-30T12:36:00Z"
        7231  +
}
              \
 No newline at end of file
 5532   7232   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 5533   7233   
similarity index 99%
 5534   7234   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 5535   7235   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 5536   7236   
index 1dc3ef8..164e65c 100644
 5537         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
        7237  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 5538   7238   
@@ -1,10 +1,10 @@
 5539   7239   
POST
 5540   7240   
/
 5541   7241   
 5542   7242   
host:example.amazonaws.com
 5543   7243   
my-header1:VALUE1
 5544   7244   
x-amz-date:20150830T123600Z
 5545   7245   
x-amz-region-set:us-east-1
 5546   7246   
 5547   7247   
host;my-header1;x-amz-date;x-amz-region-set
 5548         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7248  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5549   7249   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 5550   7250   
new file mode 100644
 5551   7251   
index 0000000..7072b0e
 5552         -
-- /dev/null
        7252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 5553   7253   
@@ -0,0 +1 @@
        7254  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 5554   7255   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 5555   7256   
new file mode 100644
 5556   7257   
index 0000000..17f5e3e
 5557         -
-- /dev/null
        7258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 5558   7259   
@@ -0,0 +1,7 @@
        7260  +
POST / HTTP/1.1
        7261  +
Host:example.amazonaws.com
        7262  +
My-Header1:VALUE1
        7263  +
X-Amz-Date:20150830T123600Z
        7264  +
X-Amz-Region-Set:us-east-1
        7265  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        7266  +
 5559   7267   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 5560   7268   
similarity index 99%
 5561   7269   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 5562   7270   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 5563   7271   
index 59c7e45..620f54e 100644
 5564         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
        7272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 5565   7273   
@@ -1,4 +1,4 @@
 5566   7274   
AWS4-ECDSA-P256-SHA256
 5567   7275   
20150830T123600Z
 5568   7276   
20150830/service/aws4_request
 5569         -
7de5a74bc45fb5c8a90faada2ab9538e69e4a5eb7f330f62387715669cecd492
        7277  +
7de5a74bc45fb5c8a90faada2ab9538e69e4a5eb7f330f62387715669cecd492
              \
 No newline at end of file
 5570   7278   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 5571   7279   
new file mode 100644
 5572   7280   
index 0000000..379dcb2
 5573         -
-- /dev/null
        7281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 5574   7282   
@@ -0,0 +1,4 @@
        7283  +
{
        7284  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7285  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7286  +
}
 5575   7287   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 5576   7288   
similarity index 99%
 5577   7289   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 5578   7290   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 5579   7291   
index 377e6f3..23e0da3 100644
 5580         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
        7292  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 5581   7293   
@@ -1,8 +1,8 @@
 5582   7294   
POST
 5583   7295   
/
 5584   7296   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host%3Bmy-header1
 5585   7297   
host:example.amazonaws.com
 5586   7298   
my-header1:VALUE1
 5587   7299   
 5588   7300   
host;my-header1
 5589         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7301  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5590   7302   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 5591   7303   
new file mode 100644
 5592   7304   
index 0000000..a18acb8
 5593         -
-- /dev/null
        7305  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 5594   7306   
@@ -0,0 +1 @@
        7307  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 5595   7308   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 5596   7309   
new file mode 100644
 5597   7310   
index 0000000..7cbdcfa
 5598         -
-- /dev/null
        7311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 5599   7312   
@@ -0,0 +1,4 @@
        7313  +
POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host%3Bmy-header1&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402205ed45a0daa4ef3d554ea401f8d2e4f434c77dd8dfd4a15d08786faf9d6fdedf50220501f847d3159358f7823190dfffebaa16ce5b3868921c06b255f7dc3c742d9ff HTTP/1.1
        7314  +
Host:example.amazonaws.com
        7315  +
My-Header1:VALUE1
        7316  +
 5600   7317   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 5601   7318   
similarity index 99%
 5602   7319   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 5603   7320   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 5604   7321   
index 84a7afd..0c90627 100644
 5605         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
        7322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 5606   7323   
@@ -1,4 +1,4 @@
 5607   7324   
AWS4-ECDSA-P256-SHA256
 5608   7325   
20150830T123600Z
 5609   7326   
20150830/service/aws4_request
 5610         -
949fb555e05d3289760ff0f0566ad73a69ed865000d9843b93a15b916dbc8b6f
        7327  +
949fb555e05d3289760ff0f0566ad73a69ed865000d9843b93a15b916dbc8b6f
              \
 No newline at end of file
 5611   7328   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 5612   7329   
similarity index 69%
 5613   7330   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 5614   7331   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 5615   7332   
index 3f9987a..5f14c91 100644
 5616         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        7333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 5617   7334   
@@ -1,4 +1,3 @@
 5618   7335   
POST / HTTP/1.1
 5619   7336   
Host:example.amazonaws.com
 5620   7337   
My-Header1:VALUE1
 5621         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5622   7338   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 5623   7339   
new file mode 100644
 5624   7340   
index 0000000..8f1d5ce
 5625         -
-- /dev/null
        7341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 5626   7342   
@@ -0,0 +1,14 @@
        7343  +
{
        7344  +
    "credentials": {
        7345  +
        "access_key_id": "AKIDEXAMPLE",
        7346  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        7347  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        7348  +
    },
        7349  +
    "expiration_in_seconds": 3600,
        7350  +
    "normalize": true,
        7351  +
    "region": "us-east-1",
        7352  +
    "service": "service",
        7353  +
    "sign_body": false,
        7354  +
    "timestamp": "2015-08-30T12:36:00Z",
        7355  +
    "omit_session_token": true
        7356  +
}
 5627   7357   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 5628   7358   
similarity index 99%
 5629   7359   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 5630   7360   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 5631   7361   
index a6942c1..e881ac7 100644
 5632         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
        7362  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 5633   7363   
@@ -1,9 +1,9 @@
 5634   7364   
POST
 5635   7365   
/
 5636   7366   
 5637   7367   
host:example.amazonaws.com
 5638   7368   
x-amz-date:20150830T123600Z
 5639   7369   
x-amz-region-set:us-east-1
 5640   7370   
 5641   7371   
host;x-amz-date;x-amz-region-set
 5642         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7372  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5643   7373   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 5644   7374   
new file mode 100644
 5645   7375   
index 0000000..9c5ecb9
 5646         -
-- /dev/null
        7376  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 5647   7377   
@@ -0,0 +1 @@
        7378  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 5648   7379   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 5649   7380   
similarity index 52%
 5650   7381   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.req
 5651   7382   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 5652   7383   
index 9d91775..61b6527 100644
 5653         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.req
        7384  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 5654   7385   
@@ -1,4 +1,7 @@
 5655   7386   
POST / HTTP/1.1
 5656   7387   
Host:example.amazonaws.com
        7388  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 5657   7389   
X-Amz-Date:20150830T123600Z
 5658         -
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 No newline at end of file
        7390  +
X-Amz-Region-Set:us-east-1
        7391  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        7392  +
 5659   7393   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 5660   7394   
similarity index 99%
 5661   7395   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 5662   7396   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 5663   7397   
index d5650cb..f8adf13 100644
 5664         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
        7398  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 5665   7399   
@@ -1,4 +1,4 @@
 5666   7400   
AWS4-ECDSA-P256-SHA256
 5667   7401   
20150830T123600Z
 5668   7402   
20150830/service/aws4_request
 5669         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7403  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 5670   7404   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 5671   7405   
new file mode 100644
 5672   7406   
index 0000000..379dcb2
 5673         -
-- /dev/null
        7407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 5674   7408   
@@ -0,0 +1,4 @@
        7409  +
{
        7410  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7411  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7412  +
}
 5675   7413   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 5676   7414   
similarity index 99%
 5677   7415   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 5678   7416   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 5679   7417   
index e48ce07..5ea8e3c 100644
 5680         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
        7418  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 5681   7419   
@@ -1,7 +1,7 @@
 5682   7420   
POST
 5683   7421   
/
 5684   7422   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 5685   7423   
host:example.amazonaws.com
 5686   7424   
 5687   7425   
host
 5688         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7426  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5689   7427   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 5690   7428   
new file mode 100644
 5691   7429   
index 0000000..ff8823a
 5692         -
-- /dev/null
        7430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 5693   7431   
@@ -0,0 +1 @@
        7432  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 5694   7433   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 5695   7434   
new file mode 100644
 5696   7435   
index 0000000..cfac41b
 5697         -
-- /dev/null
        7436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 5698   7437   
@@ -0,0 +1,3 @@
        7438  +
POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402204360bb65fe763c79526141ae439e4198190b7ffc048551a63c60b428bebc4c43022064a9d5c1f476566aea41fa60adfadc952164c53460553b2d1ae161d2f9b665f7 HTTP/1.1
        7439  +
Host:example.amazonaws.com
        7440  +
 5699   7441   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 5700   7442   
similarity index 99%
 5701   7443   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 5702   7444   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 5703   7445   
index 34e3382..711c162 100644
 5704         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
        7446  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 5705   7447   
@@ -1,4 +1,4 @@
 5706   7448   
AWS4-ECDSA-P256-SHA256
 5707   7449   
20150830T123600Z
 5708   7450   
20150830/service/aws4_request
 5709         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7451  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 5710   7452   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5711   7453   
similarity index 61%
 5712   7454   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 5713   7455   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5714   7456   
index 3dc4179..3f0a82a 100644
 5715         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        7457  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5716   7458   
@@ -1,3 +1,2 @@
 5717   7459   
POST / HTTP/1.1
 5718   7460   
Host:example.amazonaws.com
 5719         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5720   7461   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 5721   7462   
new file mode 100644
 5722   7463   
index 0000000..5187392
 5723         -
-- /dev/null
        7464  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 5724   7465   
@@ -0,0 +1,14 @@
        7466  +
{
        7467  +
    "credentials": {
        7468  +
        "access_key_id": "AKIDEXAMPLE",
        7469  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        7470  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        7471  +
    },
        7472  +
    "expiration_in_seconds": 3600,
        7473  +
    "normalize": true,
        7474  +
    "region": "us-east-1",
        7475  +
    "service": "service",
        7476  +
    "sign_body": false,
        7477  +
    "timestamp": "2015-08-30T12:36:00Z",
        7478  +
    "omit_session_token": false
        7479  +
}
 5725   7480   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 5726   7481   
similarity index 99%
 5727   7482   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 5728   7483   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 5729   7484   
index dd408c8..e95924e 100644
 5730         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
        7485  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 5731   7486   
@@ -1,10 +1,10 @@
 5732   7487   
POST
 5733   7488   
/
 5734   7489   
 5735   7490   
host:example.amazonaws.com
 5736   7491   
x-amz-date:20150830T123600Z
 5737   7492   
x-amz-region-set:us-east-1
 5738   7493   
x-amz-security-token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 5739   7494   
 5740   7495   
host;x-amz-date;x-amz-region-set;x-amz-security-token
 5741         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7496  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5742   7497   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 5743   7498   
new file mode 100644
 5744   7499   
index 0000000..1573f07
 5745         -
-- /dev/null
        7500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 5746   7501   
@@ -0,0 +1 @@
        7502  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 5747   7503   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 5748   7504   
new file mode 100644
 5749   7505   
index 0000000..6ef9a08
 5750         -
-- /dev/null
        7506  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 5751   7507   
@@ -0,0 +1,7 @@
        7508  +
POST / HTTP/1.1
        7509  +
Host:example.amazonaws.com
        7510  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        7511  +
X-Amz-Date:20150830T123600Z
        7512  +
X-Amz-Region-Set:us-east-1
        7513  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set;x-amz-security-token, Signature=3045022035115ac58fb923b0894e63eabf5864858c27f504b34bd707b569b2d6ee6a9c2e02210080ed7d2f3b7d52b4243890c596379ecd2066e9a1ac183d546ba07955ed5db306
        7514  +
 5752   7515   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 5753   7516   
similarity index 99%
 5754   7517   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 5755   7518   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 5756   7519   
index f352b54..3c3235f 100644
 5757         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
        7520  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 5758   7521   
@@ -1,4 +1,4 @@
 5759   7522   
AWS4-ECDSA-P256-SHA256
 5760   7523   
20150830T123600Z
 5761   7524   
20150830/service/aws4_request
 5762         -
964c15d46a67b327b877c02d680c81cb75df04e85144142e190da565ff0d029f
        7525  +
964c15d46a67b327b877c02d680c81cb75df04e85144142e190da565ff0d029f
              \
 No newline at end of file
 5763   7526   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 5764   7527   
new file mode 100644
 5765   7528   
index 0000000..379dcb2
 5766         -
-- /dev/null
        7529  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 5767   7530   
@@ -0,0 +1,4 @@
        7531  +
{
        7532  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7533  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7534  +
}
 5768   7535   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 5769   7536   
similarity index 99%
 5770   7537   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 5771   7538   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 5772   7539   
index 832cdc0..63b7de5 100644
 5773         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
        7540  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 5774   7541   
@@ -1,7 +1,7 @@
 5775   7542   
POST
 5776   7543   
/
 5777   7544   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-SignedHeaders=host
 5778   7545   
host:example.amazonaws.com
 5779   7546   
 5780   7547   
host
 5781         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7548  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5782   7549   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 5783   7550   
new file mode 100644
 5784   7551   
index 0000000..713f57c
 5785         -
-- /dev/null
        7552  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 5786   7553   
@@ -0,0 +1 @@
        7554  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 5787   7555   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 5788   7556   
new file mode 100644
 5789   7557   
index 0000000..32c3bb3
 5790         -
-- /dev/null
        7558  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 5791   7559   
@@ -0,0 +1,3 @@
        7560  +
POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402207e41aee2d6ea2a3868b3dea7b04caeb14d23ee696a76b93467213cd18467cbf502202a05e108d8feb197a62b4ea4b8a9d11aa4dc92bcfaf6e5fe185efac4bafd0802 HTTP/1.1
        7561  +
Host:example.amazonaws.com
        7562  +
 5792   7563   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5793   7564   
similarity index 99%
 5794   7565   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 5795   7566   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5796   7567   
index d7f3668..b46cd8c 100644
 5797         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
        7568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5798   7569   
@@ -1,4 +1,4 @@
 5799   7570   
AWS4-ECDSA-P256-SHA256
 5800   7571   
20150830T123600Z
 5801   7572   
20150830/service/aws4_request
 5802         -
c3a8ba26c461df46b5010b756fb8644fd922a2aea95d77b56295e5e4d3bb155f
        7573  +
c3a8ba26c461df46b5010b756fb8644fd922a2aea95d77b56295e5e4d3bb155f
              \
 No newline at end of file
 5803   7574   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5804   7575   
similarity index 60%
 5805   7576   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 5806   7577   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5807   7578   
index 8b5efc8..3f0a82a 100644
 5808         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        7579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5809   7580   
@@ -1,3 +1,2 @@
 5810   7581   
POST / HTTP/1.1
 5811   7582   
Host:example.amazonaws.com
 5812         -
X-Amz-Date:20150830T123600Z
 5813   7583   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 5814   7584   
new file mode 100644
 5815   7585   
index 0000000..0468d80
 5816         -
-- /dev/null
        7586  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 5817   7587   
@@ -0,0 +1,12 @@
        7588  +
{
        7589  +
    "credentials": {
        7590  +
        "access_key_id": "AKIDEXAMPLE",
        7591  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7592  +
    },
        7593  +
    "expiration_in_seconds": 3600,
        7594  +
    "normalize": true,
        7595  +
    "region": "us-east-1",
        7596  +
    "service": "service",
        7597  +
    "sign_body": false,
        7598  +
    "timestamp": "2015-08-30T12:36:00Z"
        7599  +
}
              \
 No newline at end of file
 5818   7600   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5819   7601   
similarity index 99%
 5820   7602   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 5821   7603   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5822   7604   
index 02af60f..34b8c11 100644
 5823         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
        7605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5824   7606   
@@ -1,9 +1,9 @@
 5825   7607   
POST
 5826   7608   
/
 5827   7609   
Param1=value1
 5828   7610   
host:example.amazonaws.com
 5829   7611   
x-amz-date:20150830T123600Z
 5830   7612   
x-amz-region-set:us-east-1
 5831   7613   
 5832   7614   
host;x-amz-date;x-amz-region-set
 5833         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7615  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5834   7616   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 5835   7617   
new file mode 100644
 5836   7618   
index 0000000..aac6427
 5837         -
-- /dev/null
        7619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 5838   7620   
@@ -0,0 +1 @@
        7621  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 5839   7622   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 5840   7623   
new file mode 100644
 5841   7624   
index 0000000..a611436
 5842         -
-- /dev/null
        7625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 5843   7626   
@@ -0,0 +1,6 @@
        7627  +
POST /?Param1=value1 HTTP/1.1
        7628  +
Host:example.amazonaws.com
        7629  +
X-Amz-Date:20150830T123600Z
        7630  +
X-Amz-Region-Set:us-east-1
        7631  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        7632  +
 5844   7633   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-string-to-sign.txt
 5845   7634   
similarity index 99%
 5846   7635   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-string-to-sign.txt
 5847   7636   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-string-to-sign.txt
 5848   7637   
index 4256b4f..ad88dff 100644
 5849         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-string-to-sign.txt
        7638  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-string-to-sign.txt
 5850   7639   
@@ -1,4 +1,4 @@
 5851   7640   
AWS4-ECDSA-P256-SHA256
 5852   7641   
20150830T123600Z
 5853   7642   
20150830/service/aws4_request
 5854         -
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
        7643  +
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
              \
 No newline at end of file
 5855   7644   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 5856   7645   
new file mode 100644
 5857   7646   
index 0000000..379dcb2
 5858         -
-- /dev/null
        7647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 5859   7648   
@@ -0,0 +1,4 @@
        7649  +
{
        7650  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7651  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7652  +
}
 5860   7653   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5861   7654   
similarity index 99%
 5862   7655   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 5863   7656   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5864   7657   
index fa84bbd..76d5ad6 100644
 5865         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
        7658  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5866   7659   
@@ -1,7 +1,7 @@
 5867   7660   
POST
 5868   7661   
/
 5869   7662   
Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 5870   7663   
host:example.amazonaws.com
 5871   7664   
 5872   7665   
host
 5873         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7666  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5874   7667   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 5875   7668   
new file mode 100644
 5876   7669   
index 0000000..4cb1c94
 5877         -
-- /dev/null
        7670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 5878   7671   
@@ -0,0 +1 @@
        7672  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 5879   7673   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 5880   7674   
new file mode 100644
 5881   7675   
index 0000000..bd22b97
 5882         -
-- /dev/null
        7676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 5883   7677   
@@ -0,0 +1,3 @@
        7678  +
POST /?Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3045022025fbe60840e867e12ed08dde14cb7b65da87de27afd012fd2bef96c7bc5b6bfe022100ab6eaea845c3d8b65b39d4506cdd36232f10dae092ddd4d54f887d2f979821d9 HTTP/1.1
        7679  +
Host:example.amazonaws.com
        7680  +
 5884   7681   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-string-to-sign.txt
 5885   7682   
similarity index 99%
 5886   7683   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-string-to-sign.txt
 5887   7684   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-string-to-sign.txt
 5888   7685   
index de270ef..8c9d319 100644
 5889         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-string-to-sign.txt
        7686  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-string-to-sign.txt
 5890   7687   
@@ -1,4 +1,4 @@
 5891   7688   
AWS4-ECDSA-P256-SHA256
 5892   7689   
20150830T123600Z
 5893   7690   
20150830/service/aws4_request
 5894         -
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
        7691  +
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
              \
 No newline at end of file
 5895   7692   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5896   7693   
similarity index 67%
 5897   7694   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.req
 5898   7695   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5899   7696   
index 9157bc7..c9d6e5d 100644
 5900         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.req
        7697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5901   7698   
@@ -1,3 +1,2 @@
 5902   7699   
POST /?Param1=value1 HTTP/1.1
 5903   7700   
Host:example.amazonaws.com
 5904         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5905   7701   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 5906   7702   
new file mode 100644
 5907   7703   
index 0000000..0468d80
 5908         -
-- /dev/null
        7704  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 5909   7705   
@@ -0,0 +1,12 @@
        7706  +
{
        7707  +
    "credentials": {
        7708  +
        "access_key_id": "AKIDEXAMPLE",
        7709  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7710  +
    },
        7711  +
    "expiration_in_seconds": 3600,
        7712  +
    "normalize": true,
        7713  +
    "region": "us-east-1",
        7714  +
    "service": "service",
        7715  +
    "sign_body": false,
        7716  +
    "timestamp": "2015-08-30T12:36:00Z"
        7717  +
}
              \
 No newline at end of file
 5910   7718   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5911   7719   
similarity index 99%
 5912   7720   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 5913   7721   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5914   7722   
index 02af60f..34b8c11 100644
 5915         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
        7723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5916   7724   
@@ -1,9 +1,9 @@
 5917   7725   
POST
 5918   7726   
/
 5919   7727   
Param1=value1
 5920   7728   
host:example.amazonaws.com
 5921   7729   
x-amz-date:20150830T123600Z
 5922   7730   
x-amz-region-set:us-east-1
 5923   7731   
 5924   7732   
host;x-amz-date;x-amz-region-set
 5925         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7733  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5926   7734   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 5927   7735   
new file mode 100644
 5928   7736   
index 0000000..34f75c8
 5929         -
-- /dev/null
        7737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 5930   7738   
@@ -0,0 +1 @@
        7739  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 5931   7740   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 5932   7741   
new file mode 100644
 5933   7742   
index 0000000..c731408
 5934         -
-- /dev/null
        7743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 5935   7744   
@@ -0,0 +1,6 @@
        7745  +
POST /?Param1=value1 HTTP/1.1
        7746  +
Host:example.amazonaws.com
        7747  +
X-Amz-Date:20150830T123600Z
        7748  +
X-Amz-Region-Set:us-east-1
        7749  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        7750  +
 5936   7751   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5937   7752   
similarity index 99%
 5938   7753   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 5939   7754   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5940   7755   
index 4256b4f..ad88dff 100644
 5941         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
        7756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5942   7757   
@@ -1,4 +1,4 @@
 5943   7758   
AWS4-ECDSA-P256-SHA256
 5944   7759   
20150830T123600Z
 5945   7760   
20150830/service/aws4_request
 5946         -
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
        7761  +
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
              \
 No newline at end of file
 5947   7762   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 5948   7763   
new file mode 100644
 5949   7764   
index 0000000..379dcb2
 5950         -
-- /dev/null
        7765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 5951   7766   
@@ -0,0 +1,4 @@
        7767  +
{
        7768  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7769  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7770  +
}
 5952   7771   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 5953   7772   
similarity index 99%
 5954   7773   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 5955   7774   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 5956   7775   
index fa84bbd..76d5ad6 100644
 5957         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
        7776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 5958   7777   
@@ -1,7 +1,7 @@
 5959   7778   
POST
 5960   7779   
/
 5961   7780   
Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 5962   7781   
host:example.amazonaws.com
 5963   7782   
 5964   7783   
host
 5965         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7784  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5966   7785   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 5967   7786   
new file mode 100644
 5968   7787   
index 0000000..ae000d6
 5969         -
-- /dev/null
        7788  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 5970   7789   
@@ -0,0 +1 @@
        7790  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 5971   7791   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 5972   7792   
new file mode 100644
 5973   7793   
index 0000000..a868f7d
 5974         -
-- /dev/null
        7794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 5975   7795   
@@ -0,0 +1,3 @@
        7796  +
POST /?Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=304402207a361da47ef99ca9b92f2a8d5f8f0214a9580491aa78413733200307498bae3d02207072a6f2a774fa336cc5fb84daf553f70ed1867f2e35563e3a24fdf4a329713d HTTP/1.1
        7797  +
Host:example.amazonaws.com
        7798  +
 5976   7799   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 5977   7800   
similarity index 99%
 5978   7801   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 5979   7802   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 5980   7803   
index de270ef..8c9d319 100644
 5981         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
        7804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 5982   7805   
@@ -1,4 +1,4 @@
 5983   7806   
AWS4-ECDSA-P256-SHA256
 5984   7807   
20150830T123600Z
 5985   7808   
20150830/service/aws4_request
 5986         -
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
        7809  +
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
              \
 No newline at end of file
 5987   7810   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5988   7811   
similarity index 67%
 5989   7812   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 5990   7813   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5991   7814   
index 9157bc7..c9d6e5d 100644
 5992         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        7815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5993   7816   
@@ -1,3 +1,2 @@
 5994   7817   
POST /?Param1=value1 HTTP/1.1
 5995   7818   
Host:example.amazonaws.com
 5996         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5997   7819   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 5998   7820   
new file mode 100644
 5999   7821   
index 0000000..0468d80
 6000         -
-- /dev/null
        7822  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 6001   7823   
@@ -0,0 +1,12 @@
        7824  +
{
        7825  +
    "credentials": {
        7826  +
        "access_key_id": "AKIDEXAMPLE",
        7827  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7828  +
    },
        7829  +
    "expiration_in_seconds": 3600,
        7830  +
    "normalize": true,
        7831  +
    "region": "us-east-1",
        7832  +
    "service": "service",
        7833  +
    "sign_body": false,
        7834  +
    "timestamp": "2015-08-30T12:36:00Z"
        7835  +
}
              \
 No newline at end of file
 6002   7836   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 6003   7837   
similarity index 99%
 6004   7838   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 6005   7839   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 6006   7840   
index a6942c1..e881ac7 100644
 6007         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
        7841  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 6008   7842   
@@ -1,9 +1,9 @@
 6009   7843   
POST
 6010   7844   
/
 6011   7845   
 6012   7846   
host:example.amazonaws.com
 6013   7847   
x-amz-date:20150830T123600Z
 6014   7848   
x-amz-region-set:us-east-1
 6015   7849   
 6016   7850   
host;x-amz-date;x-amz-region-set
 6017         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7851  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 6018   7852   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 6019   7853   
new file mode 100644
 6020   7854   
index 0000000..7c5e47b
 6021         -
-- /dev/null
        7855  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 6022   7856   
@@ -0,0 +1 @@
        7857  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 6023   7858   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 6024   7859   
new file mode 100644
 6025   7860   
index 0000000..c0e50a0
 6026         -
-- /dev/null
        7861  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 6027   7862   
@@ -0,0 +1,6 @@
        7863  +
POST / HTTP/1.1
        7864  +
Host:example.amazonaws.com
        7865  +
X-Amz-Date:20150830T123600Z
        7866  +
X-Amz-Region-Set:us-east-1
        7867  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        7868  +
 6028   7869   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 6029   7870   
similarity index 99%
 6030   7871   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 6031   7872   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 6032   7873   
index d5650cb..f8adf13 100644
 6033         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
        7874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 6034   7875   
@@ -1,4 +1,4 @@
 6035   7876   
AWS4-ECDSA-P256-SHA256
 6036   7877   
20150830T123600Z
 6037   7878   
20150830/service/aws4_request
 6038         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7879  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 6039   7880   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 6040   7881   
new file mode 100644
 6041   7882   
index 0000000..379dcb2
 6042         -
-- /dev/null
        7883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 6043   7884   
@@ -0,0 +1,4 @@
        7885  +
{
        7886  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7887  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7888  +
}
 6044   7889   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 6045   7890   
similarity index 99%
 6046   7891   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 6047   7892   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 6048   7893   
index e48ce07..5ea8e3c 100644
 6049         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
        7894  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 6050   7895   
@@ -1,7 +1,7 @@
 6051   7896   
POST
 6052   7897   
/
 6053   7898   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 6054   7899   
host:example.amazonaws.com
 6055   7900   
 6056   7901   
host
 6057         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7902  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 6058   7903   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 6059   7904   
new file mode 100644
 6060   7905   
index 0000000..ea8e3b4
 6061         -
-- /dev/null
        7906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 6062   7907   
@@ -0,0 +1 @@
        7908  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 6063   7909   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 6064   7910   
new file mode 100644
 6065   7911   
index 0000000..616973f
 6066         -
-- /dev/null
        7912  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 6067   7913   
@@ -0,0 +1,3 @@
        7914  +
POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=3044022034768b9f03c61ee7f93b1e23198ff08923345e32f25e662afa5794997f00ebb102205813497325d50d374e486a3fce997e02ae9610a8eb81af01128103dd9d2d997d HTTP/1.1
        7915  +
Host:example.amazonaws.com
        7916  +
 6068   7917   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 6069   7918   
similarity index 99%
 6070   7919   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 6071   7920   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 6072   7921   
index 34e3382..711c162 100644
 6073         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
        7922  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 6074   7923   
@@ -1,4 +1,4 @@
 6075   7924   
AWS4-ECDSA-P256-SHA256
 6076   7925   
20150830T123600Z
 6077   7926   
20150830/service/aws4_request
 6078         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7927  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 6079   7928   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 6080   7929   
new file mode 100644
 6081   7930   
index 0000000..3f0a82a
 6082         -
-- /dev/null
        7931  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 6083   7932   
@@ -0,0 +1,2 @@
        7933  +
POST / HTTP/1.1
        7934  +
Host:example.amazonaws.com
 6084   7935   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 6085   7936   
new file mode 100644
 6086   7937   
index 0000000..0db1df1
 6087         -
-- /dev/null
        7938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 6088   7939   
@@ -0,0 +1,12 @@
        7940  +
{
        7941  +
    "credentials": {
        7942  +
        "access_key_id": "AKIDEXAMPLE",
        7943  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7944  +
    },
        7945  +
    "expiration_in_seconds": 3600,
        7946  +
    "normalize": true,
        7947  +
    "region": "us-east-1",
        7948  +
    "service": "service",
        7949  +
    "sign_body": true,
        7950  +
    "timestamp": "2015-08-30T12:36:00Z"
        7951  +
}
              \
 No newline at end of file
 6089   7952   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 6090   7953   
similarity index 62%
 6091   7954   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 6092   7955   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 6093   7956   
index 05ab787..62639b2 100644
 6094         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        7957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 6095   7958   
@@ -1,12 +1,12 @@
 6096   7959   
POST
 6097   7960   
/
 6098   7961   
 6099   7962   
content-length:13
 6100   7963   
content-type:application/x-www-form-urlencoded; charset=utf-8
 6101   7964   
host:example.amazonaws.com
 6102         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7965  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 6103   7966   
x-amz-date:20150830T123600Z
 6104   7967   
x-amz-region-set:us-east-1
 6105   7968   
 6106   7969   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 6107         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7970  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6108   7971   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 6109   7972   
new file mode 100644
 6110   7973   
index 0000000..006ec2e
 6111         -
-- /dev/null
        7974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 6112   7975   
@@ -0,0 +1 @@
        7976  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 6113   7977   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 6114   7978   
new file mode 100644
 6115   7979   
index 0000000..87a11f2
 6116         -
-- /dev/null
        7980  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 6117   7981   
@@ -0,0 +1,10 @@
        7982  +
POST / HTTP/1.1
        7983  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        7984  +
Host:example.amazonaws.com
        7985  +
Content-Length:13
        7986  +
X-Amz-Date:20150830T123600Z
        7987  +
X-Amz-Region-Set:us-east-1
        7988  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7989  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set, Signature=3045022100c016dc61cbd380cf8160711320957071f5c122ef69164d56d02f79daf51a0603022043e3313aa2f6b46285cc89dfe5616ccc74c810a3d7ea25b76ee1ca496f7facba
        7990  +
        7991  +
Param1=value1
              \
 No newline at end of file
 6118   7992   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt
 6119   7993   
new file mode 100644
 6120   7994   
index 0000000..c047afb
 6121         -
-- /dev/null
        7995  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-string-to-sign.txt
 6122   7996   
@@ -0,0 +1,4 @@
        7997  +
AWS4-ECDSA-P256-SHA256
        7998  +
20150830T123600Z
        7999  +
20150830/service/aws4_request
        8000  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 6123   8001   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 6124   8002   
new file mode 100644
 6125   8003   
index 0000000..379dcb2
 6126         -
-- /dev/null
        8004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 6127   8005   
@@ -0,0 +1,4 @@
        8006  +
{
        8007  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        8008  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        8009  +
}
 6128   8010   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 6129   8011   
similarity index 85%
 6130   8012   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 6131   8013   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 6132   8014   
index fcc454f..6933a8c 100644
 6133         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        8015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 6134   8016   
@@ -1,9 +1,9 @@
 6135   8017   
POST
 6136   8018   
/
 6137   8019   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost
 6138   8020   
content-length:13
 6139   8021   
content-type:application/x-www-form-urlencoded; charset=utf-8
 6140   8022   
host:example.amazonaws.com
 6141   8023   
 6142   8024   
content-length;content-type;host
 6143         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8025  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6144   8026   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 6145   8027   
new file mode 100644
 6146   8028   
index 0000000..34a2e12
 6147         -
-- /dev/null
        8029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 6148   8030   
@@ -0,0 +1 @@
        8031  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 6149   8032   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 6150   8033   
new file mode 100644
 6151   8034   
index 0000000..197b99e
 6152         -
-- /dev/null
        8035  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 6153   8036   
@@ -0,0 +1,6 @@
        8037  +
POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=30450220128d491ccca3f9a7988d00454d2210dd884d7990ca2cb844d4968c8fa9e937f8022100b3668dd440d8206074460567cee98691f66412fe5a83d8e32c601e1331f2ec2b HTTP/1.1
        8038  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        8039  +
Host:example.amazonaws.com
        8040  +
Content-Length:13
        8041  +
        8042  +
Param1=value1
              \
 No newline at end of file
 6154   8043   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt
 6155   8044   
new file mode 100644
 6156   8045   
index 0000000..9d2bc74
 6157         -
-- /dev/null
        8046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-string-to-sign.txt
 6158   8047   
@@ -0,0 +1,4 @@
        8048  +
AWS4-ECDSA-P256-SHA256
        8049  +
20150830T123600Z
        8050  +
20150830/service/aws4_request
        8051  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 6159   8052   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 6160   8053   
similarity index 80%
 6161   8054   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.req
 6162   8055   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 6163   8056   
index 36015f1..8289eaa 100644
 6164         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.req
        8057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 6165   8058   
@@ -1,6 +1,6 @@
 6166   8059   
POST / HTTP/1.1
 6167   8060   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 6168   8061   
Host:example.amazonaws.com
 6169         -
X-Amz-Date:20150830T123600Z
        8062  +
Content-Length:13
 6170   8063   
 6171   8064   
Param1=value1
              \
 No newline at end of file
 6172   8065   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 6173   8066   
new file mode 100644
 6174   8067   
index 0000000..0db1df1
 6175         -
-- /dev/null
        8068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 6176   8069   
@@ -0,0 +1,12 @@
        8070  +
{
        8071  +
    "credentials": {
        8072  +
        "access_key_id": "AKIDEXAMPLE",
        8073  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        8074  +
    },
        8075  +
    "expiration_in_seconds": 3600,
        8076  +
    "normalize": true,
        8077  +
    "region": "us-east-1",
        8078  +
    "service": "service",
        8079  +
    "sign_body": true,
        8080  +
    "timestamp": "2015-08-30T12:36:00Z"
        8081  +
}
              \
 No newline at end of file
 6177   8082   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 6178   8083   
similarity index 61%
 6179   8084   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 6180   8085   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 6181   8086   
index 69009dc..797632b 100644
 6182         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        8087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 6183   8088   
@@ -1,12 +1,12 @@
 6184   8089   
POST
 6185   8090   
/
 6186   8091   
 6187   8092   
content-length:13
 6188   8093   
content-type:application/x-www-form-urlencoded
 6189   8094   
host:example.amazonaws.com
 6190         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8095  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 6191   8096   
x-amz-date:20150830T123600Z
 6192   8097   
x-amz-region-set:us-east-1
 6193   8098   
 6194   8099   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 6195         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8100  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6196   8101   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 6197   8102   
new file mode 100644
 6198   8103   
index 0000000..f5a641c
 6199         -
-- /dev/null
        8104  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 6200   8105   
@@ -0,0 +1 @@
        8106  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 6201   8107   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 6202   8108   
new file mode 100644
 6203   8109   
index 0000000..7bd94a7
 6204         -
-- /dev/null
        8110  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 6205   8111   
@@ -0,0 +1,10 @@
        8112  +
POST / HTTP/1.1
        8113  +
Content-Type:application/x-www-form-urlencoded
        8114  +
Host:example.amazonaws.com
        8115  +
Content-Length:13
        8116  +
X-Amz-Date:20150830T123600Z
        8117  +
X-Amz-Region-Set:us-east-1
        8118  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        8119  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set, Signature=3045022100955bbc0f0b9d4284719808642167f7d5ea4a72f8c296b75b442898c8b81cd7e502202425fb97620fa9a20344d22b248dd00db07524fc39b5ad77533e00b277331241
        8120  +
        8121  +
Param1=value1
              \
 No newline at end of file
 6206   8122   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 6207   8123   
new file mode 100644
 6208   8124   
index 0000000..8d25ba9
 6209         -
-- /dev/null
        8125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 6210   8126   
@@ -0,0 +1,4 @@
        8127  +
AWS4-ECDSA-P256-SHA256
        8128  +
20150830T123600Z
        8129  +
20150830/service/aws4_request
        8130  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 6211   8131   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 6212   8132   
new file mode 100644
 6213   8133   
index 0000000..379dcb2
 6214         -
-- /dev/null
        8134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 6215   8135   
@@ -0,0 +1,4 @@
        8136  +
{
        8137  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        8138  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        8139  +
}
 6216   8140   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 6217   8141   
similarity index 99%
 6218   8142   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 6219   8143   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 6220   8144   
index 9ed065b..563ff58 100644
 6221         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
        8145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 6222   8146   
@@ -1,9 +1,9 @@
 6223   8147   
POST
 6224   8148   
/
 6225   8149   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost
 6226   8150   
content-length:13
 6227   8151   
content-type:application/x-www-form-urlencoded
 6228   8152   
host:example.amazonaws.com
 6229   8153   
 6230   8154   
content-length;content-type;host
 6231         -
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        8155  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6232   8156   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 6233   8157   
new file mode 100644
 6234   8158   
index 0000000..0c77daf
 6235         -
-- /dev/null
        8159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 6236   8160   
@@ -0,0 +1 @@
        8161  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 6237   8162   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 6238   8163   
new file mode 100644
 6239   8164   
index 0000000..71d6de9
 6240         -
-- /dev/null
        8165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 6241   8166   
@@ -0,0 +1,6 @@
        8167  +
POST /?X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Signature=30450221008d8a6aa0bc3f651e6c14c52e9e24dbca58964641c9cb6e55169f9dc74766ae3d022016126756ce1523ac972f66f6bf6e981f44572d3c8916f1f43d428fb2caa0e1ea HTTP/1.1
        8168  +
Content-Type:application/x-www-form-urlencoded
        8169  +
Host:example.amazonaws.com
        8170  +
Content-Length:13
        8171  +
        8172  +
Param1=value1
              \
 No newline at end of file
 6242   8173   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-string-to-sign.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-string-to-sign.txt
 6243   8174   
similarity index 99%
 6244   8175   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-string-to-sign.txt
 6245   8176   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-string-to-sign.txt
 6246   8177   
index bef3143..cc7a224 100644
 6247         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-string-to-sign.txt
        8178  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-string-to-sign.txt
 6248   8179   
@@ -1,4 +1,4 @@
 6249   8180   
AWS4-ECDSA-P256-SHA256
 6250   8181   
20150830T123600Z
 6251   8182   
20150830/service/aws4_request
 6252         -
4e4122984d30d13170a298ece62cc30f8da12578fb3b482616b1f11036b13934
        8183  +
4e4122984d30d13170a298ece62cc30f8da12578fb3b482616b1f11036b13934
              \
 No newline at end of file
 6253   8184   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 6254   8185   
new file mode 100644
 6255   8186   
index 0000000..760b2d3
 6256         -
-- /dev/null
        8187  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 6257   8188   
@@ -0,0 +1,6 @@
        8189  +
POST / HTTP/1.1
        8190  +
Content-Type:application/x-www-form-urlencoded
        8191  +
Host:example.amazonaws.com
        8192  +
Content-Length:13
        8193  +
        8194  +
Param1=value1
              \
 No newline at end of file
 6258   8195   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 6259   8196   
index 9bd636f..b53f33f 100644
 6260         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        8197  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 6261   8198   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 6262   8199   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 6263   8200   
        }
 6264   8201   
 6265   8202   
        if let SignatureValues::QueryParams(values) = values {
 6266   8203   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 6267   8204   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 6268   8205   
 6269   8206   
            #[cfg(feature = "sigv4a")]
 6270   8207   
            if let Some(regions) = values.region_set {
 6271   8208   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 6272   8209   
            }
 6273   8210   
 6274   8211   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 6275   8212   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 6276   8213   
            add_param(
 6277   8214   
                &mut params,
 6278   8215   
                param::X_AMZ_SIGNED_HEADERS,
 6279   8216   
                values.signed_headers.as_str(),
 6280   8217   
            );
 6281   8218   
 6282   8219   
            if let Some(security_token) = values.security_token {
 6283   8220   
                add_param(
 6284   8221   
                    &mut params,
 6285   8222   
                    settings
 6286   8223   
                        .session_token_name_override
 6287   8224   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 6288   8225   
                    security_token,
 6289   8226   
                );
 6290   8227   
            }
 6291   8228   
        }
 6292         -
        // Sort by param name, and then by param value
        8229  +
        8230  +
        // Sort on the _encoded_ key/value pairs
        8231  +
        let mut params: Vec<(String, String)> = params
        8232  +
            .into_iter()
        8233  +
            .map(|x| {
        8234  +
                use aws_smithy_http::query::fmt_string;
        8235  +
                let enc_k = fmt_string(&x.0);
        8236  +
                let enc_v = fmt_string(&x.1);
        8237  +
                (enc_k, enc_v)
        8238  +
            })
        8239  +
            .collect();
        8240  +
 6293   8241   
        params.sort();
 6294   8242   
 6295   8243   
        let mut query = QueryWriter::new(uri);
 6296   8244   
        query.clear_params();
 6297   8245   
        for (key, value) in params {
 6298         -
            query.insert(&key, &value);
        8246  +
            query.insert_encoded(&key, &value);
 6299   8247   
        }
 6300   8248   
 6301   8249   
        let query = query.build_query();
 6302   8250   
        if query.is_empty() {
 6303   8251   
            None
 6304   8252   
        } else {
 6305   8253   
            Some(query)
 6306   8254   
        }
 6307   8255   
    }
 6308   8256   
 6309   8257   
    fn insert_host_header(
 6310   8258   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 6311   8259   
        uri: &Uri,
 6312   8260   
    ) -> HeaderValue {
 6313   8261   
        match canonical_headers.get(&HOST) {
 6314   8262   
            Some(header) => header.clone(),
 6315   8263   
            None => {
 6316   8264   
                let port = uri.port();
 6317   8265   
                let scheme = uri.scheme();
 6318   8266   
                let authority = uri
 6319   8267   
                    .authority()
 6320   8268   
                    .expect("request uri authority must be set for signing")
 6321   8269   
                    .as_str();
 6322   8270   
                let host = uri
 6323   8271   
                    .host()
 6324   8272   
                    .expect("request uri host must be set for signing");
 6325   8273   
 6326   8274   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 6327   8275   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 6328   8276   
                // sent in the Host header (and Hyper strips default ports if they are present)
 6329   8277   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 6330   8278   
            service,
 6331   8279   
            hashed_creq,
 6332   8280   
            signature_version: SignatureVersion::V4a,
 6333   8281   
        }
 6334   8282   
    }
 6335   8283   
}
 6336   8284   
 6337   8285   
impl fmt::Display for StringToSign<'_> {
 6338   8286   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 6339   8287   
        write!(
 6340   8288   
            f,
 6341   8289   
            "{}\n{}\n{}\n{}",
 6342   8290   
            self.algorithm,
 6343   8291   
            format_date_time(self.time),
 6344   8292   
            match self.signature_version {
 6345   8293   
                SignatureVersion::V4 => self.scope.to_string(),
 6346   8294   
                SignatureVersion::V4a => self.scope.v4a_display(),
 6347   8295   
            },
 6348   8296   
            self.hashed_creq
 6349   8297   
        )
 6350   8298   
    }
 6351   8299   
}
 6352   8300   
 6353   8301   
#[cfg(test)]
 6354   8302   
mod tests {
 6355   8303   
    use crate::date_time::test_parsers::parse_date_time;
 6356   8304   
    use crate::http_request::canonical_request::{
 6357   8305   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 6358   8306   
    };
 6359   8307   
    use crate::http_request::test;
        8308  +
    use crate::http_request::test::SigningSuiteTest;
 6360   8309   
    use crate::http_request::{
 6361   8310   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 6362   8311   
        SigningParams, SigningSettings,
 6363   8312   
    };
 6364   8313   
    use crate::sign::v4;
 6365   8314   
    use crate::sign::v4::sha256_hex_string;
 6366   8315   
    use aws_credential_types::Credentials;
 6367   8316   
    use aws_smithy_http::query_writer::QueryWriter;
 6368   8317   
    use aws_smithy_runtime_api::client::identity::Identity;
 6369   8318   
    use http0::{HeaderValue, Uri};
 6370   8319   
    use pretty_assertions::assert_eq;
 6371   8320   
    use proptest::{prelude::*, proptest};
 6372   8321   
    use std::borrow::Cow;
 6373   8322   
    use std::time::Duration;
 6374   8323   
 6375   8324   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 6376   8325   
        v4::signing_params::Builder::default()
 6377   8326   
            .identity(identity)
 6378   8327   
            .region("test-region")
 6379   8328   
            .name("testservicename")
 6380   8329   
            .time(parse_date_time("20210511T154045Z").unwrap())
 6381   8330   
            .settings(settings)
 6382   8331   
            .build()
 6383   8332   
            .unwrap()
 6384   8333   
            .into()
 6385   8334   
    }
 6386   8335   
 6387   8336   
    #[test]
 6388   8337   
    fn test_repeated_header() {
 6389         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8338  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8339  +
        let mut req = test.request();
 6390   8340   
        req.headers.push((
 6391   8341   
            "x-amz-object-attributes".to_string(),
 6392   8342   
            "Checksum".to_string(),
 6393   8343   
        ));
 6394   8344   
        req.headers.push((
 6395   8345   
            "x-amz-object-attributes".to_string(),
 6396   8346   
            "ObjectSize".to_string(),
 6397   8347   
        ));
 6398   8348   
        let req = SignableRequest::from(&req);
 6399   8349   
        let settings = SigningSettings {
 6400   8350   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6401   8351   
            session_token_mode: SessionTokenMode::Exclude,
 6402   8352   
            ..Default::default()
 6403   8353   
        };
 6404   8354   
        let identity = Credentials::for_tests().into();
 6405   8355   
        let signing_params = signing_params(&identity, settings);
 6406   8356   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6407   8357   
 6408   8358   
        assert_eq!(
 6409   8359   
            creq.values.signed_headers().to_string(),
 6410   8360   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 6411   8361   
        );
 6412   8362   
        assert_eq!(
 6413   8363   
            creq.header_values_for("x-amz-object-attributes"),
 6414   8364   
            "Checksum,ObjectSize",
 6415   8365   
        );
 6416   8366   
    }
 6417   8367   
 6418   8368   
    #[test]
 6419   8369   
    fn test_host_header_properly_handles_ports() {
 6420   8370   
        fn host_header_test_setup(endpoint: String) -> String {
 6421         -
            let mut req = test::v4::test_request("get-vanilla");
        8371  +
            let test = SigningSuiteTest::v4("get-vanilla");
        8372  +
            let mut req = test.request();
 6422   8373   
            req.uri = endpoint;
 6423   8374   
            let req = SignableRequest::from(&req);
 6424   8375   
            let settings = SigningSettings {
 6425   8376   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6426   8377   
                session_token_mode: SessionTokenMode::Exclude,
 6427   8378   
                ..Default::default()
 6428   8379   
            };
 6429   8380   
            let identity = Credentials::for_tests().into();
 6430   8381   
            let signing_params = signing_params(&identity, settings);
 6431   8382   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6432   8383   
            creq.header_values_for("host")
 6433   8384   
        }
 6434   8385   
 6435   8386   
        // HTTP request with 80 port should not be signed with that port
 6436   8387   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 6437   8388   
        assert_eq!(http_80_host_header, "localhost",);
 6438   8389   
 6439   8390   
        // HTTP request with non-80 port should be signed with that port
 6440   8391   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 6441   8392   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 6442   8393   
 6443   8394   
        // HTTPS request with 443 port should not be signed with that port
 6444   8395   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 6445   8396   
        assert_eq!(https_443_host_header, "localhost",);
 6446   8397   
 6447   8398   
        // HTTPS request with non-443 port should be signed with that port
 6448   8399   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 6449   8400   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 6450   8401   
    }
 6451   8402   
 6452   8403   
    #[test]
 6453   8404   
    fn test_set_xamz_sha_256() {
 6454         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        8405  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8406  +
        let req = test.request();
 6455   8407   
        let req = SignableRequest::from(&req);
 6456   8408   
        let settings = SigningSettings {
 6457   8409   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6458   8410   
            session_token_mode: SessionTokenMode::Exclude,
 6459   8411   
            ..Default::default()
 6460   8412   
        };
 6461   8413   
        let identity = Credentials::for_tests().into();
 6462   8414   
        let mut signing_params = signing_params(&identity, settings);
 6463   8415   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6464   8416   
        assert_eq!(
 6465   8417   
            creq.values.content_sha256(),
 6466   8418   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 6467   8419   
        );
 6468   8420   
        // assert that the sha256 header was added
 6469   8421   
        assert_eq!(
 6470   8422   
            creq.values.signed_headers().as_str(),
 6471   8423   
            "host;x-amz-content-sha256;x-amz-date"
 6472   8424   
        );
 6473   8425   
 6474   8426   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 6475   8427   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6476   8428   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 6477   8429   
    }
 6478   8430   
 6479   8431   
    #[test]
 6480   8432   
    fn test_unsigned_payload() {
 6481         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8433  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8434  +
        let mut req = test.request();
 6482   8435   
        req.set_body(SignableBody::UnsignedPayload);
 6483   8436   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 6484   8437   
 6485   8438   
        let settings = SigningSettings {
 6486   8439   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6487   8440   
            ..Default::default()
 6488   8441   
        };
 6489   8442   
        let identity = Credentials::for_tests().into();
 6490   8443   
        let signing_params = signing_params(&identity, settings);
 6491   8444   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6492   8445   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 6493   8446   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 6494   8447   
    }
 6495   8448   
 6496   8449   
    #[test]
 6497   8450   
    fn test_precomputed_payload() {
 6498   8451   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 6499         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8452  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8453  +
        let mut req = test.request();
 6500   8454   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 6501   8455   
        let req = SignableRequest::from(&req);
 6502   8456   
        let settings = SigningSettings {
 6503   8457   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6504   8458   
            ..Default::default()
 6505   8459   
        };
 6506   8460   
        let identity = Credentials::for_tests().into();
 6507   8461   
        let signing_params = signing_params(&identity, settings);
 6508   8462   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6509   8463   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 6510   8464   
        assert!(creq.to_string().ends_with(payload_hash));
 6511   8465   
    }
 6512   8466   
 6513   8467   
    #[test]
 6514   8468   
    fn test_generate_scope() {
 6515   8469   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 6516   8470   
        let scope = SigningScope {
 6517   8471   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6518   8472   
            region: "us-east-1",
 6519   8473   
            service: "iam",
 6520   8474   
        };
 6521   8475   
        assert_eq!(format!("{}\n", scope), expected);
 6522   8476   
    }
 6523   8477   
 6524   8478   
    #[test]
 6525   8479   
    fn test_string_to_sign() {
 6526   8480   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6527         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 6528         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        8481  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8482  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        8483  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 6529   8484   
        let encoded = sha256_hex_string(creq.as_bytes());
 6530   8485   
 6531   8486   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 6532   8487   
        assert_eq!(expected_sts, actual.to_string());
 6533   8488   
    }
 6534   8489   
 6535   8490   
    #[test]
 6536   8491   
    fn test_digest_of_canonical_request() {
 6537         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        8492  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8493  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 6538   8494   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 6539   8495   
        let actual = sha256_hex_string(creq.as_bytes());
 6540   8496   
        assert_eq!(expected, actual);
 6541   8497   
    }
 6542   8498   
 6543   8499   
    #[test]
 6544   8500   
    fn test_double_url_encode_path() {
 6545         -
        let req = test::v4::test_request("double-encode-path");
        8501  +
        let test = SigningSuiteTest::v4("double-encode-path");
        8502  +
        let req = test.request();
 6546   8503   
        let req = SignableRequest::from(&req);
 6547   8504   
        let identity = Credentials::for_tests().into();
 6548   8505   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6549   8506   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6550   8507   
 6551         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        8508  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 6552   8509   
        let actual = format!("{}", creq);
 6553   8510   
        assert_eq!(actual, expected);
 6554   8511   
    }
 6555   8512   
 6556   8513   
    #[test]
 6557   8514   
    fn test_double_url_encode() {
 6558         -
        let req = test::v4::test_request("double-url-encode");
        8515  +
        let test = SigningSuiteTest::v4("double-url-encode");
        8516  +
        let req = test.request();
 6559   8517   
        let req = SignableRequest::from(&req);
 6560   8518   
        let identity = Credentials::for_tests().into();
 6561   8519   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6562   8520   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6563         -
 6564         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        8521  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 6565   8522   
        let actual = format!("{}", creq);
 6566   8523   
        assert_eq!(actual, expected);
 6567   8524   
    }
 6568   8525   
 6569   8526   
    #[test]
 6570   8527   
    fn test_tilde_in_uri() {
 6571   8528   
        let req = http0::Request::builder()
 6572   8529   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 6573   8530   
        let req = SignableRequest::from(&req);
 6574   8531   
        let identity = Credentials::for_tests().into();
 6575   8532   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6576   8533   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6577   8534   
        assert_eq!(
 6578   8535   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 6579   8536   
            creq.params.as_deref(),
 6580   8537   
        );
 6581   8538   
    }
 6582   8539   
 6583   8540   
    #[test]
 6584   8541   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 6585   8542   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 6586   8543   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 6587   8544   
 6588   8545   
        let mut query_writer = QueryWriter::new(&uri);
 6589   8546   
        query_writer.insert("list-type", "2");
 6590   8547   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 6591   8548   
 6592   8549   
        let req = http0::Request::builder()
 6593   8550   
            .uri(query_writer.build_uri())
 6594   8551   
            .body("")
 6595   8552   
            .unwrap()
 6596   8553   
            .into();
 6597   8554   
        let req = SignableRequest::from(&req);
 6598   8555   
        let identity = Credentials::for_tests().into();
 6599   8556   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6600   8557   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6601   8558   
 6602   8559   
        let expected = "list-type=2&prefix=%20%21%22%23%24%25%26%27%28%29%2A%2B%2C-.%2F0123456789%3A%3B%3C%3D%3E%3F%40ABCDEFGHIJKLMNOPQRSTUVWXYZ%5B%5C%5D%5E_%60abcdefghijklmnopqrstuvwxyz%7B%7C%7D~";
 6603   8560   
        let actual = creq.params.unwrap();
 6604   8561   
        assert_eq!(expected, actual);
 6605   8562   
    }
 6606   8563   
 6607   8564   
    #[test]
 6608   8565   
    fn test_omit_session_token() {
 6609         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        8566  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8567  +
        let req = test.request();
 6610   8568   
        let req = SignableRequest::from(&req);
 6611   8569   
        let settings = SigningSettings {
 6612   8570   
            session_token_mode: SessionTokenMode::Include,
 6613   8571   
            ..Default::default()
 6614   8572   
        };
 6615   8573   
        let identity = Credentials::for_tests_with_session_token().into();
 6616   8574   
        let mut signing_params = signing_params(&identity, settings);
 6617   8575   
 6618   8576   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6619   8577   
        assert_eq!(
 6620   8578   
            creq.values.signed_headers().as_str(),
 6621   8579   
            "host;x-amz-date;x-amz-security-token"
 6622   8580   
        );
 6623   8581   
        assert_eq!(
 6624   8582   
            creq.headers.get("x-amz-security-token").unwrap(),
 6625   8583   
            "notarealsessiontoken"
 6626   8584   
        );
 6627   8585   
 6628   8586   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 6629   8587   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6630   8588   
        assert_eq!(
 6631   8589   
            creq.headers.get("x-amz-security-token").unwrap(),
 6632   8590   
            "notarealsessiontoken"
 6633   8591   
        );
 6634   8592   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 6635   8593   
    }
 6636   8594   
 6637   8595   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 6638   8596   
    #[test]
 6639   8597   
    fn non_presigning_header_exclusion() {
 6640   8598   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 6641   8599   
index c4bbbee..30b4743 100644
 6642         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        8600  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 6643   8601   
@@ -478,436 +478,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 6644   8602   
        sensitive,
 6645   8603   
    });
 6646   8604   
}
 6647   8605   
 6648   8606   
// add signature to authorization header
 6649   8607   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 6650   8608   
fn build_authorization_header(
 6651   8609   
    access_key: &str,
 6652   8610   
    creq: &CanonicalRequest<'_>,
 6653   8611   
    sts: StringToSign<'_>,
 6654   8612   
    signature: &str,
 6655   8613   
    signature_version: SignatureVersion,
 6656   8614   
) -> String {
 6657   8615   
    let scope = match signature_version {
 6658   8616   
        SignatureVersion::V4 => sts.scope.to_string(),
 6659   8617   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 6660   8618   
    };
 6661   8619   
    format!(
 6662   8620   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 6663   8621   
        sts.algorithm,
 6664   8622   
        access_key,
 6665   8623   
        scope,
 6666   8624   
        creq.values.signed_headers().as_str(),
 6667   8625   
        signature
 6668   8626   
    )
 6669   8627   
}
 6670   8628   
#[cfg(test)]
 6671   8629   
mod tests {
 6672   8630   
    use crate::date_time::test_parsers::parse_date_time;
 6673   8631   
    use crate::http_request::sign::{add_header, SignableRequest};
        8632  +
    use crate::http_request::test::SigningSuiteTest;
 6674   8633   
    use crate::http_request::{
 6675         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        8634  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 6676   8635   
        SigningSettings,
 6677   8636   
    };
 6678   8637   
    use crate::sign::v4;
 6679   8638   
    use aws_credential_types::Credentials;
 6680   8639   
    use http0::{HeaderValue, Request};
 6681   8640   
    use pretty_assertions::assert_eq;
 6682   8641   
    use proptest::proptest;
 6683   8642   
    use std::borrow::Cow;
 6684   8643   
    use std::iter;
 6685         -
    use std::time::Duration;
 6686   8644   
 6687   8645   
    macro_rules! assert_req_eq {
 6688   8646   
        (http: $expected:expr, $actual:expr) => {
 6689   8647   
            let mut expected = ($expected).map(|_b|"body");
 6690   8648   
            let mut actual = ($actual).map(|_b|"body");
 6691   8649   
            make_headers_comparable(&mut expected);
 6692   8650   
            make_headers_comparable(&mut actual);
 6693   8651   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 6694   8652   
        };
 6695   8653   
        ($expected:tt, $actual:tt) => {
 6696   8654   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 6697   8655   
        };
 6698   8656   
    }
 6699   8657   
 6700   8658   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 6701   8659   
        for (_name, value) in request.headers_mut() {
 6702   8660   
            value.set_sensitive(false);
 6703   8661   
        }
 6704   8662   
    }
 6705   8663   
 6706         -
    #[test]
 6707         -
    fn test_sign_vanilla_with_headers() {
 6708         -
        let settings = SigningSettings::default();
 6709         -
        let identity = &Credentials::for_tests().into();
 6710         -
        let params = v4::SigningParams {
 6711         -
            identity,
 6712         -
            region: "us-east-1",
 6713         -
            name: "service",
 6714         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 6715         -
            settings,
 6716         -
        }
 6717         -
        .into();
 6718         -
 6719         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 6720         -
        let signable = SignableRequest::from(&original);
 6721         -
        let out = sign(signable, &params).unwrap();
 6722         -
        assert_eq!(
 6723         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 6724         -
            out.signature
 6725         -
        );
 6726         -
 6727         -
        let mut signed = original.as_http_request();
 6728         -
        out.output.apply_to_request_http0x(&mut signed);
 6729         -
 6730         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 6731         -
        assert_req_eq!(expected, signed);
 6732         -
    }
 6733         -
        8664  +
    // Sigv4A suite tests
 6734   8665   
    #[cfg(feature = "sigv4a")]
 6735         -
    mod sigv4a_tests {
 6736         -
        use super::*;
 6737         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 6738         -
        use crate::http_request::{sign, test, SigningParams};
 6739         -
        use crate::sign::v4a;
 6740         -
        use p256::ecdsa::signature::{Signature, Verifier};
 6741         -
        use p256::ecdsa::{DerSignature, SigningKey};
 6742         -
        use pretty_assertions::assert_eq;
 6743         -
 6744         -
        fn new_v4a_signing_params_from_context(
 6745         -
            test_context: &'_ test::v4a::TestContext,
 6746         -
            signature_location: SignatureLocation,
 6747         -
        ) -> SigningParams<'_> {
 6748         -
            let mut params = v4a::SigningParams::from(test_context);
 6749         -
            params.settings.signature_location = signature_location;
 6750         -
 6751         -
            params.into()
 6752         -
        }
 6753         -
 6754         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 6755         -
            let tc = test::v4a::test_context(test_name);
 6756         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 6757         -
 6758         -
            let req = test::v4a::test_request(test_name);
 6759         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 6760         -
            let signable_req = SignableRequest::from(&req);
 6761         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
 6762         -
 6763         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 6764         -
 6765         -
            let expected_string_to_sign =
 6766         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 6767         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 6768         -
            let actual_string_to_sign = StringToSign::new_v4a(
 6769         -
                *params.time(),
 6770         -
                params.region_set().unwrap(),
 6771         -
                params.name(),
 6772         -
                hashed_creq,
 6773         -
            )
 6774         -
            .to_string();
 6775         -
 6776         -
            assert_eq!(
 6777         -
                expected_string_to_sign, actual_string_to_sign,
 6778         -
                "'string to sign' didn't match"
 6779         -
            );
        8666  +
    mod v4a_suite {
        8667  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 6780   8668   
 6781         -
            let out = sign(signable_req, &params).unwrap();
 6782         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 6783         -
            out.output
 6784         -
                .apply_to_request_http0x(&mut req.as_http_request());
 6785         -
 6786         -
            let creds = params.credentials().unwrap();
 6787         -
            let signing_key =
 6788         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 6789         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 6790         -
            let sig = sig
 6791         -
                .try_into()
 6792         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 6793         -
 6794         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 6795         -
            let peer_public_key = signing_key.verifying_key();
 6796         -
            let sts = actual_string_to_sign.as_bytes();
 6797         -
            peer_public_key.verify(sts, &sig).unwrap();
        8669  +
        #[test]
        8670  +
        fn test_get_header_key_duplicate() {
        8671  +
            run_test_suite_v4a("get-header-key-duplicate")
 6798   8672   
        }
 6799   8673   
 6800   8674   
        #[test]
 6801         -
        fn test_get_header_key_duplicate() {
 6802         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        8675  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        8676  +
        fn test_get_header_value_multiline() {
        8677  +
            run_test_suite_v4a("get-header-value-multiline")
 6803   8678   
        }
 6804   8679   
 6805   8680   
        #[test]
 6806   8681   
        fn test_get_header_value_order() {
 6807         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        8682  +
            run_test_suite_v4a("get-header-value-order")
 6808   8683   
        }
 6809   8684   
 6810   8685   
        #[test]
 6811   8686   
        fn test_get_header_value_trim() {
 6812         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        8687  +
            run_test_suite_v4a("get-header-value-trim");
 6813   8688   
        }
 6814   8689   
 6815   8690   
        #[test]
 6816   8691   
        fn test_get_relative_normalized() {
 6817         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        8692  +
            run_test_suite_v4a("get-relative-normalized");
 6818   8693   
        }
 6819   8694   
 6820   8695   
        #[test]
 6821   8696   
        fn test_get_relative_relative_normalized() {
 6822         -
            run_v4a_test_suite(
 6823         -
                "get-relative-relative-normalized",
 6824         -
                SignatureLocation::Headers,
 6825         -
            );
        8697  +
            run_test_suite_v4a("get-relative-relative-normalized");
 6826   8698   
        }
 6827   8699   
 6828   8700   
        #[test]
 6829   8701   
        fn test_get_relative_relative_unnormalized() {
 6830         -
            run_v4a_test_suite(
 6831         -
                "get-relative-relative-unnormalized",
 6832         -
                SignatureLocation::Headers,
 6833         -
            );
        8702  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 6834   8703   
        }
 6835   8704   
 6836   8705   
        #[test]
 6837   8706   
        fn test_get_relative_unnormalized() {
 6838         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        8707  +
            run_test_suite_v4a("get-relative-unnormalized");
 6839   8708   
        }
 6840   8709   
 6841   8710   
        #[test]
 6842   8711   
        fn test_get_slash_dot_slash_normalized() {
 6843         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        8712  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 6844   8713   
        }
 6845   8714   
 6846   8715   
        #[test]
 6847   8716   
        fn test_get_slash_dot_slash_unnormalized() {
 6848         -
            run_v4a_test_suite(
 6849         -
                "get-slash-dot-slash-unnormalized",
 6850         -
                SignatureLocation::Headers,
 6851         -
            );
        8717  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 6852   8718   
        }
 6853   8719   
 6854   8720   
        #[test]
 6855   8721   
        fn test_get_slash_normalized() {
 6856         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        8722  +
            run_test_suite_v4a("get-slash-normalized");
 6857   8723   
        }
 6858   8724   
 6859   8725   
        #[test]
 6860   8726   
        fn test_get_slash_pointless_dot_normalized() {
 6861         -
            run_v4a_test_suite(
 6862         -
                "get-slash-pointless-dot-normalized",
 6863         -
                SignatureLocation::Headers,
 6864         -
            );
        8727  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 6865   8728   
        }
 6866   8729   
 6867   8730   
        #[test]
 6868   8731   
        fn test_get_slash_pointless_dot_unnormalized() {
 6869         -
            run_v4a_test_suite(
 6870         -
                "get-slash-pointless-dot-unnormalized",
 6871         -
                SignatureLocation::Headers,
 6872         -
            );
        8732  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 6873   8733   
        }
 6874   8734   
 6875   8735   
        #[test]
 6876   8736   
        fn test_get_slash_unnormalized() {
 6877         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        8737  +
            run_test_suite_v4a("get-slash-unnormalized");
 6878   8738   
        }
 6879   8739   
 6880   8740   
        #[test]
 6881   8741   
        fn test_get_slashes_normalized() {
 6882         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        8742  +
            run_test_suite_v4a("get-slashes-normalized");
 6883   8743   
        }
 6884   8744   
 6885   8745   
        #[test]
 6886   8746   
        fn test_get_slashes_unnormalized() {
 6887         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        8747  +
            run_test_suite_v4a("get-slashes-unnormalized");
        8748  +
        }
        8749  +
        8750  +
        #[test]
        8751  +
        #[ignore = "relies on single encode of path segments"]
        8752  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        8753  +
        // skipped until we add control over double_uri_encode in context.json
        8754  +
        fn test_get_space_normalized() {
        8755  +
            run_test_suite_v4a("get-space-normalized");
        8756  +
        }
        8757  +
        8758  +
        #[test]
        8759  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        8760  +
        // the input request has unencoded space ' ' in the path which fails to parse
        8761  +
        fn test_get_space_unnormalized() {
        8762  +
            run_test_suite_v4a("get-space-unnormalized");
 6888   8763   
        }
 6889   8764   
 6890   8765   
        #[test]
 6891   8766   
        fn test_get_unreserved() {
 6892         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        8767  +
            run_test_suite_v4a("get-unreserved");
        8768  +
        }
        8769  +
        8770  +
        #[test]
        8771  +
        #[ignore = "httparse fails on invalid uri character"]
        8772  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8773  +
        fn test_get_utf8() {
        8774  +
            run_test_suite_v4a("get-utf8");
 6893   8775   
        }
 6894   8776   
 6895   8777   
        #[test]
 6896   8778   
        fn test_get_vanilla() {
 6897         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        8779  +
            run_test_suite_v4a("get-vanilla");
 6898   8780   
        }
 6899   8781   
 6900   8782   
        #[test]
 6901   8783   
        fn test_get_vanilla_empty_query_key() {
 6902         -
            run_v4a_test_suite(
 6903         -
                "get-vanilla-empty-query-key",
 6904         -
                SignatureLocation::QueryParams,
 6905         -
            );
        8784  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 6906   8785   
        }
 6907   8786   
 6908   8787   
        #[test]
 6909   8788   
        fn test_get_vanilla_query() {
 6910         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        8789  +
            run_test_suite_v4a("get-vanilla-query");
        8790  +
        }
        8791  +
        8792  +
        #[test]
        8793  +
        fn test_get_vanilla_query_order_encoded() {
        8794  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 6911   8795   
        }
 6912   8796   
 6913   8797   
        #[test]
 6914   8798   
        fn test_get_vanilla_query_order_key_case() {
 6915         -
            run_v4a_test_suite(
 6916         -
                "get-vanilla-query-order-key-case",
 6917         -
                SignatureLocation::QueryParams,
 6918         -
            );
        8799  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 6919   8800   
        }
 6920   8801   
 6921   8802   
        #[test]
 6922   8803   
        fn test_get_vanilla_query_unreserved() {
 6923         -
            run_v4a_test_suite(
 6924         -
                "get-vanilla-query-unreserved",
 6925         -
                SignatureLocation::QueryParams,
 6926         -
            );
        8804  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        8805  +
        }
        8806  +
        8807  +
        #[test]
        8808  +
        #[ignore = "httparse fails on invalid uri character"]
        8809  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8810  +
        fn test_get_vanilla_utf8_query() {
        8811  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 6927   8812   
        }
 6928   8813   
 6929   8814   
        #[test]
 6930   8815   
        fn test_get_vanilla_with_session_token() {
 6931         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        8816  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 6932   8817   
        }
 6933   8818   
 6934   8819   
        #[test]
 6935   8820   
        fn test_post_header_key_case() {
 6936         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        8821  +
            run_test_suite_v4a("post-header-key-case");
 6937   8822   
        }
 6938   8823   
 6939   8824   
        #[test]
 6940   8825   
        fn test_post_header_key_sort() {
 6941         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        8826  +
            run_test_suite_v4a("post-header-key-sort");
 6942   8827   
        }
 6943   8828   
 6944   8829   
        #[test]
 6945   8830   
        fn test_post_header_value_case() {
 6946         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        8831  +
            run_test_suite_v4a("post-header-value-case");
 6947   8832   
        }
 6948   8833   
 6949   8834   
        #[test]
 6950   8835   
        fn test_post_sts_header_after() {
 6951         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        8836  +
            run_test_suite_v4a("post-sts-header-after");
 6952   8837   
        }
 6953   8838   
 6954   8839   
        #[test]
 6955   8840   
        fn test_post_sts_header_before() {
 6956         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        8841  +
            run_test_suite_v4a("post-sts-header-before");
 6957   8842   
        }
 6958   8843   
 6959   8844   
        #[test]
 6960   8845   
        fn test_post_vanilla() {
 6961         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        8846  +
            run_test_suite_v4a("post-vanilla");
 6962   8847   
        }
 6963   8848   
 6964   8849   
        #[test]
 6965   8850   
        fn test_post_vanilla_empty_query_value() {
 6966         -
            run_v4a_test_suite(
 6967         -
                "post-vanilla-empty-query-value",
 6968         -
                SignatureLocation::QueryParams,
 6969         -
            );
        8851  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 6970   8852   
        }
 6971   8853   
 6972   8854   
        #[test]
 6973   8855   
        fn test_post_vanilla_query() {
 6974         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        8856  +
            run_test_suite_v4a("post-vanilla-query");
 6975   8857   
        }
 6976   8858   
 6977   8859   
        #[test]
 6978   8860   
        fn test_post_x_www_form_urlencoded() {
 6979         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        8861  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 6980   8862   
        }
 6981   8863   
 6982   8864   
        #[test]
 6983   8865   
        fn test_post_x_www_form_urlencoded_parameters() {
 6984         -
            run_v4a_test_suite(
 6985         -
                "post-x-www-form-urlencoded-parameters",
 6986         -
                SignatureLocation::QueryParams,
 6987         -
            );
        8866  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 6988   8867   
        }
 6989   8868   
    }
 6990   8869   
 6991   8870   
    #[test]
 6992   8871   
    fn test_sign_url_escape() {
 6993         -
        let test = "double-encode-path";
        8872  +
        let test = SigningSuiteTest::v4("double-encode-path");
 6994   8873   
        let settings = SigningSettings::default();
 6995   8874   
        let identity = &Credentials::for_tests().into();
 6996   8875   
        let params = v4::SigningParams {
 6997   8876   
            identity,
 6998   8877   
            region: "us-east-1",
 6999   8878   
            name: "service",
 7000   8879   
            time: parse_date_time("20150830T123600Z").unwrap(),
 7001   8880   
            settings,
 7002   8881   
        }
 7003   8882   
        .into();
 7004   8883   
 7005         -
        let original = test::v4::test_request(test);
        8884  +
        let original = test.request();
 7006   8885   
        let signable = SignableRequest::from(&original);
 7007   8886   
        let out = sign(signable, &params).unwrap();
 7008   8887   
        assert_eq!(
 7009   8888   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 7010   8889   
            out.signature
 7011   8890   
        );
 7012   8891   
 7013   8892   
        let mut signed = original.as_http_request();
 7014   8893   
        out.output.apply_to_request_http0x(&mut signed);
 7015   8894   
 7016         -
        let expected = test::v4::test_signed_request(test);
 7017         -
        assert_req_eq!(expected, signed);
 7018         -
    }
 7019         -
 7020         -
    #[test]
 7021         -
    fn test_sign_vanilla_with_query_params() {
 7022         -
        let settings = SigningSettings {
 7023         -
            signature_location: SignatureLocation::QueryParams,
 7024         -
            expires_in: Some(Duration::from_secs(35)),
 7025         -
            ..Default::default()
 7026         -
        };
 7027         -
        let identity = &Credentials::for_tests().into();
 7028         -
        let params = v4::SigningParams {
 7029         -
            identity,
 7030         -
            region: "us-east-1",
 7031         -
            name: "service",
 7032         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 7033         -
            settings,
 7034         -
        }
 7035         -
        .into();
 7036         -
 7037         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 7038         -
        let signable = SignableRequest::from(&original);
 7039         -
        let out = sign(signable, &params).unwrap();
 7040         -
        assert_eq!(
 7041         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 7042         -
            out.signature
 7043         -
        );
 7044         -
 7045         -
        let mut signed = original.as_http_request();
 7046         -
        out.output.apply_to_request_http0x(&mut signed);
 7047         -
 7048         -
        let expected =
 7049         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        8895  +
        let expected = test.signed_request(SignatureLocation::Headers);
 7050   8896   
        assert_req_eq!(expected, signed);
 7051   8897   
    }
 7052   8898   
 7053   8899   
    #[test]
 7054   8900   
    fn test_sign_headers_utf8() {
 7055   8901   
        let settings = SigningSettings::default();
 7056   8902   
        let identity = &Credentials::for_tests().into();
 7057   8903   
        let params = v4::SigningParams {
 7058   8904   
            identity,
 7059   8905   
            region: "us-east-1",
 7060   8906   
            name: "service",
 7061   8907   
            time: parse_date_time("20150830T123600Z").unwrap(),
 7062   8908   
            settings,
 7063   8909   
        }
 7064   8910   
        .into();
 7065   8911   
 7066   8912   
        let original = http0::Request::builder()
 7067   8913   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 7068   8914   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 7069   8915   
            .body("")
 7070   8916   
            .unwrap()
 7071   8917   
            .into();
 7072   8918   
        let signable = SignableRequest::from(&original);
 7073   8919   
        let out = sign(signable, &params).unwrap();
 7074   8920   
        assert_eq!(
 7075   8921   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 7076   8922   
            out.signature
 7077   8923   
        );
 7078   8924   
 7079   8925   
        let mut signed = original.as_http_request();
 7080   8926   
@@ -1138,31 +1026,236 @@ mod tests {
 7081   8927   
        let mut request = http::Request::builder()
 7082   8928   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 7083   8929   
            .body("")
 7084   8930   
            .unwrap();
 7085   8931   
 7086   8932   
        instructions.apply_to_request_http1x(&mut request);
 7087   8933   
 7088   8934   
        assert_eq!(
 7089   8935   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 7090   8936   
            request.uri().path_and_query().unwrap().to_string()
 7091   8937   
        );
 7092   8938   
    }
 7093   8939   
 7094   8940   
    #[test]
 7095   8941   
    fn test_debug_signable_body() {
 7096   8942   
        let sut = SignableBody::Bytes(b"hello signable body");
 7097   8943   
        assert_eq!(
 7098   8944   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 7099   8945   
            format!("{sut:?}")
 7100   8946   
        );
 7101   8947   
 7102   8948   
        let sut = SignableBody::UnsignedPayload;
 7103   8949   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 7104   8950   
 7105   8951   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 7106   8952   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 7107   8953   
 7108   8954   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 7109   8955   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 7110   8956   
    }
        8957  +
        8958  +
    // v4 test suite
        8959  +
    mod v4_suite {
        8960  +
        use crate::http_request::test::run_test_suite_v4;
        8961  +
        8962  +
        #[test]
        8963  +
        fn test_get_header_key_duplicate() {
        8964  +
            run_test_suite_v4("get-header-key-duplicate");
        8965  +
        }
        8966  +
        8967  +
        #[test]
        8968  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        8969  +
        fn test_get_header_value_multiline() {
        8970  +
            run_test_suite_v4("get-header-value-multiline");
        8971  +
        }
        8972  +
        8973  +
        #[test]
        8974  +
        fn test_get_header_value_order() {
        8975  +
            run_test_suite_v4("get-header-value-order");
        8976  +
        }
        8977  +
        8978  +
        #[test]
        8979  +
        fn test_get_header_value_trim() {
        8980  +
            run_test_suite_v4("get-header-value-trim");
        8981  +
        }
        8982  +
        8983  +
        #[test]
        8984  +
        fn test_get_relative_normalized() {
        8985  +
            run_test_suite_v4("get-relative-normalized");
        8986  +
        }
        8987  +
        8988  +
        #[test]
        8989  +
        fn test_get_relative_relative_normalized() {
        8990  +
            run_test_suite_v4("get-relative-relative-normalized");
        8991  +
        }
        8992  +
        8993  +
        #[test]
        8994  +
        fn test_get_relative_relative_unnormalized() {
        8995  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        8996  +
        }
        8997  +
        8998  +
        #[test]
        8999  +
        fn test_get_relative_unnormalized() {
        9000  +
            run_test_suite_v4("get-relative-unnormalized");
        9001  +
        }
        9002  +
        9003  +
        #[test]
        9004  +
        fn test_get_slash_dot_slash_normalized() {
        9005  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        9006  +
        }
        9007  +
        9008  +
        #[test]
        9009  +
        fn test_get_slash_dot_slash_unnormalized() {
        9010  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        9011  +
        }
        9012  +
        9013  +
        #[test]
        9014  +
        fn test_get_slash_normalized() {
        9015  +
            run_test_suite_v4("get-slash-normalized");
        9016  +
        }
        9017  +
        9018  +
        #[test]
        9019  +
        fn test_get_slash_pointless_dot_normalized() {
        9020  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        9021  +
        }
        9022  +
        9023  +
        #[test]
        9024  +
        fn test_get_slash_pointless_dot_unnormalized() {
        9025  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        9026  +
        }
        9027  +
        9028  +
        #[test]
        9029  +
        fn test_get_slash_unnormalized() {
        9030  +
            run_test_suite_v4("get-slash-unnormalized");
        9031  +
        }
        9032  +
        9033  +
        #[test]
        9034  +
        fn test_get_slashes_normalized() {
        9035  +
            run_test_suite_v4("get-slashes-normalized");
        9036  +
        }
        9037  +
        9038  +
        #[test]
        9039  +
        fn test_get_slashes_unnormalized() {
        9040  +
            run_test_suite_v4("get-slashes-unnormalized");
        9041  +
        }
        9042  +
        9043  +
        #[test]
        9044  +
        #[ignore = "relies on single encode of path segments"]
        9045  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        9046  +
        // skipped until we add control over double_uri_encode in context.json
        9047  +
        fn test_get_space_normalized() {
        9048  +
            run_test_suite_v4("get-space-normalized");
        9049  +
        }
        9050  +
        9051  +
        #[test]
        9052  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        9053  +
        // the input request has unencoded space ' ' in the path which fails to parse
        9054  +
        fn test_get_space_unnormalized() {
        9055  +
            run_test_suite_v4("get-space-unnormalized");
        9056  +
        }
        9057  +
        9058  +
        #[test]
        9059  +
        fn test_get_unreserved() {
        9060  +
            run_test_suite_v4("get-unreserved");
        9061  +
        }
        9062  +
        9063  +
        #[test]
        9064  +
        #[ignore = "httparse fails on invalid uri character"]
        9065  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        9066  +
        fn test_get_utf8() {
        9067  +
            run_test_suite_v4("get-utf8");
        9068  +
        }
        9069  +
        9070  +
        #[test]
        9071  +
        fn test_get_vanilla() {
        9072  +
            run_test_suite_v4("get-vanilla");
        9073  +
        }
        9074  +
        9075  +
        #[test]
        9076  +
        fn test_get_vanilla_empty_query_key() {
        9077  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        9078  +
        }
        9079  +
        9080  +
        #[test]
        9081  +
        fn test_get_vanilla_query() {
        9082  +
            run_test_suite_v4("get-vanilla-query");
        9083  +
        }
        9084  +
        9085  +
        #[test]
        9086  +
        fn test_get_vanilla_query_order_encoded() {
        9087  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        9088  +
        }
        9089  +
        9090  +
        #[test]
        9091  +
        fn test_get_vanilla_query_order_key_case() {
        9092  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        9093  +
        }
        9094  +
        9095  +
        #[test]
        9096  +
        fn test_get_vanilla_query_unreserved() {
        9097  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        9098  +
        }
        9099  +
        9100  +
        #[test]
        9101  +
        #[ignore = "httparse fails on invalid uri character"]
        9102  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        9103  +
        fn test_get_vanilla_utf8_query() {
        9104  +
            run_test_suite_v4("get-vanilla-utf8-query");
        9105  +
        }
        9106  +
        9107  +
        #[test]
        9108  +
        fn test_get_vanilla_with_session_token() {
        9109  +
            run_test_suite_v4("get-vanilla-with-session-token");
        9110  +
        }
        9111  +
        9112  +
        #[test]
        9113  +
        fn test_post_header_key_case() {
        9114  +
            run_test_suite_v4("post-header-key-case");
        9115  +
        }
        9116  +
        9117  +
        #[test]
        9118  +
        fn test_post_header_key_sort() {
        9119  +
            run_test_suite_v4("post-header-key-sort");
        9120  +
        }
        9121  +
        9122  +
        #[test]
        9123  +
        fn test_post_header_value_case() {
        9124  +
            run_test_suite_v4("post-header-value-case");
        9125  +
        }
        9126  +
        9127  +
        #[test]
        9128  +
        fn test_post_sts_header_after() {
        9129  +
            run_test_suite_v4("post-sts-header-after");
        9130  +
        }
        9131  +
        9132  +
        #[test]
        9133  +
        fn test_post_sts_header_before() {
        9134  +
            run_test_suite_v4("post-sts-header-before");
        9135  +
        }
        9136  +
        9137  +
        #[test]
        9138  +
        fn test_post_vanilla() {
        9139  +
            run_test_suite_v4("post-vanilla");
        9140  +
        }
        9141  +
        9142  +
        #[test]
        9143  +
        fn test_post_vanilla_empty_query_value() {
        9144  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        9145  +
        }
        9146  +
        9147  +
        #[test]
        9148  +
        fn test_post_vanilla_query() {
        9149  +
            run_test_suite_v4("post-vanilla-query");
        9150  +
        }
        9151  +
        9152  +
        #[test]
        9153  +
        fn test_post_x_www_form_urlencoded() {
        9154  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        9155  +
        }
        9156  +
        9157  +
        #[test]
        9158  +
        fn test_post_x_www_form_urlencoded_parameters() {
        9159  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        9160  +
        }
        9161  +
    }
 7111   9162   
}
 7112   9163   
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
 7113   9164   
index be6c496..86eec20 100644
 7114         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        9165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 7115   9166   
@@ -1,242 +1,453 @@
 7116   9167   
/*
 7117   9168   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 7118   9169   
 * SPDX-License-Identifier: Apache-2.0
 7119   9170   
 */
 7120   9171   
 7121   9172   
//! Functions shared between the tests of several modules.
 7122   9173   
 7123         -
use crate::http_request::{SignableBody, SignableRequest};
        9174  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        9175  +
use crate::http_request::{
        9176  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        9177  +
    SigningSettings,
        9178  +
};
        9179  +
use aws_credential_types::Credentials;
        9180  +
use aws_smithy_runtime_api::client::identity::Identity;
 7124   9181   
use http0::{Method, Uri};
        9182  +
use std::borrow::Cow;
 7125   9183   
use std::error::Error as StdError;
        9184  +
use std::time::{Duration, SystemTime};
        9185  +
use time::format_description::well_known::Rfc3339;
        9186  +
use time::OffsetDateTime;
        9187  +
        9188  +
/// Common test suite collection
        9189  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        9190  +
enum Collection {
        9191  +
    V4,
        9192  +
    V4A,
        9193  +
}
 7126   9194   
 7127         -
pub(crate) mod v4 {
 7128         -
    use super::*;
        9195  +
/// A test from the common CRT test suite
        9196  +
#[derive(Debug, Clone)]
        9197  +
pub(crate) struct SigningSuiteTest {
        9198  +
    test_name: &'static str,
        9199  +
    collection: Collection,
        9200  +
}
 7129   9201   
 7130         -
    fn path(name: &str, ext: &str) -> String {
 7131         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        9202  +
impl SigningSuiteTest {
        9203  +
    /// Create a new test from the V4 test suite
        9204  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        9205  +
        Self {
        9206  +
            test_name,
        9207  +
            collection: Collection::V4,
        9208  +
        }
 7132   9209   
    }
 7133   9210   
 7134         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 7135         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 7136         -
        read(&path(name, "creq")).trim().to_string()
        9211  +
    /// Create a new test from the V4a test suite
        9212  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        9213  +
        Self {
        9214  +
            test_name,
        9215  +
            collection: Collection::V4A,
        9216  +
        }
 7137   9217   
    }
 7138   9218   
 7139         -
    pub(crate) fn test_sts(name: &str) -> String {
 7140         -
        read(&path(name, "sts"))
        9219  +
    /// Get the path to a file in this test suite directory
        9220  +
    fn path(&self, filename: &str) -> String {
        9221  +
        let dir = match self.collection {
        9222  +
            Collection::V4 => "v4",
        9223  +
            Collection::V4A => "v4a",
        9224  +
        };
        9225  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 7141   9226   
    }
 7142   9227   
 7143         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 7144         -
        test_parsed_request(name, "req")
        9228  +
    /// Get the HTTP request for the test
        9229  +
    pub(crate) fn request(&self) -> TestRequest {
        9230  +
        test_parsed_request(&self.path("request.txt"))
 7145   9231   
    }
 7146   9232   
 7147         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 7148         -
        test_parsed_request(name, "sreq")
        9233  +
    /// Get the signed HTTP request for the test
        9234  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        9235  +
        match signature_location {
        9236  +
            SignatureLocation::QueryParams => {
        9237  +
                test_parsed_request(&self.path("query-signed-request.txt"))
        9238  +
            }
        9239  +
            SignatureLocation::Headers => {
        9240  +
                test_parsed_request(&self.path("header-signed-request.txt"))
        9241  +
            }
        9242  +
        }
 7149   9243   
    }
 7150   9244   
 7151         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 7152         -
        test_parsed_request(name, "qpsreq")
        9245  +
    /// Get the canonical request for the test
        9246  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        9247  +
        match signature_location {
        9248  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        9249  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
        9250  +
        }
 7153   9251   
    }
 7154   9252   
 7155         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 7156         -
        let path = path(name, ext);
 7157         -
        match parse_request(read(&path).as_bytes()) {
 7158         -
            Ok(parsed) => parsed,
 7159         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        9253  +
    /// Get the string to sign for the test
        9254  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
        9255  +
        match signature_location {
        9256  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        9257  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 7160   9258   
        }
 7161   9259   
    }
 7162   9260   
 7163         -
    #[test]
 7164         -
    fn test_parse() {
 7165         -
        test_request("post-header-key-case");
        9261  +
    /// Get the signature for the test
        9262  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
        9263  +
        match signature_location {
        9264  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        9265  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        9266  +
        }
 7166   9267   
    }
 7167   9268   
 7168         -
    #[test]
 7169         -
    fn test_read_query_params() {
 7170         -
        test_request("get-vanilla-query-order-key-case");
        9269  +
    /// Get the test context for the test
        9270  +
    pub(crate) fn context(&self) -> TestContext {
        9271  +
        let context = read(&self.path("context.json"));
        9272  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        9273  +
        tc_builder.build()
 7171   9274   
    }
 7172   9275   
}
 7173   9276   
 7174         -
#[cfg(feature = "sigv4a")]
 7175         -
pub(crate) mod v4a {
 7176         -
    use super::*;
 7177         -
    use crate::http_request::{
 7178         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 7179         -
    };
 7180         -
    use aws_credential_types::Credentials;
 7181         -
    use aws_smithy_runtime_api::client::identity::Identity;
 7182         -
    use serde_derive::Deserialize;
 7183         -
    use std::time::{Duration, SystemTime};
 7184         -
    use time::format_description::well_known::Rfc3339;
 7185         -
    use time::OffsetDateTime;
 7186         -
 7187         -
    fn path(test_name: &str, definition_name: &str) -> String {
 7188         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        9277  +
fn test_parsed_request(path: &str) -> TestRequest {
        9278  +
    match parse_request(read(path).as_bytes()) {
        9279  +
        Ok(parsed) => parsed,
        9280  +
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 7189   9281   
    }
        9282  +
}
 7190   9283   
 7191         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 7192         -
        test_parsed_request(&path(name, "request"))
 7193         -
    }
        9284  +
fn new_v4_signing_params_from_context(
        9285  +
    test_context: &'_ TestContext,
        9286  +
    signature_location: SignatureLocation,
        9287  +
) -> crate::http_request::SigningParams<'_> {
        9288  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        9289  +
    params.settings.signature_location = signature_location;
        9290  +
    params.into()
        9291  +
}
 7194   9292   
 7195         -
    pub(crate) fn test_canonical_request(
 7196         -
        name: &str,
 7197         -
        signature_location: SignatureLocation,
 7198         -
    ) -> String {
 7199         -
        match signature_location {
 7200         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 7201         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        9293  +
/// Run the given test from the v4 suite for both header and query
        9294  +
/// signature locations
        9295  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        9296  +
    run_v4_test(test_name, SignatureLocation::Headers);
        9297  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        9298  +
}
        9299  +
        9300  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        9301  +
    assert_eq!(expected.scheme(), actual.scheme());
        9302  +
    assert_eq!(expected.authority(), actual.authority());
        9303  +
    assert_eq!(expected.path(), actual.path());
        9304  +
        9305  +
    // query params may be out of order
        9306  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        9307  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        9308  +
    expected_params.sort();
        9309  +
        9310  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        9311  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        9312  +
    actual_params.sort();
        9313  +
        9314  +
    assert_eq!(expected_params, actual_params);
        9315  +
}
        9316  +
        9317  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        9318  +
    let expected = expected.as_http_request();
        9319  +
    let actual = actual;
        9320  +
    assert_eq!(expected.method(), actual.method());
        9321  +
    assert_eq!(
        9322  +
        expected.headers().len(),
        9323  +
        actual.headers().len(),
        9324  +
        "extra or missing headers"
        9325  +
    );
        9326  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        9327  +
    assert_uri_eq(expected.uri(), actual.uri());
        9328  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        9329  +
}
        9330  +
        9331  +
/// Run the given test from the v4 suite for the given signature location
        9332  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        9333  +
    let test = SigningSuiteTest::v4(test_name);
        9334  +
    let tc = test.context();
        9335  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        9336  +
        9337  +
    let req = test.request();
        9338  +
    let expected_creq = test.canonical_request(signature_location);
        9339  +
    let signable_req = SignableRequest::from(&req);
        9340  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        9341  +
        9342  +
    // check canonical request
        9343  +
    assert_eq!(
        9344  +
        expected_creq,
        9345  +
        actual_creq.to_string(),
        9346  +
        "canonical request didn't match (signature location: {signature_location:?})"
        9347  +
    );
        9348  +
        9349  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        9350  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        9351  +
    let actual_string_to_sign = StringToSign::new_v4(
        9352  +
        *params.time(),
        9353  +
        params.region().unwrap(),
        9354  +
        params.name(),
        9355  +
        hashed_creq,
        9356  +
    )
        9357  +
    .to_string();
        9358  +
        9359  +
    // check string to sign
        9360  +
    assert_eq!(
        9361  +
        expected_string_to_sign, actual_string_to_sign,
        9362  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        9363  +
    );
        9364  +
        9365  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        9366  +
    let mut signed = req.as_http_request();
        9367  +
    out.output.apply_to_request_http0x(&mut signed);
        9368  +
        9369  +
    // check signature
        9370  +
    assert_eq!(
        9371  +
        test.signature(signature_location),
        9372  +
        out.signature,
        9373  +
        "signature didn't match (signature location: {signature_location:?})"
        9374  +
    );
        9375  +
        9376  +
    let expected = test.signed_request(signature_location);
        9377  +
    assert_requests_eq(expected, signed);
        9378  +
}
        9379  +
        9380  +
/// Test suite context.json
        9381  +
pub(crate) struct TestContext {
        9382  +
    pub(crate) identity: Identity,
        9383  +
    pub(crate) expiration_in_seconds: u64,
        9384  +
    pub(crate) normalize: bool,
        9385  +
    pub(crate) region: String,
        9386  +
    pub(crate) service: String,
        9387  +
    pub(crate) timestamp: String,
        9388  +
    pub(crate) omit_session_token: bool,
        9389  +
    pub(crate) sign_body: bool,
        9390  +
}
        9391  +
        9392  +
// Serde has limitations requiring this odd workaround.
        9393  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        9394  +
fn return_true() -> bool {
        9395  +
    true
        9396  +
}
        9397  +
        9398  +
#[derive(serde_derive::Deserialize)]
        9399  +
pub(crate) struct TestContextBuilder {
        9400  +
    credentials: TestContextCreds,
        9401  +
    expiration_in_seconds: u64,
        9402  +
    normalize: bool,
        9403  +
    region: String,
        9404  +
    service: String,
        9405  +
    timestamp: String,
        9406  +
    #[serde(default)]
        9407  +
    omit_session_token: bool,
        9408  +
    #[serde(default = "return_true")]
        9409  +
    sign_body: bool,
        9410  +
}
        9411  +
        9412  +
impl TestContextBuilder {
        9413  +
    pub(crate) fn build(self) -> TestContext {
        9414  +
        let identity = Identity::new(
        9415  +
            Credentials::from_keys(
        9416  +
                &self.credentials.access_key_id,
        9417  +
                &self.credentials.secret_access_key,
        9418  +
                self.credentials.token.clone(),
        9419  +
            ),
        9420  +
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
        9421  +
        );
        9422  +
        9423  +
        TestContext {
        9424  +
            identity,
        9425  +
            expiration_in_seconds: self.expiration_in_seconds,
        9426  +
            normalize: self.normalize,
        9427  +
            region: self.region,
        9428  +
            service: self.service,
        9429  +
            timestamp: self.timestamp,
        9430  +
            omit_session_token: self.omit_session_token,
        9431  +
            sign_body: self.sign_body,
 7202   9432   
        }
 7203   9433   
    }
        9434  +
}
 7204   9435   
 7205         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
 7206         -
        match signature_location {
 7207         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 7208         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        9436  +
#[derive(serde_derive::Deserialize)]
        9437  +
pub(crate) struct TestContextCreds {
        9438  +
    access_key_id: String,
        9439  +
    secret_access_key: String,
        9440  +
    token: Option<String>,
        9441  +
}
        9442  +
        9443  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        9444  +
    fn from(tc: &'a TestContext) -> Self {
        9445  +
        crate::sign::v4::SigningParams {
        9446  +
            identity: &tc.identity,
        9447  +
            region: &tc.region,
        9448  +
            name: &tc.service,
        9449  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        9450  +
                .unwrap()
        9451  +
                .into(),
        9452  +
            settings: SigningSettings {
        9453  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        9454  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        9455  +
                uri_path_normalization_mode: tc.normalize.into(),
        9456  +
                session_token_mode: if tc.omit_session_token {
        9457  +
                    SessionTokenMode::Exclude
        9458  +
                } else {
        9459  +
                    SessionTokenMode::Include
        9460  +
                },
        9461  +
                payload_checksum_kind: if tc.sign_body {
        9462  +
                    PayloadChecksumKind::XAmzSha256
        9463  +
                } else {
        9464  +
                    PayloadChecksumKind::NoHeader
        9465  +
                },
        9466  +
                ..Default::default()
        9467  +
            },
 7209   9468   
        }
 7210   9469   
    }
        9470  +
}
 7211   9471   
 7212         -
    fn test_parsed_request(path: &str) -> TestRequest {
 7213         -
        match parse_request(read(path).as_bytes()) {
 7214         -
            Ok(parsed) => parsed,
 7215         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
 7216         -
        }
        9472  +
#[cfg(feature = "sigv4a")]
        9473  +
pub(crate) mod v4a {
        9474  +
    use super::*;
        9475  +
    use crate::http_request::{
        9476  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        9477  +
    };
        9478  +
    use crate::sign::v4a;
        9479  +
    use p256::ecdsa::signature::{Signature, Verifier};
        9480  +
    use p256::ecdsa::{DerSignature, SigningKey};
        9481  +
    use std::time::Duration;
        9482  +
    use time::format_description::well_known::Rfc3339;
        9483  +
    use time::OffsetDateTime;
        9484  +
        9485  +
    fn new_v4a_signing_params_from_context(
        9486  +
        test_context: &'_ TestContext,
        9487  +
        signature_location: SignatureLocation,
        9488  +
    ) -> crate::http_request::SigningParams<'_> {
        9489  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        9490  +
        params.settings.signature_location = signature_location;
        9491  +
        params.into()
 7217   9492   
    }
 7218   9493   
 7219         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 7220         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 7221         -
        let context = read(&path);
 7222         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 7223         -
        tc_builder.build()
        9494  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        9495  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        9496  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
 7224   9497   
    }
 7225   9498   
 7226         -
    pub(crate) struct TestContext {
 7227         -
        pub(crate) identity: Identity,
 7228         -
        pub(crate) expiration_in_seconds: u64,
 7229         -
        pub(crate) normalize: bool,
 7230         -
        pub(crate) region: String,
 7231         -
        pub(crate) service: String,
 7232         -
        pub(crate) timestamp: String,
 7233         -
        pub(crate) omit_session_token: bool,
 7234         -
        pub(crate) sign_body: bool,
        9499  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        9500  +
        let test = SigningSuiteTest::v4a(test_name);
        9501  +
        let tc = test.context();
        9502  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        9503  +
        9504  +
        let req = test.request();
        9505  +
        let expected_creq = test.canonical_request(signature_location);
        9506  +
        let signable_req = SignableRequest::from(&req);
        9507  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        9508  +
        9509  +
        assert_eq!(
        9510  +
            expected_creq,
        9511  +
            actual_creq.to_string(),
        9512  +
            "canonical request didn't match (signature location: {signature_location:?})"
        9513  +
        );
        9514  +
        9515  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        9516  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        9517  +
        let actual_string_to_sign = StringToSign::new_v4a(
        9518  +
            *params.time(),
        9519  +
            params.region_set().unwrap(),
        9520  +
            params.name(),
        9521  +
            hashed_creq,
        9522  +
        )
        9523  +
        .to_string();
        9524  +
        9525  +
        assert_eq!(
        9526  +
            expected_string_to_sign, actual_string_to_sign,
        9527  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        9528  +
        );
        9529  +
        9530  +
        let out = sign(signable_req, &params).unwrap();
        9531  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        9532  +
        out.output
        9533  +
            .apply_to_request_http0x(&mut req.as_http_request());
        9534  +
        9535  +
        let creds = params.credentials().unwrap();
        9536  +
        let signing_key =
        9537  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        9538  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        9539  +
        let sig = sig
        9540  +
            .try_into()
        9541  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        9542  +
        9543  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        9544  +
        let peer_public_key = signing_key.verifying_key();
        9545  +
        let sts = actual_string_to_sign.as_bytes();
        9546  +
        peer_public_key.verify(sts, &sig).unwrap();
        9547  +
        // TODO(sigv4a) - use public.key.json as verifying key?
 7235   9548   
    }
 7236   9549   
 7237   9550   
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 7238   9551   
        fn from(tc: &'a TestContext) -> Self {
 7239   9552   
            crate::sign::v4a::SigningParams {
 7240   9553   
                identity: &tc.identity,
 7241   9554   
                region_set: &tc.region,
 7242   9555   
                name: &tc.service,
 7243   9556   
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 7244   9557   
                    .unwrap()
 7245   9558   
                    .into(),
 7246   9559   
                settings: SigningSettings {
 7247   9560   
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 7248   9561   
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 7249   9562   
                    uri_path_normalization_mode: tc.normalize.into(),
 7250   9563   
                    session_token_mode: if tc.omit_session_token {
 7251   9564   
                        SessionTokenMode::Exclude
 7252   9565   
                    } else {
 7253   9566   
                        SessionTokenMode::Include
 7254   9567   
                    },
 7255   9568   
                    payload_checksum_kind: if tc.sign_body {
 7256   9569   
                        PayloadChecksumKind::XAmzSha256
 7257   9570   
                    } else {
 7258   9571   
                        PayloadChecksumKind::NoHeader
 7259   9572   
                    },
 7260   9573   
                    ..Default::default()
 7261   9574   
                },
 7262   9575   
            }
 7263   9576   
        }
 7264   9577   
    }
 7265   9578   
 7266         -
    // Serde has limitations requiring this odd workaround.
 7267         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 7268         -
    fn return_true() -> bool {
 7269         -
        true
 7270         -
    }
 7271         -
 7272         -
    #[derive(Deserialize)]
 7273         -
    pub(crate) struct TestContextBuilder {
 7274         -
        credentials: TestContextCreds,
 7275         -
        expiration_in_seconds: u64,
 7276         -
        normalize: bool,
 7277         -
        region: String,
 7278         -
        service: String,
 7279         -
        timestamp: String,
 7280         -
        #[serde(default)]
 7281         -
        omit_session_token: bool,
 7282         -
        #[serde(default = "return_true")]
 7283         -
        sign_body: bool,
 7284         -
    }
 7285         -
 7286         -
    impl TestContextBuilder {
 7287         -
        pub(crate) fn build(self) -> TestContext {
 7288         -
            let identity = Identity::new(
 7289         -
                Credentials::from_keys(
 7290         -
                    &self.credentials.access_key_id,
 7291         -
                    &self.credentials.secret_access_key,
 7292         -
                    self.credentials.token.clone(),
 7293         -
                ),
 7294         -
                Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 7295         -
            );
 7296         -
 7297         -
            TestContext {
 7298         -
                identity,
 7299         -
                expiration_in_seconds: self.expiration_in_seconds,
 7300         -
                normalize: self.normalize,
 7301         -
                region: self.region,
 7302         -
                service: self.service,
 7303         -
                timestamp: self.timestamp,
 7304         -
                omit_session_token: self.omit_session_token,
 7305         -
                sign_body: self.sign_body,
 7306         -
            }
 7307         -
        }
 7308         -
    }
 7309         -
 7310         -
    #[derive(Deserialize)]
 7311         -
    pub(crate) struct TestContextCreds {
 7312         -
        access_key_id: String,
 7313         -
        secret_access_key: String,
 7314         -
        token: Option<String>,
 7315         -
    }
 7316         -
 7317   9579   
    #[test]
 7318   9580   
    fn test_parse() {
 7319         -
        let req = test_request("post-header-key-case");
        9581  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 7320   9582   
        assert_eq!(req.method, "POST");
 7321   9583   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 7322   9584   
        assert!(req.headers.is_empty());
 7323   9585   
    }
 7324   9586   
 7325   9587   
    #[test]
 7326   9588   
    fn test_read_query_params() {
 7327         -
        let req = test_request("get-header-value-trim");
        9589  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 7328   9590   
        assert_eq!(req.method, "GET");
 7329   9591   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 7330   9592   
        assert!(!req.headers.is_empty());
 7331   9593   
    }
 7332   9594   
}
 7333   9595   
 7334   9596   
fn read(path: &str) -> String {
 7335   9597   
    println!("Loading `{}` for test case...", path);
 7336   9598   
    let v = {
 7337   9599   
        match std::fs::read_to_string(path) {
 7338   9600   
            // This replacement is necessary for tests to pass on Windows, as reading the
 7339   9601   
            // test snapshots from the file system results in CRLF line endings being inserted.
 7340   9602   
            Ok(value) => value.replace("\r\n", "\n"),
 7341   9603   
            Err(err) => {
 7342   9604   
                panic!("failed to load test case `{}`: {}", path, err);
 7343   9605   
            }
 7344   9606   
        }
 7345   9607   
    };
 7346   9608   
 7347   9609   
    v.trim().to_string()
 7348   9610   
}
 7349   9611   
 7350   9612   
pub(crate) struct TestRequest {
 7351   9613   
    pub(crate) uri: String,
 7352   9614   
    pub(crate) method: String,
 7353   9615   
    pub(crate) headers: Vec<(String, String)>,
 7354   9616   
    pub(crate) body: TestSignedBody,
 7355   9617   
}
 7356   9618   
 7357   9619   
pub(crate) enum TestSignedBody {
 7358   9620   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 7359   9621   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 7360   9622   
                    )
 7361   9623   
                })
 7362   9624   
                .collect::<Vec<_>>(),
 7363   9625   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 7364   9626   
        }
 7365   9627   
    }
 7366   9628   
}
 7367   9629   
 7368   9630   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 7369   9631   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 7370   9632   
        SignableRequest::new(
 7371   9633   
            &request.method,
 7372   9634   
            &request.uri,
 7373   9635   
            request
 7374   9636   
                .headers
 7375   9637   
                .iter()
 7376   9638   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 7377   9639   
            request.body.as_signable_body(),
 7378   9640   
        )
 7379   9641   
        .expect("URI MUST be valid")
 7380   9642   
    }
 7381   9643   
}
 7382   9644   
 7383   9645   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 7384   9646   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 7385   9647   
    // httparse 1.5 requires two trailing newlines to head the header section.
 7386   9648   
    let mut with_newline = Vec::from(s);
 7387   9649   
    with_newline.push(b'\n');
 7388   9650   
    let mut req = httparse::Request::new(&mut headers);
 7389         -
    let _ = req.parse(&with_newline).unwrap();
        9651  +
    let status = req.parse(&with_newline).unwrap();
        9652  +
        9653  +
    let body = if status.is_complete() {
        9654  +
        let body_offset = status.unwrap();
        9655  +
        // ignore the newline we added, take from original
        9656  +
        &s[body_offset..]
        9657  +
    } else {
        9658  +
        &[]
        9659  +
    };
 7390   9660   
 7391   9661   
    let mut uri_builder = Uri::builder().scheme("https");
 7392   9662   
    if let Some(path) = req.path {
 7393   9663   
        uri_builder = uri_builder.path_and_query(path);
 7394   9664   
    }
 7395   9665   
 7396   9666   
    let mut headers = vec![];
 7397   9667   
    for header in req.headers {
 7398   9668   
        let name = header.name.to_lowercase();
 7399   9669   
        if name == "host" {
 7400   9670   
            uri_builder = uri_builder.authority(header.value);
 7401   9671   
        } else if !name.is_empty() {
 7402   9672   
            headers.push((
 7403   9673   
                header.name.to_string(),
 7404   9674   
                std::str::from_utf8(header.value)?.to_string(),
 7405   9675   
            ));
 7406   9676   
        }
 7407   9677   
    }
 7408   9678   
 7409   9679   
    Ok(TestRequest {
 7410   9680   
        uri: uri_builder.build()?.to_string(),
 7411   9681   
        method: req.method.unwrap().to_string(),
 7412   9682   
        headers,
 7413         -
        body: TestSignedBody::Bytes(vec![]),
        9683  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 7414   9684   
    })
 7415   9685   
}
 7416   9686   
 7417   9687   
#[test]
 7418   9688   
fn test_parse_headers() {
 7419   9689   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 7420   9690   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 7421   9691   
    assert_eq!(
 7422   9692   
        httparse::parse_headers(buf, &mut headers),
 7423   9693   
        Ok(httparse::Status::Complete((
 7424   9694   
            56,
 7425   9695   
            &[
 7426   9696   
                httparse::Header {
 7427   9697   
                    name: "Host",
 7428   9698   
                    value: b"example.amazonaws.com",
 7429   9699   
                },
 7430   9700   
                httparse::Header {
 7431   9701   
                    name: "X-Amz-Date",
 7432   9702   
                    value: b"20150830T123600Z",
 7433   9703   
                }
 7434   9704   
            ][..]
 7435   9705   
        )))
 7436   9706   
    );
 7437   9707   
}
 7438   9708   
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
 7439   9709   
index a208453..fc00249 100644
 7440         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        9710  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 7441   9711   
@@ -168,52 +168,54 @@ pub mod signing_params {
 7442   9712   
        );
 7443   9713   
 7444   9714   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 7445   9715   
        /// a required argument was not given.
 7446   9716   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 7447   9717   
            Ok(SigningParams {
 7448   9718   
                identity: self
 7449   9719   
                    .identity
 7450   9720   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 7451   9721   
                region: self
 7452   9722   
                    .region
 7453   9723   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 7454   9724   
                name: self
 7455   9725   
                    .name
 7456   9726   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 7457   9727   
                time: self
 7458   9728   
                    .time
 7459   9729   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 7460   9730   
                settings: self
 7461   9731   
                    .settings
 7462   9732   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 7463   9733   
            })
 7464   9734   
        }
 7465   9735   
    }
 7466   9736   
}
 7467   9737   
 7468   9738   
#[cfg(test)]
 7469   9739   
mod tests {
 7470   9740   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 7471   9741   
    use crate::date_time::test_parsers::parse_date_time;
 7472         -
    use crate::http_request::test;
 7473   9742   
 7474   9743   
    #[test]
 7475   9744   
    fn test_signature_calculation() {
 7476   9745   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 7477         -
        let creq = test::v4::test_canonical_request("iam");
        9746  +
        let creq = r#"AWS4-HMAC-SHA256
        9747  +
20150830T123600Z
        9748  +
20150830/us-east-1/iam/aws4_request
        9749  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 7478   9750   
        let time = parse_date_time("20150830T123600Z").unwrap();
 7479   9751   
 7480   9752   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 7481   9753   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 7482   9754   
 7483   9755   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 7484   9756   
        assert_eq!(expected, &signature);
 7485   9757   
    }
 7486   9758   
 7487   9759   
    #[test]
 7488   9760   
    fn sign_payload_empty_string() {
 7489   9761   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 7490   9762   
        let actual = sha256_hex_string([]);
 7491   9763   
        assert_eq!(expected, actual);
 7492   9764   
    }
 7493   9765   
}
 7494   9766   
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
 7495   9767   
index ce78c38..8c2f591 100644
 7496         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        9768  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 7497   9769   
@@ -1,43 +1,43 @@
 7498   9770   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7499   9771   
[package]
 7500   9772   
name = "aws-smithy-checksums"
 7501   9773   
version = "0.63.5"
 7502   9774   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 7503   9775   
description = "Checksum calculation and verification callbacks"
 7504   9776   
edition = "2021"
 7505   9777   
license = "Apache-2.0"
 7506   9778   
repository = "https://github.com/smithy-lang/smithy-rs"
 7507   9779   
[package.metadata.docs.rs]
 7508   9780   
all-features = true
 7509   9781   
targets = ["x86_64-unknown-linux-gnu"]
 7510   9782   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7511   9783   
rustdoc-args = ["--cfg", "docsrs"]
 7512   9784   
 7513   9785   
[dependencies]
 7514   9786   
bytes = "1.10.0"
 7515   9787   
crc-fast = "1.3.0"
 7516   9788   
hex = "0.4.3"
 7517   9789   
http = "0.2.9"
 7518   9790   
http-body = "0.4.5"
 7519   9791   
md-5 = "0.10"
 7520   9792   
pin-project-lite = "0.2.14"
 7521   9793   
sha1 = "0.10"
 7522   9794   
sha2 = "0.10"
 7523   9795   
tracing = "0.1.40"
 7524   9796   
 7525   9797   
[dependencies.aws-smithy-http]
 7526   9798   
path = "../aws-smithy-http"
 7527         -
version = "0.62.2"
        9799  +
version = "0.62.3"
 7528   9800   
 7529   9801   
[dependencies.aws-smithy-types]
 7530   9802   
path = "../aws-smithy-types"
 7531   9803   
version = "1.3.2"
 7532   9804   
 7533   9805   
[dev-dependencies]
 7534   9806   
bytes-utils = "0.1.2"
 7535   9807   
pretty_assertions = "1.3"
 7536   9808   
tracing-test = "0.2.1"
 7537   9809   
 7538   9810   
[dev-dependencies.tokio]
 7539   9811   
version = "1.23.1"
 7540   9812   
features = ["macros", "rt"]
 7541   9813   
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
 7542   9814   
index 970c99e..d3c7a49 100644
 7543         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        9815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 7544   9816   
@@ -1,34 +1,34 @@
 7545   9817   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7546   9818   
[package]
 7547   9819   
name = "aws-smithy-http"
 7548         -
version = "0.62.2"
        9820  +
version = "0.62.3"
 7549   9821   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7550   9822   
description = "Smithy HTTP logic for smithy-rs."
 7551   9823   
edition = "2021"
 7552   9824   
license = "Apache-2.0"
 7553   9825   
repository = "https://github.com/smithy-lang/smithy-rs"
 7554   9826   
[package.metadata.docs.rs]
 7555   9827   
all-features = true
 7556   9828   
targets = ["x86_64-unknown-linux-gnu"]
 7557   9829   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7558   9830   
rustdoc-args = ["--cfg", "docsrs"]
 7559   9831   
 7560   9832   
[features]
 7561   9833   
event-stream = ["aws-smithy-eventstream"]
 7562   9834   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 7563   9835   
 7564   9836   
[dependencies]
 7565   9837   
bytes = "1.10.0"
 7566   9838   
bytes-utils = "0.1"
 7567   9839   
percent-encoding = "2.3.1"
 7568   9840   
pin-project-lite = "0.2.14"
 7569   9841   
pin-utils = "0.1.0"
 7570   9842   
tracing = "0.1.40"
 7571   9843   
futures-core = "0.3.31"
 7572   9844   
 7573   9845   
[dependencies.aws-smithy-eventstream]
 7574   9846   
path = "../aws-smithy-eventstream"
 7575   9847   
optional = true
 7576   9848   
version = "0.60.10"
 7577   9849   
 7578   9850   
[dependencies.aws-smithy-runtime-api]
 7579   9851   
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
 7580   9852   
index 508f7a2..361545e 100644
 7581         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        9853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 7582   9854   
@@ -1,27 +1,27 @@
 7583   9855   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7584   9856   
[[bin]]
 7585   9857   
name = "read_many_from_str"
 7586   9858   
path = "fuzz_targets/read_many_from_str.rs"
 7587   9859   
test = false
 7588   9860   
doc = false
 7589   9861   
 7590   9862   
[package]
 7591   9863   
name = "aws-smithy-http-fuzz"
 7592   9864   
version = "0.0.0"
 7593   9865   
authors = ["Automatically generated"]
 7594   9866   
publish = false
 7595   9867   
edition = "2021"
 7596   9868   
 7597   9869   
[package.metadata]
 7598   9870   
cargo-fuzz = true
 7599   9871   
 7600   9872   
[dependencies]
 7601   9873   
libfuzzer-sys = "=0.4.7"
 7602   9874   
http = "0.2.3"
 7603   9875   
 7604   9876   
[dependencies.aws-smithy-http]
 7605   9877   
path = ".."
 7606         -
version = "0.62.2"
        9878  +
version = "0.62.3"
 7607   9879   
 7608   9880   
[workspace]
 7609   9881   
members = ["."]
 7610   9882   
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
 7611   9883   
index fef41d0..2792229 100644
 7612         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        9884  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 7613   9885   
@@ -25,68 +25,74 @@ impl QueryWriter {
 7614   9886   
    pub fn new(uri: &Uri) -> Self {
 7615   9887   
        let new_path_and_query = uri
 7616   9888   
            .path_and_query()
 7617   9889   
            .map(|pq| pq.to_string())
 7618   9890   
            .unwrap_or_default();
 7619   9891   
        let prefix = if uri.query().is_none() {
 7620   9892   
            Some('?')
 7621   9893   
        } else if !uri.query().unwrap_or_default().is_empty() {
 7622   9894   
            Some('&')
 7623   9895   
        } else {
 7624   9896   
            None
 7625   9897   
        };
 7626   9898   
        QueryWriter {
 7627   9899   
            base_uri: uri.clone(),
 7628   9900   
            new_path_and_query,
 7629   9901   
            prefix,
 7630   9902   
        }
 7631   9903   
    }
 7632   9904   
 7633   9905   
    /// Clears all query parameters.
 7634   9906   
    pub fn clear_params(&mut self) {
 7635   9907   
        if let Some(index) = self.new_path_and_query.find('?') {
 7636   9908   
            self.new_path_and_query.truncate(index);
 7637   9909   
            self.prefix = Some('?');
 7638   9910   
        }
 7639   9911   
    }
 7640   9912   
 7641   9913   
    /// Inserts a new query parameter. The key and value are percent encoded
 7642   9914   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 7643   9915   
    pub fn insert(&mut self, k: &str, v: &str) {
        9916  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        9917  +
    }
        9918  +
    
        9919  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        9920  +
    /// as is.
        9921  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 7644   9922   
        if let Some(prefix) = self.prefix {
 7645   9923   
            self.new_path_and_query.push(prefix);
 7646   9924   
        }
 7647   9925   
        self.prefix = Some('&');
 7648         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        9926  +
        self.new_path_and_query.push_str(encoded_k);
 7649   9927   
        self.new_path_and_query.push('=');
 7650         -
 7651         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
        9928  +
        self.new_path_and_query.push_str(encoded_v)
        9929  +
        
 7652   9930   
    }
 7653   9931   
 7654   9932   
    /// Returns just the built query string.
 7655   9933   
    pub fn build_query(self) -> String {
 7656   9934   
        self.build_uri().query().unwrap_or_default().to_string()
 7657   9935   
    }
 7658   9936   
 7659   9937   
    /// Returns a full [`Uri`] with the query string updated.
 7660   9938   
    pub fn build_uri(self) -> Uri {
 7661   9939   
        let mut parts = self.base_uri.into_parts();
 7662   9940   
        parts.path_and_query = Some(
 7663   9941   
            self.new_path_and_query
 7664   9942   
                .parse()
 7665   9943   
                .expect("adding query should not invalidate URI"),
 7666   9944   
        );
 7667   9945   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 7668   9946   
    }
 7669   9947   
}
 7670   9948   
 7671   9949   
#[cfg(test)]
 7672   9950   
mod test {
 7673   9951   
    use super::QueryWriter;
 7674   9952   
    use http_02x::Uri;
 7675   9953   
 7676   9954   
    #[test]
 7677   9955   
    fn empty_uri() {
 7678   9956   
        let uri = Uri::from_static("http://www.example.com");
 7679   9957   
        let mut query_writer = QueryWriter::new(&uri);
 7680   9958   
        query_writer.insert("key", "val%ue");
 7681   9959   
        query_writer.insert("another", "value");
 7682   9960   
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
 7683   9961   
index f108978..df7a9fe 100644
 7684         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        9962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 7685   9963   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 7686   9964   
 7687   9965   
[package.metadata.smithy-rs-release-tooling]
 7688   9966   
stable = true
 7689   9967   
[package.metadata.cargo-udeps.ignore]
 7690   9968   
normal = ["aws-smithy-http"]
 7691   9969   
 7692   9970   
[features]
 7693   9971   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 7694   9972   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 7695   9973   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 7696   9974   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 7697   9975   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 7698   9976   
rt-tokio = ["tokio/rt"]
 7699   9977   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 7700   9978   
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"]
 7701   9979   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 7702   9980   
 7703   9981   
[dependencies]
 7704   9982   
bytes = "1.10.0"
 7705   9983   
fastrand = "2.3.0"
 7706   9984   
pin-project-lite = "0.2.14"
 7707   9985   
pin-utils = "0.1.0"
 7708   9986   
tracing = "0.1.40"
 7709   9987   
 7710   9988   
[dependencies.aws-smithy-async]
 7711   9989   
path = "../aws-smithy-async"
 7712   9990   
version = "1.2.5"
 7713   9991   
 7714   9992   
[dependencies.aws-smithy-http]
 7715   9993   
path = "../aws-smithy-http"
 7716         -
version = "0.62.2"
        9994  +
version = "0.62.3"
 7717   9995   
 7718   9996   
[dependencies.aws-smithy-observability]
 7719   9997   
path = "../aws-smithy-observability"
 7720   9998   
version = "0.1.3"
 7721   9999   
 7722  10000   
[dependencies.aws-smithy-runtime-api]
 7723  10001   
path = "../aws-smithy-runtime-api"
 7724  10002   
version = "1.8.5"
 7725  10003   
 7726  10004   
[dependencies.aws-smithy-types]
 7727  10005   
path = "../aws-smithy-types"
 7728  10006   
features = ["http-body-0-4-x"]
 7729  10007   
version = "1.3.2"
 7730  10008   
 7731  10009   
[dependencies.aws-smithy-http-client]
 7732  10010   
path = "../aws-smithy-http-client"
 7733  10011   
optional = true
 7734  10012   
version = "1.0.6"
 7735  10013   
 7736  10014   
[dependencies.http-02x]
 7737  10015   
package = "http"
 7738  10016   
version = "0.2.9"
 7739  10017   
 7740  10018   
[dependencies.http-1x]
 7741  10019   
package = "http"
 7742  10020   
version = "1"
 7743  10021   
 7744  10022   
[dependencies.http-body-04x]
 7745  10023   
package = "http-body"
 7746  10024   
version = "0.4.5"
 7747  10025   
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
 7748  10026   
index 4e050c6..f58eb1c 100644
 7749         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
       10027  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 7750  10028   
@@ -1,33 +1,33 @@
 7751  10029   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7752  10030   
[package]
 7753  10031   
name = "aws-smithy-wasm"
 7754  10032   
version = "0.1.4"
 7755  10033   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 7756  10034   
description = "Smithy WebAssembly configuration for smithy-rs."
 7757  10035   
edition = "2021"
 7758  10036   
license = "Apache-2.0"
 7759  10037   
repository = "https://github.com/awslabs/smithy-rs"
 7760  10038   
[package.metadata.docs.rs]
 7761  10039   
all-features = true
 7762  10040   
targets = ["x86_64-unknown-linux-gnu"]
 7763  10041   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7764  10042   
rustdoc-args = ["--cfg", "docsrs"]
 7765  10043   
 7766  10044   
[dependencies]
 7767  10045   
bytes = "1.10.0"
 7768  10046   
http = "1.0.0"
 7769  10047   
tracing = "0.1.40"
 7770  10048   
wasi = "0.12.1"
 7771  10049   
 7772  10050   
[dependencies.aws-smithy-runtime-api]
 7773  10051   
path = "../aws-smithy-runtime-api"
 7774  10052   
features = ["http-1x"]
 7775  10053   
version = "1.8.5"
 7776  10054   
 7777  10055   
[dependencies.aws-smithy-http]
 7778  10056   
path = "../aws-smithy-http"
 7779         -
version = "0.62.2"
       10057  +
version = "0.62.3"
 7780  10058   
 7781  10059   
[dependencies.aws-smithy-types]
 7782  10060   
path = "../aws-smithy-types"
 7783  10061   
version = "1.3.2"
 7784  10062   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 7785  10063   
index a880648..139e808 100644
 7786         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
       10064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 7787  10065   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 7788  10066   
edition = "2021"
 7789  10067   
license = "Apache-2.0"
 7790  10068   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7791  10069   
rust-version = "1.86.0"
 7792  10070   
readme = "README.md"
 7793  10071   
[package.metadata.smithy]
 7794  10072   
codegen-version = "ci"
 7795  10073   
[package.metadata.docs.rs]
 7796  10074   
all-features = true
 7797  10075   
targets = ["x86_64-unknown-linux-gnu"]
 7798  10076   
[dependencies.aws-credential-types]
 7799  10077   
path = "../aws-credential-types"
 7800  10078   
version = "1.2.4"
 7801  10079   
 7802  10080   
[dependencies.aws-runtime]
 7803  10081   
path = "../aws-runtime"
 7804  10082   
features = ["event-stream"]
 7805  10083   
version = "1.5.9"
 7806  10084   
 7807  10085   
[dependencies.aws-smithy-async]
 7808  10086   
path = "../aws-smithy-async"
 7809  10087   
version = "1.2.5"
 7810  10088   
 7811  10089   
[dependencies.aws-smithy-eventstream]
 7812  10090   
path = "../aws-smithy-eventstream"
 7813  10091   
version = "0.60.10"
 7814  10092   
 7815  10093   
[dependencies.aws-smithy-http]
 7816  10094   
path = "../aws-smithy-http"
 7817  10095   
features = ["event-stream"]
 7818         -
version = "0.62.2"
       10096  +
version = "0.62.3"
 7819  10097   
 7820  10098   
[dependencies.aws-smithy-json]
 7821  10099   
path = "../aws-smithy-json"
 7822  10100   
version = "0.61.4"
 7823  10101   
 7824  10102   
[dependencies.aws-smithy-runtime]
 7825  10103   
path = "../aws-smithy-runtime"
 7826  10104   
features = ["client"]
 7827  10105   
version = "1.8.5"
 7828  10106   
 7829  10107   
[dependencies.aws-smithy-runtime-api]
 7830  10108   
path = "../aws-smithy-runtime-api"
 7831  10109   
features = ["client", "http-02x"]
 7832  10110   
version = "1.8.5"
 7833  10111   
 7834  10112   
[dependencies.aws-smithy-types]
 7835  10113   
path = "../aws-smithy-types"
 7836  10114   
version = "1.3.2"
 7837  10115   
 7838  10116   
[dependencies.aws-types]
 7839  10117   
path = "../aws-types"
 7840  10118   
version = "1.3.8"
 7841  10119   
 7842  10120   
[dependencies.bytes]
 7843  10121   
version = "1.4.0"
 7844  10122   
 7845  10123   
[dependencies.fastrand]
 7846  10124   
version = "2.0.0"
 7847  10125   
 7848  10126   
[dependencies.http]
 7849  10127   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 7850  10128   
index 415ecc9..667d12b 100644
 7851         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
       10129  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 7852  10130   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 7853  10131   
edition = "2021"
 7854  10132   
license = "Apache-2.0"
 7855  10133   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7856  10134   
rust-version = "1.86.0"
 7857  10135   
readme = "README.md"
 7858  10136   
[package.metadata.smithy]
 7859  10137   
codegen-version = "ci"
 7860  10138   
[package.metadata.docs.rs]
 7861  10139   
all-features = true
 7862  10140   
targets = ["x86_64-unknown-linux-gnu"]
 7863  10141   
[dependencies.aws-credential-types]
 7864  10142   
path = "../aws-credential-types"
 7865  10143   
version = "1.2.4"
 7866  10144   
 7867  10145   
[dependencies.aws-runtime]
 7868  10146   
path = "../aws-runtime"
 7869  10147   
features = ["event-stream"]
 7870  10148   
version = "1.5.9"
 7871  10149   
 7872  10150   
[dependencies.aws-smithy-async]
 7873  10151   
path = "../aws-smithy-async"
 7874  10152   
version = "1.2.5"
 7875  10153   
 7876  10154   
[dependencies.aws-smithy-eventstream]
 7877  10155   
path = "../aws-smithy-eventstream"
 7878  10156   
version = "0.60.10"
 7879  10157   
 7880  10158   
[dependencies.aws-smithy-http]
 7881  10159   
path = "../aws-smithy-http"
 7882  10160   
features = ["event-stream"]
 7883         -
version = "0.62.2"
       10161  +
version = "0.62.3"
 7884  10162   
 7885  10163   
[dependencies.aws-smithy-json]
 7886  10164   
path = "../aws-smithy-json"
 7887  10165   
version = "0.61.4"
 7888  10166   
 7889  10167   
[dependencies.aws-smithy-runtime]
 7890  10168   
path = "../aws-smithy-runtime"
 7891  10169   
features = ["client"]
 7892  10170   
version = "1.8.5"
 7893  10171   
 7894  10172   
[dependencies.aws-smithy-runtime-api]
 7895  10173   
path = "../aws-smithy-runtime-api"
 7896  10174   
features = ["client", "http-02x"]
 7897  10175   
version = "1.8.5"
 7898  10176   
 7899  10177   
[dependencies.aws-smithy-types]
 7900  10178   
path = "../aws-smithy-types"
 7901  10179   
version = "1.3.2"
 7902  10180   
 7903  10181   
[dependencies.aws-types]
 7904  10182   
path = "../aws-types"
 7905  10183   
version = "1.3.8"
 7906  10184   
 7907  10185   
[dependencies.bytes]
 7908  10186   
version = "1.4.0"
 7909  10187   
 7910  10188   
[dependencies.fastrand]
 7911  10189   
version = "2.0.0"
 7912  10190   
 7913  10191   
[dependencies.http]
 7914  10192   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 7915  10193   
index 8871cab..ed88de6 100644
 7916         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
       10194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 7917  10195   
@@ -1,61 +1,61 @@
 7918  10196   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7919  10197   
[package]
 7920  10198   
name = "aws-sdk-codecatalyst"
 7921  10199   
version = "0.0.0-local"
 7922  10200   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7923  10201   
description = "AWS SDK for Amazon CodeCatalyst"
 7924  10202   
edition = "2021"
 7925  10203   
license = "Apache-2.0"
 7926  10204   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7927  10205   
rust-version = "1.86.0"
 7928  10206   
readme = "README.md"
 7929  10207   
[package.metadata.smithy]
 7930  10208   
codegen-version = "ci"
 7931  10209   
[package.metadata.docs.rs]
 7932  10210   
all-features = true
 7933  10211   
targets = ["x86_64-unknown-linux-gnu"]
 7934  10212   
[dependencies.aws-credential-types]
 7935  10213   
path = "../aws-credential-types"
 7936  10214   
version = "1.2.4"
 7937  10215   
 7938  10216   
[dependencies.aws-runtime]
 7939  10217   
path = "../aws-runtime"
 7940  10218   
version = "1.5.9"
 7941  10219   
 7942  10220   
[dependencies.aws-smithy-async]
 7943  10221   
path = "../aws-smithy-async"
 7944  10222   
version = "1.2.5"
 7945  10223   
 7946  10224   
[dependencies.aws-smithy-http]
 7947  10225   
path = "../aws-smithy-http"
 7948         -
version = "0.62.2"
       10226  +
version = "0.62.3"
 7949  10227   
 7950  10228   
[dependencies.aws-smithy-json]
 7951  10229   
path = "../aws-smithy-json"
 7952  10230   
version = "0.61.4"
 7953  10231   
 7954  10232   
[dependencies.aws-smithy-runtime]
 7955  10233   
path = "../aws-smithy-runtime"
 7956  10234   
features = ["client", "http-auth"]
 7957  10235   
version = "1.8.5"
 7958  10236   
 7959  10237   
[dependencies.aws-smithy-runtime-api]
 7960  10238   
path = "../aws-smithy-runtime-api"
 7961  10239   
features = ["client", "http-02x", "http-auth"]
 7962  10240   
version = "1.8.5"
 7963  10241   
 7964  10242   
[dependencies.aws-smithy-types]
 7965  10243   
path = "../aws-smithy-types"
 7966  10244   
version = "1.3.2"
 7967  10245   
 7968  10246   
[dependencies.aws-types]
 7969  10247   
path = "../aws-types"
 7970  10248   
version = "1.3.8"
 7971  10249   
 7972  10250   
[dependencies.bytes]
 7973  10251   
version = "1.4.0"
 7974  10252   
 7975  10253   
[dependencies.fastrand]
 7976  10254   
version = "2.0.0"
 7977  10255   
 7978  10256   
[dependencies.http]
 7979  10257   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 7980  10258   
index 89573ff..05238af 100644
 7981         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
       10259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 7982  10260   
@@ -1,61 +1,61 @@
 7983  10261   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7984  10262   
[package]
 7985  10263   
name = "aws-sdk-config"
 7986  10264   
version = "0.0.0-local"
 7987  10265   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7988  10266   
description = "AWS SDK for AWS Config"
 7989  10267   
edition = "2021"
 7990  10268   
license = "Apache-2.0"
 7991  10269   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7992  10270   
rust-version = "1.86.0"
 7993  10271   
readme = "README.md"
 7994  10272   
[package.metadata.smithy]
 7995  10273   
codegen-version = "ci"
 7996  10274   
[package.metadata.docs.rs]
 7997  10275   
all-features = true
 7998  10276   
targets = ["x86_64-unknown-linux-gnu"]
 7999  10277   
[dependencies.aws-credential-types]
 8000  10278   
path = "../aws-credential-types"
 8001  10279   
version = "1.2.4"
 8002  10280   
 8003  10281   
[dependencies.aws-runtime]
 8004  10282   
path = "../aws-runtime"
 8005  10283   
version = "1.5.9"
 8006  10284   
 8007  10285   
[dependencies.aws-smithy-async]
 8008  10286   
path = "../aws-smithy-async"
 8009  10287   
version = "1.2.5"
 8010  10288   
 8011  10289   
[dependencies.aws-smithy-http]
 8012  10290   
path = "../aws-smithy-http"
 8013         -
version = "0.62.2"
       10291  +
version = "0.62.3"
 8014  10292   
 8015  10293   
[dependencies.aws-smithy-json]
 8016  10294   
path = "../aws-smithy-json"
 8017  10295   
version = "0.61.4"
 8018  10296   
 8019  10297   
[dependencies.aws-smithy-runtime]
 8020  10298   
path = "../aws-smithy-runtime"
 8021  10299   
features = ["client"]
 8022  10300   
version = "1.8.5"
 8023  10301   
 8024  10302   
[dependencies.aws-smithy-runtime-api]
 8025  10303   
path = "../aws-smithy-runtime-api"
 8026  10304   
features = ["client", "http-02x"]
 8027  10305   
version = "1.8.5"
 8028  10306   
 8029  10307   
[dependencies.aws-smithy-types]
 8030  10308   
path = "../aws-smithy-types"
 8031  10309   
version = "1.3.2"
 8032  10310   
 8033  10311   
[dependencies.aws-types]
 8034  10312   
path = "../aws-types"
 8035  10313   
version = "1.3.8"
 8036  10314   
 8037  10315   
[dependencies.bytes]
 8038  10316   
version = "1.4.0"
 8039  10317   
 8040  10318   
[dependencies.fastrand]
 8041  10319   
version = "2.0.0"
 8042  10320   
 8043  10321   
[dependencies.http]
 8044  10322   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 8045  10323   
index d397c58..2c1062b 100644
 8046         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
       10324  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 8047  10325   
@@ -1,61 +1,61 @@
 8048  10326   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8049  10327   
[package]
 8050  10328   
name = "aws-sdk-dynamodb"
 8051  10329   
version = "0.0.0-local"
 8052  10330   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8053  10331   
description = "AWS SDK for Amazon DynamoDB"
 8054  10332   
edition = "2021"
 8055  10333   
license = "Apache-2.0"
 8056  10334   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8057  10335   
rust-version = "1.86.0"
 8058  10336   
readme = "README.md"
 8059  10337   
[package.metadata.smithy]
 8060  10338   
codegen-version = "ci"
 8061  10339   
[package.metadata.docs.rs]
 8062  10340   
all-features = true
 8063  10341   
targets = ["x86_64-unknown-linux-gnu"]
 8064  10342   
[dependencies.aws-credential-types]
 8065  10343   
path = "../aws-credential-types"
 8066  10344   
version = "1.2.4"
 8067  10345   
 8068  10346   
[dependencies.aws-runtime]
 8069  10347   
path = "../aws-runtime"
 8070  10348   
version = "1.5.9"
 8071  10349   
 8072  10350   
[dependencies.aws-smithy-async]
 8073  10351   
path = "../aws-smithy-async"
 8074  10352   
version = "1.2.5"
 8075  10353   
 8076  10354   
[dependencies.aws-smithy-http]
 8077  10355   
path = "../aws-smithy-http"
 8078         -
version = "0.62.2"
       10356  +
version = "0.62.3"
 8079  10357   
 8080  10358   
[dependencies.aws-smithy-json]
 8081  10359   
path = "../aws-smithy-json"
 8082  10360   
version = "0.61.4"
 8083  10361   
 8084  10362   
[dependencies.aws-smithy-runtime]
 8085  10363   
path = "../aws-smithy-runtime"
 8086  10364   
features = ["client"]
 8087  10365   
version = "1.8.5"
 8088  10366   
 8089  10367   
[dependencies.aws-smithy-runtime-api]
 8090  10368   
path = "../aws-smithy-runtime-api"
 8091  10369   
features = ["client", "http-02x"]
 8092  10370   
version = "1.8.5"
 8093  10371   
 8094  10372   
[dependencies.aws-smithy-types]
 8095  10373   
path = "../aws-smithy-types"
 8096  10374   
version = "1.3.2"
 8097  10375   
 8098  10376   
[dependencies.aws-types]
 8099  10377   
path = "../aws-types"
 8100  10378   
version = "1.3.8"
 8101  10379   
 8102  10380   
[dependencies.bytes]
 8103  10381   
version = "1.4.0"
 8104  10382   
 8105  10383   
[dependencies.fastrand]
 8106  10384   
version = "2.0.0"
 8107  10385   
 8108  10386   
[dependencies.http]
 8109  10387   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 8110  10388   
index c0ba315..46168af 100644
 8111         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
       10389  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 8112  10390   
@@ -1,61 +1,61 @@
 8113  10391   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8114  10392   
[package]
 8115  10393   
name = "aws-sdk-ec2"
 8116  10394   
version = "0.0.0-local"
 8117  10395   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8118  10396   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 8119  10397   
edition = "2021"
 8120  10398   
license = "Apache-2.0"
 8121  10399   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8122  10400   
rust-version = "1.86.0"
 8123  10401   
readme = "README.md"
 8124  10402   
[package.metadata.smithy]
 8125  10403   
codegen-version = "ci"
 8126  10404   
[package.metadata.docs.rs]
 8127  10405   
all-features = true
 8128  10406   
targets = ["x86_64-unknown-linux-gnu"]
 8129  10407   
[dependencies.aws-credential-types]
 8130  10408   
path = "../aws-credential-types"
 8131  10409   
version = "1.2.4"
 8132  10410   
 8133  10411   
[dependencies.aws-runtime]
 8134  10412   
path = "../aws-runtime"
 8135  10413   
version = "1.5.9"
 8136  10414   
 8137  10415   
[dependencies.aws-smithy-async]
 8138  10416   
path = "../aws-smithy-async"
 8139  10417   
version = "1.2.5"
 8140  10418   
 8141  10419   
[dependencies.aws-smithy-http]
 8142  10420   
path = "../aws-smithy-http"
 8143         -
version = "0.62.2"
       10421  +
version = "0.62.3"
 8144  10422   
 8145  10423   
[dependencies.aws-smithy-json]
 8146  10424   
path = "../aws-smithy-json"
 8147  10425   
version = "0.61.4"
 8148  10426   
 8149  10427   
[dependencies.aws-smithy-query]
 8150  10428   
path = "../aws-smithy-query"
 8151  10429   
version = "0.60.7"
 8152  10430   
 8153  10431   
[dependencies.aws-smithy-runtime]
 8154  10432   
path = "../aws-smithy-runtime"
 8155  10433   
features = ["client"]
 8156  10434   
version = "1.8.5"
 8157  10435   
 8158  10436   
[dependencies.aws-smithy-runtime-api]
 8159  10437   
path = "../aws-smithy-runtime-api"
 8160  10438   
features = ["client", "http-02x"]
 8161  10439   
version = "1.8.5"
 8162  10440   
 8163  10441   
[dependencies.aws-smithy-types]
 8164  10442   
path = "../aws-smithy-types"
 8165  10443   
version = "1.3.2"
 8166  10444   
 8167  10445   
[dependencies.aws-smithy-xml]
 8168  10446   
path = "../aws-smithy-xml"
 8169  10447   
version = "0.60.10"
 8170  10448   
 8171  10449   
[dependencies.aws-types]
 8172  10450   
path = "../aws-types"
 8173  10451   
version = "1.3.8"
 8174  10452   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 8175  10453   
index 4474d17..095d40e 100644
 8176         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
       10454  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 8177  10455   
@@ -1,61 +1,61 @@
 8178  10456   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8179  10457   
[package]
 8180  10458   
name = "aws-sdk-ecs"
 8181  10459   
version = "0.0.0-local"
 8182  10460   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8183  10461   
description = "AWS SDK for Amazon EC2 Container Service"
 8184  10462   
edition = "2021"
 8185  10463   
license = "Apache-2.0"
 8186  10464   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8187  10465   
rust-version = "1.86.0"
 8188  10466   
readme = "README.md"
 8189  10467   
[package.metadata.smithy]
 8190  10468   
codegen-version = "ci"
 8191  10469   
[package.metadata.docs.rs]
 8192  10470   
all-features = true
 8193  10471   
targets = ["x86_64-unknown-linux-gnu"]
 8194  10472   
[dependencies.aws-credential-types]
 8195  10473   
path = "../aws-credential-types"
 8196  10474   
version = "1.2.4"
 8197  10475   
 8198  10476   
[dependencies.aws-runtime]
 8199  10477   
path = "../aws-runtime"
 8200  10478   
version = "1.5.9"
 8201  10479   
 8202  10480   
[dependencies.aws-smithy-async]
 8203  10481   
path = "../aws-smithy-async"
 8204  10482   
version = "1.2.5"
 8205  10483   
 8206  10484   
[dependencies.aws-smithy-http]
 8207  10485   
path = "../aws-smithy-http"
 8208         -
version = "0.62.2"
       10486  +
version = "0.62.3"
 8209  10487   
 8210  10488   
[dependencies.aws-smithy-json]
 8211  10489   
path = "../aws-smithy-json"
 8212  10490   
version = "0.61.4"
 8213  10491   
 8214  10492   
[dependencies.aws-smithy-runtime]
 8215  10493   
path = "../aws-smithy-runtime"
 8216  10494   
features = ["client"]
 8217  10495   
version = "1.8.5"
 8218  10496   
 8219  10497   
[dependencies.aws-smithy-runtime-api]
 8220  10498   
path = "../aws-smithy-runtime-api"
 8221  10499   
features = ["client", "http-02x"]
 8222  10500   
version = "1.8.5"
 8223  10501   
 8224  10502   
[dependencies.aws-smithy-types]
 8225  10503   
path = "../aws-smithy-types"
 8226  10504   
version = "1.3.2"
 8227  10505   
 8228  10506   
[dependencies.aws-types]
 8229  10507   
path = "../aws-types"
 8230  10508   
version = "1.3.8"
 8231  10509   
 8232  10510   
[dependencies.bytes]
 8233  10511   
version = "1.4.0"
 8234  10512   
 8235  10513   
[dependencies.fastrand]
 8236  10514   
version = "2.0.0"
 8237  10515   
 8238  10516   
[dependencies.http]
 8239  10517   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 8240  10518   
index 15b1d77..16d7d89 100644
 8241         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
       10519  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 8242  10520   
@@ -1,65 +1,65 @@
 8243  10521   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8244  10522   
[package]
 8245  10523   
name = "aws-sdk-glacier"
 8246  10524   
version = "0.0.0-local"
 8247  10525   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8248  10526   
description = "AWS SDK for Amazon Glacier"
 8249  10527   
edition = "2021"
 8250  10528   
license = "Apache-2.0"
 8251  10529   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8252  10530   
rust-version = "1.86.0"
 8253  10531   
readme = "README.md"
 8254  10532   
[package.metadata.smithy]
 8255  10533   
codegen-version = "ci"
 8256  10534   
[package.metadata.docs.rs]
 8257  10535   
all-features = true
 8258  10536   
targets = ["x86_64-unknown-linux-gnu"]
 8259  10537   
[dependencies.aws-credential-types]
 8260  10538   
path = "../aws-credential-types"
 8261  10539   
version = "1.2.4"
 8262  10540   
 8263  10541   
[dependencies.aws-runtime]
 8264  10542   
path = "../aws-runtime"
 8265  10543   
version = "1.5.9"
 8266  10544   
 8267  10545   
[dependencies.aws-sigv4]
 8268  10546   
path = "../aws-sigv4"
 8269         -
version = "1.3.3"
       10547  +
version = "1.3.4"
 8270  10548   
 8271  10549   
[dependencies.aws-smithy-async]
 8272  10550   
path = "../aws-smithy-async"
 8273  10551   
version = "1.2.5"
 8274  10552   
 8275  10553   
[dependencies.aws-smithy-http]
 8276  10554   
path = "../aws-smithy-http"
 8277         -
version = "0.62.2"
       10555  +
version = "0.62.3"
 8278  10556   
 8279  10557   
[dependencies.aws-smithy-json]
 8280  10558   
path = "../aws-smithy-json"
 8281  10559   
version = "0.61.4"
 8282  10560   
 8283  10561   
[dependencies.aws-smithy-runtime]
 8284  10562   
path = "../aws-smithy-runtime"
 8285  10563   
features = ["client"]
 8286  10564   
version = "1.8.5"
 8287  10565   
 8288  10566   
[dependencies.aws-smithy-runtime-api]
 8289  10567   
path = "../aws-smithy-runtime-api"
 8290  10568   
features = ["client", "http-02x"]
 8291  10569   
version = "1.8.5"
 8292  10570   
 8293  10571   
[dependencies.aws-smithy-types]
 8294  10572   
path = "../aws-smithy-types"
 8295  10573   
version = "1.3.2"
 8296  10574   
 8297  10575   
[dependencies.aws-types]
 8298  10576   
path = "../aws-types"
 8299  10577   
version = "1.3.8"
 8300  10578   
 8301  10579   
[dependencies.bytes]
 8302  10580   
version = "1.4.0"
 8303  10581   
 8304  10582   
[dependencies.fastrand]
 8305  10583   
version = "2.0.0"
 8306  10584   
 8307  10585   
[dependencies.hex]
 8308  10586   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 8309  10587   
index d718a3a..65e6f24 100644
 8310         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
       10588  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 8311  10589   
@@ -1,61 +1,61 @@
 8312  10590   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8313  10591   
[package]
 8314  10592   
name = "aws-sdk-iam"
 8315  10593   
version = "0.0.0-local"
 8316  10594   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8317  10595   
description = "AWS SDK for AWS Identity and Access Management"
 8318  10596   
edition = "2021"
 8319  10597   
license = "Apache-2.0"
 8320  10598   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8321  10599   
rust-version = "1.86.0"
 8322  10600   
readme = "README.md"
 8323  10601   
[package.metadata.smithy]
 8324  10602   
codegen-version = "ci"
 8325  10603   
[package.metadata.docs.rs]
 8326  10604   
all-features = true
 8327  10605   
targets = ["x86_64-unknown-linux-gnu"]
 8328  10606   
[dependencies.aws-credential-types]
 8329  10607   
path = "../aws-credential-types"
 8330  10608   
version = "1.2.4"
 8331  10609   
 8332  10610   
[dependencies.aws-runtime]
 8333  10611   
path = "../aws-runtime"
 8334  10612   
version = "1.5.9"
 8335  10613   
 8336  10614   
[dependencies.aws-smithy-async]
 8337  10615   
path = "../aws-smithy-async"
 8338  10616   
version = "1.2.5"
 8339  10617   
 8340  10618   
[dependencies.aws-smithy-http]
 8341  10619   
path = "../aws-smithy-http"
 8342         -
version = "0.62.2"
       10620  +
version = "0.62.3"
 8343  10621   
 8344  10622   
[dependencies.aws-smithy-json]
 8345  10623   
path = "../aws-smithy-json"
 8346  10624   
version = "0.61.4"
 8347  10625   
 8348  10626   
[dependencies.aws-smithy-query]
 8349  10627   
path = "../aws-smithy-query"
 8350  10628   
version = "0.60.7"
 8351  10629   
 8352  10630   
[dependencies.aws-smithy-runtime]
 8353  10631   
path = "../aws-smithy-runtime"
 8354  10632   
features = ["client"]
 8355  10633   
version = "1.8.5"
 8356  10634   
 8357  10635   
[dependencies.aws-smithy-runtime-api]
 8358  10636   
path = "../aws-smithy-runtime-api"
 8359  10637   
features = ["client", "http-02x"]
 8360  10638   
version = "1.8.5"
 8361  10639   
 8362  10640   
[dependencies.aws-smithy-types]
 8363  10641   
path = "../aws-smithy-types"
 8364  10642   
version = "1.3.2"
 8365  10643   
 8366  10644   
[dependencies.aws-smithy-xml]
 8367  10645   
path = "../aws-smithy-xml"
 8368  10646   
version = "0.60.10"
 8369  10647   
 8370  10648   
[dependencies.aws-types]
 8371  10649   
path = "../aws-types"
 8372  10650   
version = "1.3.8"
 8373  10651   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 8374  10652   
index 0ed4302..3d828a5 100644
 8375         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
       10653  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 8376  10654   
@@ -1,61 +1,61 @@
 8377  10655   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8378  10656   
[package]
 8379  10657   
name = "aws-sdk-kms"
 8380  10658   
version = "0.0.0-local"
 8381  10659   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8382  10660   
description = "AWS SDK for AWS Key Management Service"
 8383  10661   
edition = "2021"
 8384  10662   
license = "Apache-2.0"
 8385  10663   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8386  10664   
rust-version = "1.86.0"
 8387  10665   
readme = "README.md"
 8388  10666   
[package.metadata.smithy]
 8389  10667   
codegen-version = "ci"
 8390  10668   
[package.metadata.docs.rs]
 8391  10669   
all-features = true
 8392  10670   
targets = ["x86_64-unknown-linux-gnu"]
 8393  10671   
[dependencies.aws-credential-types]
 8394  10672   
path = "../aws-credential-types"
 8395  10673   
version = "1.2.4"
 8396  10674   
 8397  10675   
[dependencies.aws-runtime]
 8398  10676   
path = "../aws-runtime"
 8399  10677   
version = "1.5.9"
 8400  10678   
 8401  10679   
[dependencies.aws-smithy-async]
 8402  10680   
path = "../aws-smithy-async"
 8403  10681   
version = "1.2.5"
 8404  10682   
 8405  10683   
[dependencies.aws-smithy-http]
 8406  10684   
path = "../aws-smithy-http"
 8407         -
version = "0.62.2"
       10685  +
version = "0.62.3"
 8408  10686   
 8409  10687   
[dependencies.aws-smithy-json]
 8410  10688   
path = "../aws-smithy-json"
 8411  10689   
version = "0.61.4"
 8412  10690   
 8413  10691   
[dependencies.aws-smithy-runtime]
 8414  10692   
path = "../aws-smithy-runtime"
 8415  10693   
features = ["client"]
 8416  10694   
version = "1.8.5"
 8417  10695   
 8418  10696   
[dependencies.aws-smithy-runtime-api]
 8419  10697   
path = "../aws-smithy-runtime-api"
 8420  10698   
features = ["client", "http-02x"]
 8421  10699   
version = "1.8.5"
 8422  10700   
 8423  10701   
[dependencies.aws-smithy-types]
 8424  10702   
path = "../aws-smithy-types"
 8425  10703   
version = "1.3.2"
 8426  10704   
 8427  10705   
[dependencies.aws-types]
 8428  10706   
path = "../aws-types"
 8429  10707   
version = "1.3.8"
 8430  10708   
 8431  10709   
[dependencies.bytes]
 8432  10710   
version = "1.4.0"
 8433  10711   
 8434  10712   
[dependencies.fastrand]
 8435  10713   
version = "2.0.0"
 8436  10714   
 8437  10715   
[dependencies.http]
 8438  10716   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 8439  10717   
index 6518dfc..6b94752 100644
 8440         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
       10718  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 8441  10719   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 8442  10720   
edition = "2021"
 8443  10721   
license = "Apache-2.0"
 8444  10722   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8445  10723   
rust-version = "1.86.0"
 8446  10724   
readme = "README.md"
 8447  10725   
[package.metadata.smithy]
 8448  10726   
codegen-version = "ci"
 8449  10727   
[package.metadata.docs.rs]
 8450  10728   
all-features = true
 8451  10729   
targets = ["x86_64-unknown-linux-gnu"]
 8452  10730   
[dependencies.aws-credential-types]
 8453  10731   
path = "../aws-credential-types"
 8454  10732   
version = "1.2.4"
 8455  10733   
 8456  10734   
[dependencies.aws-runtime]
 8457  10735   
path = "../aws-runtime"
 8458  10736   
features = ["event-stream"]
 8459  10737   
version = "1.5.9"
 8460  10738   
 8461  10739   
[dependencies.aws-smithy-async]
 8462  10740   
path = "../aws-smithy-async"
 8463  10741   
version = "1.2.5"
 8464  10742   
 8465  10743   
[dependencies.aws-smithy-eventstream]
 8466  10744   
path = "../aws-smithy-eventstream"
 8467  10745   
version = "0.60.10"
 8468  10746   
 8469  10747   
[dependencies.aws-smithy-http]
 8470  10748   
path = "../aws-smithy-http"
 8471  10749   
features = ["event-stream"]
 8472         -
version = "0.62.2"
       10750  +
version = "0.62.3"
 8473  10751   
 8474  10752   
[dependencies.aws-smithy-json]
 8475  10753   
path = "../aws-smithy-json"
 8476  10754   
version = "0.61.4"
 8477  10755   
 8478  10756   
[dependencies.aws-smithy-runtime]
 8479  10757   
path = "../aws-smithy-runtime"
 8480  10758   
features = ["client"]
 8481  10759   
version = "1.8.5"
 8482  10760   
 8483  10761   
[dependencies.aws-smithy-runtime-api]
 8484  10762   
path = "../aws-smithy-runtime-api"
 8485  10763   
features = ["client", "http-02x"]
 8486  10764   
version = "1.8.5"
 8487  10765   
 8488  10766   
[dependencies.aws-smithy-types]
 8489  10767   
path = "../aws-smithy-types"
 8490  10768   
version = "1.3.2"
 8491  10769   
 8492  10770   
[dependencies.aws-types]
 8493  10771   
path = "../aws-types"
 8494  10772   
version = "1.3.8"
 8495  10773   
 8496  10774   
[dependencies.bytes]
 8497  10775   
version = "1.4.0"
 8498  10776   
 8499  10777   
[dependencies.fastrand]
 8500  10778   
version = "2.0.0"
 8501  10779   
 8502  10780   
[dependencies.http]
 8503  10781   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 8504  10782   
index dabb0e0..34cbc15 100644
 8505         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
       10783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 8506  10784   
@@ -1,65 +1,65 @@
 8507  10785   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8508  10786   
[package]
 8509  10787   
name = "aws-sdk-polly"
 8510  10788   
version = "0.0.0-local"
 8511  10789   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8512  10790   
description = "AWS SDK for Amazon Polly"
 8513  10791   
edition = "2021"
 8514  10792   
license = "Apache-2.0"
 8515  10793   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8516  10794   
rust-version = "1.86.0"
 8517  10795   
readme = "README.md"
 8518  10796   
[package.metadata.smithy]
 8519  10797   
codegen-version = "ci"
 8520  10798   
[package.metadata.docs.rs]
 8521  10799   
all-features = true
 8522  10800   
targets = ["x86_64-unknown-linux-gnu"]
 8523  10801   
[dependencies.aws-credential-types]
 8524  10802   
path = "../aws-credential-types"
 8525  10803   
version = "1.2.4"
 8526  10804   
 8527  10805   
[dependencies.aws-runtime]
 8528  10806   
path = "../aws-runtime"
 8529  10807   
version = "1.5.9"
 8530  10808   
 8531  10809   
[dependencies.aws-sigv4]
 8532  10810   
path = "../aws-sigv4"
 8533         -
version = "1.3.3"
       10811  +
version = "1.3.4"
 8534  10812   
 8535  10813   
[dependencies.aws-smithy-async]
 8536  10814   
path = "../aws-smithy-async"
 8537  10815   
version = "1.2.5"
 8538  10816   
 8539  10817   
[dependencies.aws-smithy-http]
 8540  10818   
path = "../aws-smithy-http"
 8541         -
version = "0.62.2"
       10819  +
version = "0.62.3"
 8542  10820   
 8543  10821   
[dependencies.aws-smithy-json]
 8544  10822   
path = "../aws-smithy-json"
 8545  10823   
version = "0.61.4"
 8546  10824   
 8547  10825   
[dependencies.aws-smithy-runtime]
 8548  10826   
path = "../aws-smithy-runtime"
 8549  10827   
features = ["client"]
 8550  10828   
version = "1.8.5"
 8551  10829   
 8552  10830   
[dependencies.aws-smithy-runtime-api]
 8553  10831   
path = "../aws-smithy-runtime-api"
 8554  10832   
features = ["client", "http-02x"]
 8555  10833   
version = "1.8.5"
 8556  10834   
 8557  10835   
[dependencies.aws-smithy-types]
 8558  10836   
path = "../aws-smithy-types"
 8559  10837   
version = "1.3.2"
 8560  10838   
 8561  10839   
[dependencies.aws-types]
 8562  10840   
path = "../aws-types"
 8563  10841   
version = "1.3.8"
 8564  10842   
 8565  10843   
[dependencies.bytes]
 8566  10844   
version = "1.4.0"
 8567  10845   
 8568  10846   
[dependencies.fastrand]
 8569  10847   
version = "2.0.0"
 8570  10848   
 8571  10849   
[dependencies.http]
 8572  10850   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 8573  10851   
index a884716..f3d8713 100644
 8574         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
       10852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 8575  10853   
@@ -1,61 +1,61 @@
 8576  10854   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8577  10855   
[package]
 8578  10856   
name = "aws-sdk-qldbsession"
 8579  10857   
version = "0.0.0-local"
 8580  10858   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8581  10859   
description = "AWS SDK for Amazon QLDB Session"
 8582  10860   
edition = "2021"
 8583  10861   
license = "Apache-2.0"
 8584  10862   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8585  10863   
rust-version = "1.86.0"
 8586  10864   
readme = "README.md"
 8587  10865   
[package.metadata.smithy]
 8588  10866   
codegen-version = "ci"
 8589  10867   
[package.metadata.docs.rs]
 8590  10868   
all-features = true
 8591  10869   
targets = ["x86_64-unknown-linux-gnu"]
 8592  10870   
[dependencies.aws-credential-types]
 8593  10871   
path = "../aws-credential-types"
 8594  10872   
version = "1.2.4"
 8595  10873   
 8596  10874   
[dependencies.aws-runtime]
 8597  10875   
path = "../aws-runtime"
 8598  10876   
version = "1.5.9"
 8599  10877   
 8600  10878   
[dependencies.aws-smithy-async]
 8601  10879   
path = "../aws-smithy-async"
 8602  10880   
version = "1.2.5"
 8603  10881   
 8604  10882   
[dependencies.aws-smithy-http]
 8605  10883   
path = "../aws-smithy-http"
 8606         -
version = "0.62.2"
       10884  +
version = "0.62.3"
 8607  10885   
 8608  10886   
[dependencies.aws-smithy-json]
 8609  10887   
path = "../aws-smithy-json"
 8610  10888   
version = "0.61.4"
 8611  10889   
 8612  10890   
[dependencies.aws-smithy-runtime]
 8613  10891   
path = "../aws-smithy-runtime"
 8614  10892   
features = ["client"]
 8615  10893   
version = "1.8.5"
 8616  10894   
 8617  10895   
[dependencies.aws-smithy-runtime-api]
 8618  10896   
path = "../aws-smithy-runtime-api"
 8619  10897   
features = ["client", "http-02x"]
 8620  10898   
version = "1.8.5"
 8621  10899   
 8622  10900   
[dependencies.aws-smithy-types]
 8623  10901   
path = "../aws-smithy-types"
 8624  10902   
version = "1.3.2"
 8625  10903   
 8626  10904   
[dependencies.aws-types]
 8627  10905   
path = "../aws-types"
 8628  10906   
version = "1.3.8"
 8629  10907   
 8630  10908   
[dependencies.bytes]
 8631  10909   
version = "1.4.0"
 8632  10910   
 8633  10911   
[dependencies.fastrand]
 8634  10912   
version = "2.0.0"
 8635  10913   
 8636  10914   
[dependencies.http]
 8637  10915   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 8638  10916   
index 32a7dc9..a2c752d 100644
 8639         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
       10917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 8640  10918   
@@ -1,61 +1,61 @@
 8641  10919   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8642  10920   
[package]
 8643  10921   
name = "aws-sdk-route53"
 8644  10922   
version = "0.0.0-local"
 8645  10923   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8646  10924   
description = "AWS SDK for Amazon Route 53"
 8647  10925   
edition = "2021"
 8648  10926   
license = "Apache-2.0"
 8649  10927   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8650  10928   
rust-version = "1.86.0"
 8651  10929   
readme = "README.md"
 8652  10930   
[package.metadata.smithy]
 8653  10931   
codegen-version = "ci"
 8654  10932   
[package.metadata.docs.rs]
 8655  10933   
all-features = true
 8656  10934   
targets = ["x86_64-unknown-linux-gnu"]
 8657  10935   
[dependencies.aws-credential-types]
 8658  10936   
path = "../aws-credential-types"
 8659  10937   
version = "1.2.4"
 8660  10938   
 8661  10939   
[dependencies.aws-runtime]
 8662  10940   
path = "../aws-runtime"
 8663  10941   
version = "1.5.9"
 8664  10942   
 8665  10943   
[dependencies.aws-smithy-async]
 8666  10944   
path = "../aws-smithy-async"
 8667  10945   
version = "1.2.5"
 8668  10946   
 8669  10947   
[dependencies.aws-smithy-http]
 8670  10948   
path = "../aws-smithy-http"
 8671         -
version = "0.62.2"
       10949  +
version = "0.62.3"
 8672  10950   
 8673  10951   
[dependencies.aws-smithy-json]
 8674  10952   
path = "../aws-smithy-json"
 8675  10953   
version = "0.61.4"
 8676  10954   
 8677  10955   
[dependencies.aws-smithy-runtime]
 8678  10956   
path = "../aws-smithy-runtime"
 8679  10957   
features = ["client"]
 8680  10958   
version = "1.8.5"
 8681  10959   
 8682  10960   
[dependencies.aws-smithy-runtime-api]
 8683  10961   
path = "../aws-smithy-runtime-api"
 8684  10962   
features = ["client", "http-02x"]
 8685  10963   
version = "1.8.5"
 8686  10964   
 8687  10965   
[dependencies.aws-smithy-types]
 8688  10966   
path = "../aws-smithy-types"
 8689  10967   
version = "1.3.2"
 8690  10968   
 8691  10969   
[dependencies.aws-smithy-xml]
 8692  10970   
path = "../aws-smithy-xml"
 8693  10971   
version = "0.60.10"
 8694  10972   
 8695  10973   
[dependencies.aws-types]
 8696  10974   
path = "../aws-types"
 8697  10975   
version = "1.3.8"
 8698  10976   
 8699  10977   
[dependencies.fastrand]
 8700  10978   
version = "2.0.0"
 8701  10979   
 8702  10980   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 8703  10981   
index f65e261..2f6bec0 100644
 8704         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
       10982  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 8705  10983   
@@ -1,75 +1,75 @@
 8706  10984   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8707  10985   
[package]
 8708  10986   
name = "aws-sdk-s3"
 8709  10987   
version = "0.0.0-local"
 8710  10988   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8711  10989   
description = "AWS SDK for Amazon Simple Storage Service"
 8712  10990   
edition = "2021"
 8713  10991   
license = "Apache-2.0"
 8714  10992   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8715  10993   
rust-version = "1.86.0"
 8716  10994   
readme = "README.md"
 8717  10995   
[package.metadata.smithy]
 8718  10996   
codegen-version = "ci"
 8719  10997   
[package.metadata.docs.rs]
 8720  10998   
all-features = true
 8721  10999   
targets = ["x86_64-unknown-linux-gnu"]
 8722  11000   
[dependencies.aws-credential-types]
 8723  11001   
path = "../aws-credential-types"
 8724  11002   
version = "1.2.4"
 8725  11003   
 8726  11004   
[dependencies.aws-runtime]
 8727  11005   
path = "../aws-runtime"
 8728  11006   
features = ["event-stream", "http-02x"]
 8729  11007   
version = "1.5.9"
 8730  11008   
 8731  11009   
[dependencies.aws-sigv4]
 8732  11010   
path = "../aws-sigv4"
 8733         -
version = "1.3.3"
       11011  +
version = "1.3.4"
 8734  11012   
 8735  11013   
[dependencies.aws-smithy-async]
 8736  11014   
path = "../aws-smithy-async"
 8737  11015   
version = "1.2.5"
 8738  11016   
 8739  11017   
[dependencies.aws-smithy-checksums]
 8740  11018   
path = "../aws-smithy-checksums"
 8741  11019   
version = "0.63.5"
 8742  11020   
 8743  11021   
[dependencies.aws-smithy-eventstream]
 8744  11022   
path = "../aws-smithy-eventstream"
 8745  11023   
version = "0.60.10"
 8746  11024   
 8747  11025   
[dependencies.aws-smithy-http]
 8748  11026   
path = "../aws-smithy-http"
 8749  11027   
features = ["event-stream"]
 8750         -
version = "0.62.2"
       11028  +
version = "0.62.3"
 8751  11029   
 8752  11030   
[dependencies.aws-smithy-json]
 8753  11031   
path = "../aws-smithy-json"
 8754  11032   
version = "0.61.4"
 8755  11033   
 8756  11034   
[dependencies.aws-smithy-runtime]
 8757  11035   
path = "../aws-smithy-runtime"
 8758  11036   
features = ["client"]
 8759  11037   
version = "1.8.5"
 8760  11038   
 8761  11039   
[dependencies.aws-smithy-runtime-api]
 8762  11040   
path = "../aws-smithy-runtime-api"
 8763  11041   
features = ["client", "http-02x"]
 8764  11042   
version = "1.8.5"
 8765  11043   
 8766  11044   
[dependencies.aws-smithy-types]
 8767  11045   
path = "../aws-smithy-types"
 8768  11046   
version = "1.3.2"
 8769  11047   
 8770  11048   
[dependencies.aws-smithy-xml]
 8771  11049   
path = "../aws-smithy-xml"
 8772  11050   
version = "0.60.10"
 8773  11051   
 8774  11052   
[dependencies.aws-types]
 8775  11053   
path = "../aws-types"
 8776  11054   
version = "1.3.8"
 8777  11055   
 8778  11056   
[dependencies.bytes]
 8779  11057   
version = "1.4.0"
 8780  11058   
 8781  11059   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 8782  11060   
index b4d1cdd..861c0cc 100644
 8783         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       11061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 8784  11062   
@@ -1,61 +1,61 @@
 8785  11063   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8786  11064   
[package]
 8787  11065   
name = "aws-sdk-s3control"
 8788  11066   
version = "0.0.0-local"
 8789  11067   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8790  11068   
description = "AWS SDK for AWS S3 Control"
 8791  11069   
edition = "2021"
 8792  11070   
license = "Apache-2.0"
 8793  11071   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8794  11072   
rust-version = "1.86.0"
 8795  11073   
readme = "README.md"
 8796  11074   
[package.metadata.smithy]
 8797  11075   
codegen-version = "ci"
 8798  11076   
[package.metadata.docs.rs]
 8799  11077   
all-features = true
 8800  11078   
targets = ["x86_64-unknown-linux-gnu"]
 8801  11079   
[dependencies.aws-credential-types]
 8802  11080   
path = "../aws-credential-types"
 8803  11081   
version = "1.2.4"
 8804  11082   
 8805  11083   
[dependencies.aws-runtime]
 8806  11084   
path = "../aws-runtime"
 8807  11085   
version = "1.5.9"
 8808  11086   
 8809  11087   
[dependencies.aws-smithy-async]
 8810  11088   
path = "../aws-smithy-async"
 8811  11089   
version = "1.2.5"
 8812  11090   
 8813  11091   
[dependencies.aws-smithy-http]
 8814  11092   
path = "../aws-smithy-http"
 8815         -
version = "0.62.2"
       11093  +
version = "0.62.3"
 8816  11094   
 8817  11095   
[dependencies.aws-smithy-json]
 8818  11096   
path = "../aws-smithy-json"
 8819  11097   
version = "0.61.4"
 8820  11098   
 8821  11099   
[dependencies.aws-smithy-runtime]
 8822  11100   
path = "../aws-smithy-runtime"
 8823  11101   
features = ["client"]
 8824  11102   
version = "1.8.5"
 8825  11103   
 8826  11104   
[dependencies.aws-smithy-runtime-api]
 8827  11105   
path = "../aws-smithy-runtime-api"
 8828  11106   
features = ["client", "http-02x"]
 8829  11107   
version = "1.8.5"
 8830  11108   
 8831  11109   
[dependencies.aws-smithy-types]
 8832  11110   
path = "../aws-smithy-types"
 8833  11111   
version = "1.3.2"
 8834  11112   
 8835  11113   
[dependencies.aws-smithy-xml]
 8836  11114   
path = "../aws-smithy-xml"
 8837  11115   
version = "0.60.10"
 8838  11116   
 8839  11117   
[dependencies.aws-types]
 8840  11118   
path = "../aws-types"
 8841  11119   
version = "1.3.8"
 8842  11120   
 8843  11121   
[dependencies.fastrand]
 8844  11122   
version = "2.0.0"
 8845  11123   
 8846  11124   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 8847  11125   
index 2cde182..fc367f4 100644
 8848         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       11126  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 8849  11127   
@@ -1,61 +1,61 @@
 8850  11128   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8851  11129   
[package]
 8852  11130   
name = "aws-sdk-sso"
 8853  11131   
version = "0.0.0-local"
 8854  11132   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8855  11133   
description = "AWS SDK for AWS Single Sign-On"
 8856  11134   
edition = "2021"
 8857  11135   
license = "Apache-2.0"
 8858  11136   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8859  11137   
rust-version = "1.86.0"
 8860  11138   
readme = "README.md"
 8861  11139   
[package.metadata.smithy]
 8862  11140   
codegen-version = "ci"
 8863  11141   
[package.metadata.docs.rs]
 8864  11142   
all-features = true
 8865  11143   
targets = ["x86_64-unknown-linux-gnu"]
 8866  11144   
[dependencies.aws-credential-types]
 8867  11145   
path = "../aws-credential-types"
 8868  11146   
version = "1.2.4"
 8869  11147   
 8870  11148   
[dependencies.aws-runtime]
 8871  11149   
path = "../aws-runtime"
 8872  11150   
version = "1.5.9"
 8873  11151   
 8874  11152   
[dependencies.aws-smithy-async]
 8875  11153   
path = "../aws-smithy-async"
 8876  11154   
version = "1.2.5"
 8877  11155   
 8878  11156   
[dependencies.aws-smithy-http]
 8879  11157   
path = "../aws-smithy-http"
 8880         -
version = "0.62.2"
       11158  +
version = "0.62.3"
 8881  11159   
 8882  11160   
[dependencies.aws-smithy-json]
 8883  11161   
path = "../aws-smithy-json"
 8884  11162   
version = "0.61.4"
 8885  11163   
 8886  11164   
[dependencies.aws-smithy-runtime]
 8887  11165   
path = "../aws-smithy-runtime"
 8888  11166   
features = ["client"]
 8889  11167   
version = "1.8.5"
 8890  11168   
 8891  11169   
[dependencies.aws-smithy-runtime-api]
 8892  11170   
path = "../aws-smithy-runtime-api"
 8893  11171   
features = ["client", "http-02x"]
 8894  11172   
version = "1.8.5"
 8895  11173   
 8896  11174   
[dependencies.aws-smithy-types]
 8897  11175   
path = "../aws-smithy-types"
 8898  11176   
version = "1.3.2"
 8899  11177   
 8900  11178   
[dependencies.aws-types]
 8901  11179   
path = "../aws-types"
 8902  11180   
version = "1.3.8"
 8903  11181   
 8904  11182   
[dependencies.bytes]
 8905  11183   
version = "1.4.0"
 8906  11184   
 8907  11185   
[dependencies.fastrand]
 8908  11186   
version = "2.0.0"
 8909  11187   
 8910  11188   
[dependencies.http]
 8911  11189   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 8912  11190   
index 7a34c16..588d0bd 100644
 8913         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       11191  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 8914  11192   
@@ -1,61 +1,61 @@
 8915  11193   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8916  11194   
[package]
 8917  11195   
name = "aws-sdk-ssooidc"
 8918  11196   
version = "0.0.0-local"
 8919  11197   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8920  11198   
description = "AWS SDK for AWS SSO OIDC"
 8921  11199   
edition = "2021"
 8922  11200   
license = "Apache-2.0"
 8923  11201   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8924  11202   
rust-version = "1.86.0"
 8925  11203   
readme = "README.md"
 8926  11204   
[package.metadata.smithy]
 8927  11205   
codegen-version = "ci"
 8928  11206   
[package.metadata.docs.rs]
 8929  11207   
all-features = true
 8930  11208   
targets = ["x86_64-unknown-linux-gnu"]
 8931  11209   
[dependencies.aws-credential-types]
 8932  11210   
path = "../aws-credential-types"
 8933  11211   
version = "1.2.4"
 8934  11212   
 8935  11213   
[dependencies.aws-runtime]
 8936  11214   
path = "../aws-runtime"
 8937  11215   
version = "1.5.9"
 8938  11216   
 8939  11217   
[dependencies.aws-smithy-async]
 8940  11218   
path = "../aws-smithy-async"
 8941  11219   
version = "1.2.5"
 8942  11220   
 8943  11221   
[dependencies.aws-smithy-http]
 8944  11222   
path = "../aws-smithy-http"
 8945         -
version = "0.62.2"
       11223  +
version = "0.62.3"
 8946  11224   
 8947  11225   
[dependencies.aws-smithy-json]
 8948  11226   
path = "../aws-smithy-json"
 8949  11227   
version = "0.61.4"
 8950  11228   
 8951  11229   
[dependencies.aws-smithy-runtime]
 8952  11230   
path = "../aws-smithy-runtime"
 8953  11231   
features = ["client"]
 8954  11232   
version = "1.8.5"
 8955  11233   
 8956  11234   
[dependencies.aws-smithy-runtime-api]
 8957  11235   
path = "../aws-smithy-runtime-api"
 8958  11236   
features = ["client", "http-02x"]
 8959  11237   
version = "1.8.5"
 8960  11238   
 8961  11239   
[dependencies.aws-smithy-types]
 8962  11240   
path = "../aws-smithy-types"
 8963  11241   
version = "1.3.2"
 8964  11242   
 8965  11243   
[dependencies.aws-types]
 8966  11244   
path = "../aws-types"
 8967  11245   
version = "1.3.8"
 8968  11246   
 8969  11247   
[dependencies.bytes]
 8970  11248   
version = "1.4.0"
 8971  11249   
 8972  11250   
[dependencies.fastrand]
 8973  11251   
version = "2.0.0"
 8974  11252   
 8975  11253   
[dependencies.http]
 8976  11254   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 8977  11255   
index 895dfb3..f2ce34e 100644
 8978         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       11256  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 8979  11257   
@@ -1,61 +1,61 @@
 8980  11258   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8981  11259   
[package]
 8982  11260   
name = "aws-sdk-sts"
 8983  11261   
version = "0.0.0-local"
 8984  11262   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8985  11263   
description = "AWS SDK for AWS Security Token Service"
 8986  11264   
edition = "2021"
 8987  11265   
license = "Apache-2.0"
 8988  11266   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8989  11267   
rust-version = "1.86.0"
 8990  11268   
readme = "README.md"
 8991  11269   
[package.metadata.smithy]
 8992  11270   
codegen-version = "ci"
 8993  11271   
[package.metadata.docs.rs]
 8994  11272   
all-features = true
 8995  11273   
targets = ["x86_64-unknown-linux-gnu"]
 8996  11274   
[dependencies.aws-credential-types]
 8997  11275   
path = "../aws-credential-types"
 8998  11276   
version = "1.2.4"
 8999  11277   
 9000  11278   
[dependencies.aws-runtime]
 9001  11279   
path = "../aws-runtime"
 9002  11280   
version = "1.5.9"
 9003  11281   
 9004  11282   
[dependencies.aws-smithy-async]
 9005  11283   
path = "../aws-smithy-async"
 9006  11284   
version = "1.2.5"
 9007  11285   
 9008  11286   
[dependencies.aws-smithy-http]
 9009  11287   
path = "../aws-smithy-http"
 9010         -
version = "0.62.2"
       11288  +
version = "0.62.3"
 9011  11289   
 9012  11290   
[dependencies.aws-smithy-json]
 9013  11291   
path = "../aws-smithy-json"
 9014  11292   
version = "0.61.4"
 9015  11293   
 9016  11294   
[dependencies.aws-smithy-query]
 9017  11295   
path = "../aws-smithy-query"
 9018  11296   
version = "0.60.7"
 9019  11297   
 9020  11298   
[dependencies.aws-smithy-runtime]
 9021  11299   
path = "../aws-smithy-runtime"
 9022  11300   
features = ["client"]
 9023  11301   
version = "1.8.5"
 9024  11302   
 9025  11303   
[dependencies.aws-smithy-runtime-api]
 9026  11304   
path = "../aws-smithy-runtime-api"
 9027  11305   
features = ["client", "http-02x"]
 9028  11306   
version = "1.8.5"
 9029  11307   
 9030  11308   
[dependencies.aws-smithy-types]
 9031  11309   
path = "../aws-smithy-types"
 9032  11310   
version = "1.3.2"
 9033  11311   
 9034  11312   
[dependencies.aws-smithy-xml]
 9035  11313   
path = "../aws-smithy-xml"
 9036  11314   
version = "0.60.10"
 9037  11315   
 9038  11316   
[dependencies.aws-types]
 9039  11317   
path = "../aws-types"
 9040  11318   
version = "1.3.8"
 9041  11319   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 9042  11320   
index d556561..91178b6 100644
 9043         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       11321  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 9044  11322   
@@ -1,61 +1,61 @@
 9045  11323   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9046  11324   
[package]
 9047  11325   
name = "aws-sdk-timestreamquery"
 9048  11326   
version = "0.0.0-local"
 9049  11327   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9050  11328   
description = "AWS SDK for Amazon Timestream Query"
 9051  11329   
edition = "2021"
 9052  11330   
license = "Apache-2.0"
 9053  11331   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9054  11332   
rust-version = "1.86.0"
 9055  11333   
readme = "README.md"
 9056  11334   
[package.metadata.smithy]
 9057  11335   
codegen-version = "ci"
 9058  11336   
[package.metadata.docs.rs]
 9059  11337   
all-features = true
 9060  11338   
targets = ["x86_64-unknown-linux-gnu"]
 9061  11339   
[dependencies.aws-credential-types]
 9062  11340   
path = "../aws-credential-types"
 9063  11341   
version = "1.2.4"
 9064  11342   
 9065  11343   
[dependencies.aws-runtime]
 9066  11344   
path = "../aws-runtime"
 9067  11345   
version = "1.5.9"
 9068  11346   
 9069  11347   
[dependencies.aws-smithy-async]
 9070  11348   
path = "../aws-smithy-async"
 9071  11349   
version = "1.2.5"
 9072  11350   
 9073  11351   
[dependencies.aws-smithy-http]
 9074  11352   
path = "../aws-smithy-http"
 9075         -
version = "0.62.2"
       11353  +
version = "0.62.3"
 9076  11354   
 9077  11355   
[dependencies.aws-smithy-json]
 9078  11356   
path = "../aws-smithy-json"
 9079  11357   
version = "0.61.4"
 9080  11358   
 9081  11359   
[dependencies.aws-smithy-runtime]
 9082  11360   
path = "../aws-smithy-runtime"
 9083  11361   
features = ["client"]
 9084  11362   
version = "1.8.5"
 9085  11363   
 9086  11364   
[dependencies.aws-smithy-runtime-api]
 9087  11365   
path = "../aws-smithy-runtime-api"
 9088  11366   
features = ["client", "http-02x"]
 9089  11367   
version = "1.8.5"
 9090  11368   
 9091  11369   
[dependencies.aws-smithy-types]
 9092  11370   
path = "../aws-smithy-types"
 9093  11371   
version = "1.3.2"
 9094  11372   
 9095  11373   
[dependencies.aws-types]
 9096  11374   
path = "../aws-types"
 9097  11375   
version = "1.3.8"
 9098  11376   
 9099  11377   
[dependencies.bytes]
 9100  11378   
version = "1.4.0"
 9101  11379   
 9102  11380   
[dependencies.fastrand]
 9103  11381   
version = "2.0.0"
 9104  11382   
 9105  11383   
[dependencies.http]
 9106  11384   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 9107  11385   
index 0c56e4c..95731e3 100644
 9108         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       11386  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 9109  11387   
@@ -1,61 +1,61 @@
 9110  11388   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9111  11389   
[package]
 9112  11390   
name = "aws-sdk-timestreamwrite"
 9113  11391   
version = "0.0.0-local"
 9114  11392   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9115  11393   
description = "AWS SDK for Amazon Timestream Write"
 9116  11394   
edition = "2021"
 9117  11395   
license = "Apache-2.0"
 9118  11396   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9119  11397   
rust-version = "1.86.0"
 9120  11398   
readme = "README.md"
 9121  11399   
[package.metadata.smithy]
 9122  11400   
codegen-version = "ci"
 9123  11401   
[package.metadata.docs.rs]
 9124  11402   
all-features = true
 9125  11403   
targets = ["x86_64-unknown-linux-gnu"]
 9126  11404   
[dependencies.aws-credential-types]
 9127  11405   
path = "../aws-credential-types"
 9128  11406   
version = "1.2.4"
 9129  11407   
 9130  11408   
[dependencies.aws-runtime]
 9131  11409   
path = "../aws-runtime"
 9132  11410   
version = "1.5.9"
 9133  11411   
 9134  11412   
[dependencies.aws-smithy-async]
 9135  11413   
path = "../aws-smithy-async"
 9136  11414   
version = "1.2.5"
 9137  11415   
 9138  11416   
[dependencies.aws-smithy-http]
 9139  11417   
path = "../aws-smithy-http"
 9140         -
version = "0.62.2"
       11418  +
version = "0.62.3"
 9141  11419   
 9142  11420   
[dependencies.aws-smithy-json]
 9143  11421   
path = "../aws-smithy-json"
 9144  11422   
version = "0.61.4"
 9145  11423   
 9146  11424   
[dependencies.aws-smithy-runtime]
 9147  11425   
path = "../aws-smithy-runtime"
 9148  11426   
features = ["client"]
 9149  11427   
version = "1.8.5"
 9150  11428   
 9151  11429   
[dependencies.aws-smithy-runtime-api]
 9152  11430   
path = "../aws-smithy-runtime-api"
 9153  11431   
features = ["client", "http-02x"]
 9154  11432   
version = "1.8.5"
 9155  11433   
 9156  11434   
[dependencies.aws-smithy-types]
 9157  11435   
path = "../aws-smithy-types"
 9158  11436   
version = "1.3.2"
 9159  11437   
 9160  11438   
[dependencies.aws-types]
 9161  11439   
path = "../aws-types"
 9162  11440   
version = "1.3.8"
 9163  11441   
 9164  11442   
[dependencies.bytes]
 9165  11443   
version = "1.4.0"
 9166  11444   
 9167  11445   
[dependencies.fastrand]
 9168  11446   
version = "2.0.0"
 9169  11447   
 9170  11448   
[dependencies.http]
 9171  11449   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 9172  11450   
index 5b35037..9fb220a 100644
 9173         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       11451  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 9174  11452   
@@ -1,71 +1,71 @@
 9175  11453   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9176  11454   
[package]
 9177  11455   
name = "aws-sdk-transcribestreaming"
 9178  11456   
version = "0.0.0-local"
 9179  11457   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9180  11458   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 9181  11459   
edition = "2021"
 9182  11460   
license = "Apache-2.0"
 9183  11461   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9184  11462   
rust-version = "1.86.0"
 9185  11463   
readme = "README.md"
 9186  11464   
[package.metadata.smithy]
 9187  11465   
codegen-version = "ci"
 9188  11466   
[package.metadata.docs.rs]
 9189  11467   
all-features = true
 9190  11468   
targets = ["x86_64-unknown-linux-gnu"]
 9191  11469   
[dependencies.aws-credential-types]
 9192  11470   
path = "../aws-credential-types"
 9193  11471   
version = "1.2.4"
 9194  11472   
 9195  11473   
[dependencies.aws-runtime]
 9196  11474   
path = "../aws-runtime"
 9197  11475   
features = ["event-stream"]
 9198  11476   
version = "1.5.9"
 9199  11477   
 9200  11478   
[dependencies.aws-sigv4]
 9201  11479   
path = "../aws-sigv4"
 9202         -
version = "1.3.3"
       11480  +
version = "1.3.4"
 9203  11481   
 9204  11482   
[dependencies.aws-smithy-async]
 9205  11483   
path = "../aws-smithy-async"
 9206  11484   
version = "1.2.5"
 9207  11485   
 9208  11486   
[dependencies.aws-smithy-eventstream]
 9209  11487   
path = "../aws-smithy-eventstream"
 9210  11488   
version = "0.60.10"
 9211  11489   
 9212  11490   
[dependencies.aws-smithy-http]
 9213  11491   
path = "../aws-smithy-http"
 9214  11492   
features = ["event-stream"]
 9215         -
version = "0.62.2"
       11493  +
version = "0.62.3"
 9216  11494   
 9217  11495   
[dependencies.aws-smithy-json]
 9218  11496   
path = "../aws-smithy-json"
 9219  11497   
version = "0.61.4"
 9220  11498   
 9221  11499   
[dependencies.aws-smithy-runtime]
 9222  11500   
path = "../aws-smithy-runtime"
 9223  11501   
features = ["client"]
 9224  11502   
version = "1.8.5"
 9225  11503