AWS SDK

AWS SDK

rev. 628eeeeeed390f5efdbfe607c18848c033debd3e

Files changed:

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

@@ -1,0 +4,0 @@
    1         -
GET /example1/example2/../.. 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-relative/get-relative.authz

@@ -1,0 +9337,11606 @@
    1         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
    2      0   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sreq
    3      1   
deleted file mode 100644
    4      2   
index 4f59e7d..0000000
    5         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
   11      5   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-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-dot-slash/get-slash-dot-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-dot-slash/get-slash-dot-slash.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sreq
   18     11   
deleted file mode 100644
   19     12   
index 23a2b41..0000000
   20         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.sreq
          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-slash-pointless-dot/get-slash-pointless-dot.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.authz
   27     16   
deleted file mode 100644
   28     17   
index b76ca1e..0000000
   29         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.authz
          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=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
   32     20   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-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
   33     21   
deleted file mode 100644
   34     22   
index 8096609..0000000
   35         -
-- 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
          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=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 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-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
   42     26   
deleted file mode 100644
   43     27   
index 551c027..0000000
   44         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
   48     31   
deleted file mode 100644
   49     32   
index cde31b4..0000000
   50         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq
          33  +
++ /dev/null
   51     34   
@@ -1,4 +0,0 @@
   52         -
GET // 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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
   56     35   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-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
   57     36   
deleted file mode 100644
   58     37   
index 307c105..0000000
   59         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.authz
          38  +
++ /dev/null
   60     39   
@@ -1 +0,0 @@
   61         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
   62     40   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-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
   63     41   
deleted file mode 100644
   64     42   
index c84a80d..0000000
   65         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq
          43  +
++ /dev/null
   66     44   
@@ -1,4 +0,0 @@
   67         -
GET //example// HTTP/1.1
   68         -
Host:example.amazonaws.com
   69         -
X-Amz-Date:20150830T123600Z
   70         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
   71     45   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/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
   72     46   
deleted file mode 100644
   73     47   
index 832d8a5..0000000
   74         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz
          48  +
++ /dev/null
   75     49   
@@ -1 +0,0 @@
   76         -
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
   77     50   
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
   78     51   
deleted file mode 100644
   79     52   
index eefa20c..0000000
   80         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq
          53  +
++ /dev/null
   81     54   
@@ -1,4 +0,0 @@
   82         -
GET /example space/ HTTP/1.1
   83         -
Host:example.amazonaws.com
   84         -
X-Amz-Date:20150830T123600Z
   85         -
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
   86     55   
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
   87     56   
deleted file mode 100644
   88     57   
index c2fcb27..0000000
   89         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt
          58  +
++ /dev/null
   90     59   
@@ -1,3 +0,0 @@
   91         -
A note about signing requests to Amazon S3:
   92         -

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

  160         -
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).
  161         -

  162         -
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.
  163         -

  164         -
The test suite has 2 examples:
  165         -

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

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

  170         -
The test suite uses this example value for X-Amz-Security-Token:
  171         -

  172         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 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-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
  174    106   
deleted file mode 100644
  175    107   
index 44280cd..0000000
  176         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.authz
         108  +
++ /dev/null
  177    109   
@@ -1 +0,0 @@
  178         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
  179    110   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-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
  180    111   
deleted file mode 100644
  181    112   
index 82af150..0000000
  182         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.sreq
         113  +
++ /dev/null
  183    114   
@@ -1,4 +0,0 @@
  184         -
POST /?Param1=value1 HTTP/1.1
  185         -
Host:example.amazonaws.com
  186         -
X-Amz-Date:20150830T123600Z
  187         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
  188    115   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-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
  189    116   
deleted file mode 100644
  190    117   
index 44280cd..0000000
  191         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz
         118  +
++ /dev/null
  192    119   
@@ -1 +0,0 @@
  193         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
  194    120   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-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
  195    121   
deleted file mode 100644
  196    122   
index 82af150..0000000
  197         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
         123  +
++ /dev/null
  198    124   
@@ -1,4 +0,0 @@
  199         -
POST /?Param1=value1 HTTP/1.1
  200         -
Host:example.amazonaws.com
  201         -
X-Amz-Date:20150830T123600Z
  202         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
  203    125   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
  204    126   
deleted file mode 100644
  205    127   
index 89e572e..0000000
  206         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
         128  +
++ /dev/null
  207    129   
@@ -1 +0,0 @@
  208         -
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
  209    130   
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
  210    131   
deleted file mode 100644
  211    132   
index a5ada0d..0000000
  212         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
         133  +
++ /dev/null
  213    134   
@@ -1,4 +0,0 @@
  214         -
POST / HTTP/1.1
  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=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
  218    135   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded-parameters/post-x-www-form-urlencoded-parameters.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
  219    136   
deleted file mode 100644
  220    137   
index df90ca3..0000000
  221         -
-- 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
         138  +
++ /dev/null
  222    139   
@@ -1 +0,0 @@
  223         -
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
  224    140   
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
  225    141   
deleted file mode 100644
  226    142   
index 457b0d5..0000000
  227         -
-- 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
         143  +
++ /dev/null
  228    144   
@@ -1,9 +0,0 @@
  229         -
POST
  230         -
/
  231         -
Param1=value1
  232         -
content-type:application/x-www-form-urlencoded; charset=utf-8
  233         -
host:example.amazonaws.com
  234         -
x-amz-date:20150830T123600Z
  235         -
  236         -
content-type;host;x-amz-date
  237         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  238    145   
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
  239    146   
deleted file mode 100644
  240    147   
index b8ecb89..0000000
  241         -
-- 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
         148  +
++ /dev/null
  242    149   
@@ -1,7 +0,0 @@
  243         -
POST / HTTP/1.1
  244         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  245         -
Host:example.amazonaws.com
  246         -
X-Amz-Date:20150830T123600Z
  247         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  248         -
  249         -
Param1=value1
              \
 No newline at end of file
  250    150   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.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
  251    151   
deleted file mode 100644
  252    152   
index 79077d2..0000000
  253         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.authz
         153  +
++ /dev/null
  254    154   
@@ -1 +0,0 @@
  255         -
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
  256    155   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-x-www-form-urlencoded/post-x-www-form-urlencoded.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
  257    156   
deleted file mode 100644
  258    157   
index 7852617..0000000
  259         -
-- 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
         158  +
++ /dev/null
  260    159   
@@ -1,4 +0,0 @@
  261         -
POST / HTTP/1.1
  262         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  263         -
Host:example.amazonaws.com
  264         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  265    160   
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
  266    161   
deleted file mode 100644
  267    162   
index 3e2e571..0000000
  268         -
-- 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
         163  +
++ /dev/null
  269    164   
@@ -1,4 +0,0 @@
  270         -
POST / HTTP/1.1
  271         -
Host:example.amazonaws.com
  272         -
X-Amz-Date:20150830T123600Z
  273         -
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
  274    165   
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
  275    166   
deleted file mode 100644
  276    167   
index 89ceae8..0000000
  277         -
-- 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
         168  +
++ /dev/null
  278    169   
@@ -1,4 +0,0 @@
  279         -
AWS4-HMAC-SHA256
  280         -
20150830T123600Z
  281         -
20150830/us-east-1/service/aws4_request
  282         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  283    170   
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
  284    171   
deleted file mode 100755
  285    172   
index d645695..0000000
  286         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
         173  +
++ /dev/null
  287    174   
@@ -1,202 +0,0 @@
  288         -
  289         -
                                 Apache License
  290         -
                           Version 2.0, January 2004
  291         -
                        http://www.apache.org/licenses/
  292         -
  293         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  294         -
  295         -
   1. Definitions.
  296         -
  297         -
      "License" shall mean the terms and conditions for use, reproduction,
  298         -
      and distribution as defined by Sections 1 through 9 of this document.
  299         -
  300         -
      "Licensor" shall mean the copyright owner or entity authorized by
  301         -
      the copyright owner that is granting the License.
  302         -
  303         -
      "Legal Entity" shall mean the union of the acting entity and all
  304         -
      other entities that control, are controlled by, or are under common
  305         -
      control with that entity. For the purposes of this definition,
  306         -
      "control" means (i) the power, direct or indirect, to cause the
  307         -
      direction or management of such entity, whether by contract or
  308         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  309         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  310         -
  311         -
      "You" (or "Your") shall mean an individual or Legal Entity
  312         -
      exercising permissions granted by this License.
  313         -
  314         -
      "Source" form shall mean the preferred form for making modifications,
  315         -
      including but not limited to software source code, documentation
  316         -
      source, and configuration files.
  317         -
  318         -
      "Object" form shall mean any form resulting from mechanical
  319         -
      transformation or translation of a Source form, including but
  320         -
      not limited to compiled object code, generated documentation,
  321         -
      and conversions to other media types.
  322         -
  323         -
      "Work" shall mean the work of authorship, whether in Source or
  324         -
      Object form, made available under the License, as indicated by a
  325         -
      copyright notice that is included in or attached to the work
  326         -
      (an example is provided in the Appendix below).
  327         -
  328         -
      "Derivative Works" shall mean any work, whether in Source or Object
  329         -
      form, that is based on (or derived from) the Work and for which the
  330         -
      editorial revisions, annotations, elaborations, or other modifications
  331         -
      represent, as a whole, an original work of authorship. For the purposes
  332         -
      of this License, Derivative Works shall not include works that remain
  333         -
      separable from, or merely link (or bind by name) to the interfaces of,
  334         -
      the Work and Derivative Works thereof.
  335         -
  336         -
      "Contribution" shall mean any work of authorship, including
  337         -
      the original version of the Work and any modifications or additions
  338         -
      to that Work or Derivative Works thereof, that is intentionally
  339         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  340         -
      or by an individual or Legal Entity authorized to submit on behalf of
  341         -
      the copyright owner. For the purposes of this definition, "submitted"
  342         -
      means any form of electronic, verbal, or written communication sent
  343         -
      to the Licensor or its representatives, including but not limited to
  344         -
      communication on electronic mailing lists, source code control systems,
  345         -
      and issue tracking systems that are managed by, or on behalf of, the
  346         -
      Licensor for the purpose of discussing and improving the Work, but
  347         -
      excluding communication that is conspicuously marked or otherwise
  348         -
      designated in writing by the copyright owner as "Not a Contribution."
  349         -
  350         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  351         -
      on behalf of whom a Contribution has been received by Licensor and
  352         -
      subsequently incorporated within the Work.
  353         -
  354         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  355         -
      this License, each Contributor hereby grants to You a perpetual,
  356         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  357         -
      copyright license to reproduce, prepare Derivative Works of,
  358         -
      publicly display, publicly perform, sublicense, and distribute the
  359         -
      Work and such Derivative Works in Source or Object form.
  360         -
  361         -
   3. Grant of Patent License. Subject to the terms and conditions of
  362         -
      this License, each Contributor hereby grants to You a perpetual,
  363         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  364         -
      (except as stated in this section) patent license to make, have made,
  365         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  366         -
      where such license applies only to those patent claims licensable
  367         -
      by such Contributor that are necessarily infringed by their
  368         -
      Contribution(s) alone or by combination of their Contribution(s)
  369         -
      with the Work to which such Contribution(s) was submitted. If You
  370         -
      institute patent litigation against any entity (including a
  371         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  372         -
      or a Contribution incorporated within the Work constitutes direct
  373         -
      or contributory patent infringement, then any patent licenses
  374         -
      granted to You under this License for that Work shall terminate
  375         -
      as of the date such litigation is filed.
  376         -
  377         -
   4. Redistribution. You may reproduce and distribute copies of the
  378         -
      Work or Derivative Works thereof in any medium, with or without
  379         -
      modifications, and in Source or Object form, provided that You
  380         -
      meet the following conditions:
  381         -
  382         -
      (a) You must give any other recipients of the Work or
  383         -
          Derivative Works a copy of this License; and
  384         -
  385         -
      (b) You must cause any modified files to carry prominent notices
  386         -
          stating that You changed the files; and
  387         -
  388         -
      (c) You must retain, in the Source form of any Derivative Works
  389         -
          that You distribute, all copyright, patent, trademark, and
  390         -
          attribution notices from the Source form of the Work,
  391         -
          excluding those notices that do not pertain to any part of
  392         -
          the Derivative Works; and
  393         -
  394         -
      (d) If the Work includes a "NOTICE" text file as part of its
  395         -
          distribution, then any Derivative Works that You distribute must
  396         -
          include a readable copy of the attribution notices contained
  397         -
          within such NOTICE file, excluding those notices that do not
  398         -
          pertain to any part of the Derivative Works, in at least one
  399         -
          of the following places: within a NOTICE text file distributed
  400         -
          as part of the Derivative Works; within the Source form or
  401         -
          documentation, if provided along with the Derivative Works; or,
  402         -
          within a display generated by the Derivative Works, if and
  403         -
          wherever such third-party notices normally appear. The contents
  404         -
          of the NOTICE file are for informational purposes only and
  405         -
          do not modify the License. You may add Your own attribution
  406         -
          notices within Derivative Works that You distribute, alongside
  407         -
          or as an addendum to the NOTICE text from the Work, provided
  408         -
          that such additional attribution notices cannot be construed
  409         -
          as modifying the License.
  410         -
  411         -
      You may add Your own copyright statement to Your modifications and
  412         -
      may provide additional or different license terms and conditions
  413         -
      for use, reproduction, or distribution of Your modifications, or
  414         -
      for any such Derivative Works as a whole, provided Your use,
  415         -
      reproduction, and distribution of the Work otherwise complies with
  416         -
      the conditions stated in this License.
  417         -
  418         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  419         -
      any Contribution intentionally submitted for inclusion in the Work
  420         -
      by You to the Licensor shall be under the terms and conditions of
  421         -
      this License, without any additional terms or conditions.
  422         -
      Notwithstanding the above, nothing herein shall supersede or modify
  423         -
      the terms of any separate license agreement you may have executed
  424         -
      with Licensor regarding such Contributions.
  425         -
  426         -
   6. Trademarks. This License does not grant permission to use the trade
  427         -
      names, trademarks, service marks, or product names of the Licensor,
  428         -
      except as required for reasonable and customary use in describing the
  429         -
      origin of the Work and reproducing the content of the NOTICE file.
  430         -
  431         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  432         -
      agreed to in writing, Licensor provides the Work (and each
  433         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  434         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  435         -
      implied, including, without limitation, any warranties or conditions
  436         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  437         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  438         -
      appropriateness of using or redistributing the Work and assume any
  439         -
      risks associated with Your exercise of permissions under this License.
  440         -
  441         -
   8. Limitation of Liability. In no event and under no legal theory,
  442         -
      whether in tort (including negligence), contract, or otherwise,
  443         -
      unless required by applicable law (such as deliberate and grossly
  444         -
      negligent acts) or agreed to in writing, shall any Contributor be
  445         -
      liable to You for damages, including any direct, indirect, special,
  446         -
      incidental, or consequential damages of any character arising as a
  447         -
      result of this License or out of the use or inability to use the
  448         -
      Work (including but not limited to damages for loss of goodwill,
  449         -
      work stoppage, computer failure or malfunction, or any and all
  450         -
      other commercial damages or losses), even if such Contributor
  451         -
      has been advised of the possibility of such damages.
  452         -
  453         -
   9. Accepting Warranty or Additional Liability. While redistributing
  454         -
      the Work or Derivative Works thereof, You may choose to offer,
  455         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  456         -
      or other liability obligations and/or rights consistent with this
  457         -
      License. However, in accepting such obligations, You may act only
  458         -
      on Your own behalf and on Your sole responsibility, not on behalf
  459         -
      of any other Contributor, and only if You agree to indemnify,
  460         -
      defend, and hold each Contributor harmless for any liability
  461         -
      incurred by, or claims asserted against, such Contributor by reason
  462         -
      of your accepting any such warranty or additional liability.
  463         -
  464         -
   END OF TERMS AND CONDITIONS
  465         -
  466         -
   APPENDIX: How to apply the Apache License to your work.
  467         -
  468         -
      To apply the Apache License to your work, attach the following
  469         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  470         -
      replaced with your own identifying information. (Don't include
  471         -
      the brackets!)  The text should be enclosed in the appropriate
  472         -
      comment syntax for the file format. We also recommend that a
  473         -
      file or class name and description of purpose be included on the
  474         -
      same "printed page" as the copyright notice for easier
  475         -
      identification within third-party archives.
  476         -
  477         -
   Copyright [yyyy] [name of copyright owner]
  478         -
  479         -
   Licensed under the Apache License, Version 2.0 (the "License");
  480         -
   you may not use this file except in compliance with the License.
  481         -
   You may obtain a copy of the License at
  482         -
  483         -
       http://www.apache.org/licenses/LICENSE-2.0
  484         -
  485         -
   Unless required by applicable law or agreed to in writing, software
  486         -
   distributed under the License is distributed on an "AS IS" BASIS,
  487         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  488         -
   See the License for the specific language governing permissions and
  489         -
   limitations under the License.
  490    175   
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
  491    176   
deleted file mode 100755
  492    177   
index d85f69e..0000000
  493         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
         178  +
++ /dev/null
  494    179   
@@ -1,2 +0,0 @@
  495         -
AWS Signature Version 4a Test Suite
  496         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  497    180   
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
  498    181   
deleted file mode 100644
  499    182   
index c716622..0000000
  500         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
         183  +
++ /dev/null
  501    184   
@@ -1,24 +0,0 @@
  502         -
Where did the files in this directory come from?
  503         -
================================================
  504         -
  505         -
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.
  506         -
  507         -
Signature Version 4A Test Suite
  508         -
------------------------------
  509         -
  510         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  511         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  512         -
  513         -
Each test group contains several files that you can use to validate most of the tasks described in
  514         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  515         -
  516         -
- context.json - Credentials and signer options to use when signing test requests
  517         -
- request.txt - The web request to be signed.
  518         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  519         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  520         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  521         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  522         -
  523         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  524         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  525         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  526    185   
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
  527    186   
deleted file mode 100644
  528    187   
index 45771c7..0000000
  529         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
         188  +
++ /dev/null
  530    189   
@@ -1,12 +0,0 @@
  531         -
{
  532         -
    "credentials": {
  533         -
        "access_key_id": "AKIDEXAMPLE",
  534         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  535         -
    },
  536         -
    "expiration_in_seconds": 3600,
  537         -
    "normalize": true,
  538         -
    "region": "us-east-1",
  539         -
    "service": "service",
  540         -
    "sign_body": false,
  541         -
    "timestamp": "2015-08-30T12:36:00Z"
  542         -
}
  543    190   
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
  544    191   
deleted file mode 100644
  545    192   
index 45771c7..0000000
  546         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
         193  +
++ /dev/null
  547    194   
@@ -1,12 +0,0 @@
  548         -
{
  549         -
    "credentials": {
  550         -
        "access_key_id": "AKIDEXAMPLE",
  551         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  552         -
    },
  553         -
    "expiration_in_seconds": 3600,
  554         -
    "normalize": true,
  555         -
    "region": "us-east-1",
  556         -
    "service": "service",
  557         -
    "sign_body": false,
  558         -
    "timestamp": "2015-08-30T12:36:00Z"
  559         -
}
  560    195   
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
  561    196   
deleted file mode 100644
  562    197   
index 45771c7..0000000
  563         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         198  +
++ /dev/null
  564    199   
@@ -1,12 +0,0 @@
  565         -
{
  566         -
    "credentials": {
  567         -
        "access_key_id": "AKIDEXAMPLE",
  568         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  569         -
    },
  570         -
    "expiration_in_seconds": 3600,
  571         -
    "normalize": true,
  572         -
    "region": "us-east-1",
  573         -
    "service": "service",
  574         -
    "sign_body": false,
  575         -
    "timestamp": "2015-08-30T12:36:00Z"
  576         -
}
  577    200   
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
  578    201   
deleted file mode 100644
  579    202   
index 45771c7..0000000
  580         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         203  +
++ /dev/null
  581    204   
@@ -1,12 +0,0 @@
  582         -
{
  583         -
    "credentials": {
  584         -
        "access_key_id": "AKIDEXAMPLE",
  585         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  586         -
    },
  587         -
    "expiration_in_seconds": 3600,
  588         -
    "normalize": true,
  589         -
    "region": "us-east-1",
  590         -
    "service": "service",
  591         -
    "sign_body": false,
  592         -
    "timestamp": "2015-08-30T12:36:00Z"
  593         -
}
  594    205   
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
  595    206   
deleted file mode 100644
  596    207   
index afe367b..0000000
  597         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         208  +
++ /dev/null
  598    209   
@@ -1,12 +0,0 @@
  599         -
{
  600         -
    "credentials": {
  601         -
        "access_key_id": "AKIDEXAMPLE",
  602         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  603         -
    },
  604         -
    "expiration_in_seconds": 3600,
  605         -
    "normalize": false,
  606         -
    "region": "us-east-1",
  607         -
    "service": "service",
  608         -
    "sign_body": false,
  609         -
    "timestamp": "2015-08-30T12:36:00Z"
  610         -
}
  611    210   
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
  612    211   
deleted file mode 100644
  613    212   
index 45771c7..0000000
  614         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         213  +
++ /dev/null
  615    214   
@@ -1,12 +0,0 @@
  616         -
{
  617         -
    "credentials": {
  618         -
        "access_key_id": "AKIDEXAMPLE",
  619         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  620         -
    },
  621         -
    "expiration_in_seconds": 3600,
  622         -
    "normalize": true,
  623         -
    "region": "us-east-1",
  624         -
    "service": "service",
  625         -
    "sign_body": false,
  626         -
    "timestamp": "2015-08-30T12:36:00Z"
  627         -
}
  628    215   
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
  629    216   
deleted file mode 100644
  630    217   
index afe367b..0000000
  631         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         218  +
++ /dev/null
  632    219   
@@ -1,12 +0,0 @@
  633         -
{
  634         -
    "credentials": {
  635         -
        "access_key_id": "AKIDEXAMPLE",
  636         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  637         -
    },
  638         -
    "expiration_in_seconds": 3600,
  639         -
    "normalize": false,
  640         -
    "region": "us-east-1",
  641         -
    "service": "service",
  642         -
    "sign_body": false,
  643         -
    "timestamp": "2015-08-30T12:36:00Z"
  644         -
}
  645    220   
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
  646    221   
deleted file mode 100644
  647    222   
index 45771c7..0000000
  648         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         223  +
++ /dev/null
  649    224   
@@ -1,12 +0,0 @@
  650         -
{
  651         -
    "credentials": {
  652         -
        "access_key_id": "AKIDEXAMPLE",
  653         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  654         -
    },
  655         -
    "expiration_in_seconds": 3600,
  656         -
    "normalize": true,
  657         -
    "region": "us-east-1",
  658         -
    "service": "service",
  659         -
    "sign_body": false,
  660         -
    "timestamp": "2015-08-30T12:36:00Z"
  661         -
}
  662    225   
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
  663    226   
deleted file mode 100644
  664    227   
index 45771c7..0000000
  665         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         228  +
++ /dev/null
  666    229   
@@ -1,12 +0,0 @@
  667         -
{
  668         -
    "credentials": {
  669         -
        "access_key_id": "AKIDEXAMPLE",
  670         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  671         -
    },
  672         -
    "expiration_in_seconds": 3600,
  673         -
    "normalize": true,
  674         -
    "region": "us-east-1",
  675         -
    "service": "service",
  676         -
    "sign_body": false,
  677         -
    "timestamp": "2015-08-30T12:36:00Z"
  678         -
}
  679    230   
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
  680    231   
deleted file mode 100644
  681    232   
index 45771c7..0000000
  682         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         233  +
++ /dev/null
  683    234   
@@ -1,12 +0,0 @@
  684         -
{
  685         -
    "credentials": {
  686         -
        "access_key_id": "AKIDEXAMPLE",
  687         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  688         -
    },
  689         -
    "expiration_in_seconds": 3600,
  690         -
    "normalize": true,
  691         -
    "region": "us-east-1",
  692         -
    "service": "service",
  693         -
    "sign_body": false,
  694         -
    "timestamp": "2015-08-30T12:36:00Z"
  695         -
}
  696    235   
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
  697    236   
deleted file mode 100644
  698    237   
index 45771c7..0000000
  699         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         238  +
++ /dev/null
  700    239   
@@ -1,12 +0,0 @@
  701         -
{
  702         -
    "credentials": {
  703         -
        "access_key_id": "AKIDEXAMPLE",
  704         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  705         -
    },
  706         -
    "expiration_in_seconds": 3600,
  707         -
    "normalize": true,
  708         -
    "region": "us-east-1",
  709         -
    "service": "service",
  710         -
    "sign_body": false,
  711         -
    "timestamp": "2015-08-30T12:36:00Z"
  712         -
}
  713    240   
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
  714    241   
deleted file mode 100644
  715    242   
index 45771c7..0000000
  716         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         243  +
++ /dev/null
  717    244   
@@ -1,12 +0,0 @@
  718         -
{
  719         -
    "credentials": {
  720         -
        "access_key_id": "AKIDEXAMPLE",
  721         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  722         -
    },
  723         -
    "expiration_in_seconds": 3600,
  724         -
    "normalize": true,
  725         -
    "region": "us-east-1",
  726         -
    "service": "service",
  727         -
    "sign_body": false,
  728         -
    "timestamp": "2015-08-30T12:36:00Z"
  729         -
}
  730    245   
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
  731    246   
deleted file mode 100644
  732    247   
index 47e7128..0000000
  733         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         248  +
++ /dev/null
  734    249   
@@ -1,9 +0,0 @@
  735         -
GET
  736         -
/
  737         -
  738         -
host:example.amazonaws.com
  739         -
x-amz-date:20150830T123600Z
  740         -
x-amz-region-set:us-east-1
  741         -
  742         -
host;x-amz-date;x-amz-region-set
  743         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  744    250   
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
  745    251   
deleted file mode 100644
  746    252   
index 95d7219..0000000
  747         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         253  +
++ /dev/null
  748    254   
@@ -1,4 +0,0 @@
  749         -
AWS4-ECDSA-P256-SHA256
  750         -
20150830T123600Z
  751         -
20150830/service/aws4_request
  752         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  753    255   
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
  754    256   
deleted file mode 100644
  755    257   
index a34ea26..0000000
  756         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         258  +
++ /dev/null
  757    259   
@@ -1,7 +0,0 @@
  758         -
GET
  759         -
/
  760         -
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
  761         -
host:example.amazonaws.com
  762         -
  763         -
host
  764         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  765    260   
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
  766    261   
deleted file mode 100644
  767    262   
index 48f855c..0000000
  768         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         263  +
++ /dev/null
  769    264   
@@ -1,4 +0,0 @@
  770         -
AWS4-ECDSA-P256-SHA256
  771         -
20150830T123600Z
  772         -
20150830/service/aws4_request
  773         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  774    265   
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
  775    266   
deleted file mode 100644
  776    267   
index 45771c7..0000000
  777         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         268  +
++ /dev/null
  778    269   
@@ -1,12 +0,0 @@
  779         -
{
  780         -
    "credentials": {
  781         -
        "access_key_id": "AKIDEXAMPLE",
  782         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  783         -
    },
  784         -
    "expiration_in_seconds": 3600,
  785         -
    "normalize": true,
  786         -
    "region": "us-east-1",
  787         -
    "service": "service",
  788         -
    "sign_body": false,
  789         -
    "timestamp": "2015-08-30T12:36:00Z"
  790         -
}
  791    270   
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
  792    271   
deleted file mode 100644
  793    272   
index 47e7128..0000000
  794         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         273  +
++ /dev/null
  795    274   
@@ -1,9 +0,0 @@
  796         -
GET
  797         -
/
  798         -
  799         -
host:example.amazonaws.com
  800         -
x-amz-date:20150830T123600Z
  801         -
x-amz-region-set:us-east-1
  802         -
  803         -
host;x-amz-date;x-amz-region-set
  804         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  805    275   
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
  806    276   
deleted file mode 100644
  807    277   
index 95d7219..0000000
  808         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         278  +
++ /dev/null
  809    279   
@@ -1,4 +0,0 @@
  810         -
AWS4-ECDSA-P256-SHA256
  811         -
20150830T123600Z
  812         -
20150830/service/aws4_request
  813         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  814    280   
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
  815    281   
deleted file mode 100644
  816    282   
index a34ea26..0000000
  817         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         283  +
++ /dev/null
  818    284   
@@ -1,7 +0,0 @@
  819         -
GET
  820         -
/
  821         -
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
  822         -
host:example.amazonaws.com
  823         -
  824         -
host
  825         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  826    285   
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
  827    286   
deleted file mode 100644
  828    287   
index 48f855c..0000000
  829         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         288  +
++ /dev/null
  830    289   
@@ -1,4 +0,0 @@
  831         -
AWS4-ECDSA-P256-SHA256
  832         -
20150830T123600Z
  833         -
20150830/service/aws4_request
  834         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  835    290   
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
  836    291   
deleted file mode 100644
  837    292   
index 45771c7..0000000
  838         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         293  +
++ /dev/null
  839    294   
@@ -1,12 +0,0 @@
  840         -
{
  841         -
    "credentials": {
  842         -
        "access_key_id": "AKIDEXAMPLE",
  843         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  844         -
    },
  845         -
    "expiration_in_seconds": 3600,
  846         -
    "normalize": true,
  847         -
    "region": "us-east-1",
  848         -
    "service": "service",
  849         -
    "sign_body": false,
  850         -
    "timestamp": "2015-08-30T12:36:00Z"
  851         -
}
  852    295   
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
  853    296   
deleted file mode 100644
  854    297   
index 45771c7..0000000
  855         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         298  +
++ /dev/null
  856    299   
@@ -1,12 +0,0 @@
  857         -
{
  858         -
    "credentials": {
  859         -
        "access_key_id": "AKIDEXAMPLE",
  860         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  861         -
    },
  862         -
    "expiration_in_seconds": 3600,
  863         -
    "normalize": true,
  864         -
    "region": "us-east-1",
  865         -
    "service": "service",
  866         -
    "sign_body": false,
  867         -
    "timestamp": "2015-08-30T12:36:00Z"
  868         -
}
  869    300   
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
  870    301   
deleted file mode 100644
  871    302   
index 45771c7..0000000
  872         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         303  +
++ /dev/null
  873    304   
@@ -1,12 +0,0 @@
  874         -
{
  875         -
    "credentials": {
  876         -
        "access_key_id": "AKIDEXAMPLE",
  877         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  878         -
    },
  879         -
    "expiration_in_seconds": 3600,
  880         -
    "normalize": true,
  881         -
    "region": "us-east-1",
  882         -
    "service": "service",
  883         -
    "sign_body": false,
  884         -
    "timestamp": "2015-08-30T12:36:00Z"
  885         -
}
  886    305   
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
  887    306   
deleted file mode 100644
  888    307   
index 45771c7..0000000
  889         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         308  +
++ /dev/null
  890    309   
@@ -1,12 +0,0 @@
  891         -
{
  892         -
    "credentials": {
  893         -
        "access_key_id": "AKIDEXAMPLE",
  894         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  895         -
    },
  896         -
    "expiration_in_seconds": 3600,
  897         -
    "normalize": true,
  898         -
    "region": "us-east-1",
  899         -
    "service": "service",
  900         -
    "sign_body": false,
  901         -
    "timestamp": "2015-08-30T12:36:00Z"
  902         -
}
  903    310   
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
  904    311   
deleted file mode 100644
  905    312   
index 45771c7..0000000
  906         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         313  +
++ /dev/null
  907    314   
@@ -1,12 +0,0 @@
  908         -
{
  909         -
    "credentials": {
  910         -
        "access_key_id": "AKIDEXAMPLE",
  911         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  912         -
    },
  913         -
    "expiration_in_seconds": 3600,
  914         -
    "normalize": true,
  915         -
    "region": "us-east-1",
  916         -
    "service": "service",
  917         -
    "sign_body": false,
  918         -
    "timestamp": "2015-08-30T12:36:00Z"
  919         -
}
  920    315   
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
  921    316   
deleted file mode 100644
  922    317   
index 45771c7..0000000
  923         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         318  +
++ /dev/null
  924    319   
@@ -1,12 +0,0 @@
  925         -
{
  926         -
    "credentials": {
  927         -
        "access_key_id": "AKIDEXAMPLE",
  928         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  929         -
    },
  930         -
    "expiration_in_seconds": 3600,
  931         -
    "normalize": true,
  932         -
    "region": "us-east-1",
  933         -
    "service": "service",
  934         -
    "sign_body": false,
  935         -
    "timestamp": "2015-08-30T12:36:00Z"
  936         -
}
  937    320   
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
  938    321   
deleted file mode 100644
  939    322   
index b6fdecf..0000000
  940         -
-- 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
         323  +
++ /dev/null
  941    324   
@@ -1,4 +0,0 @@
  942         -
AWS4-ECDSA-P256-SHA256
  943         -
20150830T123600Z
  944         -
20150830/service/aws4_request
  945         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  946    325   
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
  947    326   
deleted file mode 100644
  948    327   
index a300bea..0000000
  949         -
-- 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
         328  +
++ /dev/null
  950    329   
@@ -1,4 +0,0 @@
  951         -
AWS4-ECDSA-P256-SHA256
  952         -
20150830T123600Z
  953         -
20150830/service/aws4_request
  954         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
  955    330   
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
  956    331   
deleted file mode 100644
  957    332   
index b6fdecf..0000000
  958         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         333  +
++ /dev/null
  959    334   
@@ -1,4 +0,0 @@
  960         -
AWS4-ECDSA-P256-SHA256
  961         -
20150830T123600Z
  962         -
20150830/service/aws4_request
  963         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  964    335   
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
  965    336   
new file mode 100644
  966    337   
index 0000000..a674243
  967         -
-- /dev/null
         338  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  968    339   
@@ -0,0 +1,7 @@
         340  +
# AWS SigV4 and SigV4A Signing Test Suite
         341  +
         342  +
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).
         343  +
         344  +
We added the following changes:
         345  +
         346  +
* 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
  969    347   
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
  970    348   
similarity index 100%
  971    349   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
  972    350   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  973    351   
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
  974    352   
similarity index 100%
  975    353   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
  976    354   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  977    355   
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
  978    356   
similarity index 100%
  979    357   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
  980    358   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  981    359   
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
  982    360   
similarity index 100%
  983    361   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
  984    362   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
  985    363   
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
  986    364   
similarity index 100%
  987    365   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
  988    366   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
  989    367   
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
  990    368   
similarity index 100%
  991    369   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
  992    370   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
  993    371   
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
  994    372   
similarity index 100%
  995    373   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
  996    374   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
  997    375   
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
  998    376   
similarity index 99%
  999    377   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
 1000    378   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
 1001    379   
index 45771c7..0468d80 100644
 1002         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
         380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
 1003    381   
@@ -1,12 +1,12 @@
 1004    382   
{
 1005    383   
    "credentials": {
 1006    384   
        "access_key_id": "AKIDEXAMPLE",
 1007    385   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1008    386   
    },
 1009    387   
    "expiration_in_seconds": 3600,
 1010    388   
    "normalize": true,
 1011    389   
    "region": "us-east-1",
 1012    390   
    "service": "service",
 1013    391   
    "sign_body": false,
 1014    392   
    "timestamp": "2015-08-30T12:36:00Z"
 1015         -
}
         393  +
}
              \
 No newline at end of file
 1016    394   
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
 1017    395   
similarity index 100%
 1018    396   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
 1019    397   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
 1020    398   
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
 1021    399   
new file mode 100644
 1022    400   
index 0000000..7fc5d7a
 1023         -
-- /dev/null
         401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
 1024    402   
@@ -0,0 +1 @@
         403  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
 1025    404   
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
 1026    405   
new file mode 100644
 1027    406   
index 0000000..36a1205
 1028         -
-- /dev/null
         407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
 1029    408   
@@ -0,0 +1,8 @@
         409  +
GET / HTTP/1.1
         410  +
Host:example.amazonaws.com
         411  +
My-Header1:value2
         412  +
My-Header1:value2
         413  +
My-Header1:value1
         414  +
X-Amz-Date:20150830T123600Z
         415  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         416  +
 1030    417   
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
 1031    418   
similarity index 100%
 1032    419   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
 1033    420   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
 1034    421   
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
 1035    422   
new file mode 100644
 1036    423   
index 0000000..f9f4190
 1037         -
-- /dev/null
         424  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
 1038    425   
@@ -0,0 +1,8 @@
         426  +
GET
         427  +
/
         428  +
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
         429  +
host:example.amazonaws.com
         430  +
my-header1:value2,value2,value1
         431  +
         432  +
host;my-header1
         433  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1039    434   
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
 1040    435   
new file mode 100644
 1041    436   
index 0000000..5d0d87f
 1042         -
-- /dev/null
         437  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
 1043    438   
@@ -0,0 +1 @@
         439  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
 1044    440   
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
 1045    441   
new file mode 100644
 1046    442   
index 0000000..c1dfcf4
 1047         -
-- /dev/null
         443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1048    444   
@@ -0,0 +1,6 @@
         445  +
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
         446  +
Host:example.amazonaws.com
         447  +
My-Header1:value2
         448  +
My-Header1:value2
         449  +
My-Header1:value1
         450  +
 1049    451   
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
 1050    452   
similarity index 53%
 1051    453   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
 1052    454   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1053    455   
index 0a3350a..077c1bb 100644
 1054         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         456  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1055    457   
@@ -1,4 +1,4 @@
 1056    458   
AWS4-HMAC-SHA256
 1057    459   
20150830T123600Z
 1058    460   
20150830/us-east-1/service/aws4_request
 1059         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         461  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1060    462   
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
 1061    463   
similarity index 100%
 1062    464   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1063    465   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1064    466   
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
 1065    467   
similarity index 99%
 1066    468   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1067    469   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1068    470   
index 45771c7..0468d80 100644
 1069         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
         471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1070    472   
@@ -1,12 +1,12 @@
 1071    473   
{
 1072    474   
    "credentials": {
 1073    475   
        "access_key_id": "AKIDEXAMPLE",
 1074    476   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1075    477   
    },
 1076    478   
    "expiration_in_seconds": 3600,
 1077    479   
    "normalize": true,
 1078    480   
    "region": "us-east-1",
 1079    481   
    "service": "service",
 1080    482   
    "sign_body": false,
 1081    483   
    "timestamp": "2015-08-30T12:36:00Z"
 1082         -
}
         484  +
}
              \
 No newline at end of file
 1083    485   
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
 1084    486   
similarity index 82%
 1085    487   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1086    488   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1087    489   
index 721a39f..8cb5476 100644
 1088         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1089    491   
@@ -1,9 +1,9 @@
 1090    492   
GET
 1091    493   
/
 1092    494   
 1093    495   
host:example.amazonaws.com
 1094         -
my-header1:value1,value2,value3
         496  +
my-header1:value1 value2 value3
 1095    497   
x-amz-date:20150830T123600Z
 1096    498   
 1097    499   
host;my-header1;x-amz-date
 1098    500   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1099    501   
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
 1100    502   
new file mode 100644
 1101    503   
index 0000000..e6ff7a9
 1102         -
-- /dev/null
         504  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1103    505   
@@ -0,0 +1 @@
         506  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1104    507   
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
 1105    508   
new file mode 100644
 1106    509   
index 0000000..b5ef6a0
 1107         -
-- /dev/null
         510  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1108    511   
@@ -0,0 +1,8 @@
         512  +
GET / HTTP/1.1
         513  +
Host:example.amazonaws.com
         514  +
My-Header1:value1
         515  +
  value2
         516  +
     value3
         517  +
X-Amz-Date:20150830T123600Z
         518  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         519  +
 1109    520   
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
 1110    521   
similarity index 53%
 1111    522   
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
 1112    523   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1113    524   
index fd43a41..97c7430 100644
 1114         -
-- 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
         525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1115    526   
@@ -1,4 +1,4 @@
 1116    527   
AWS4-HMAC-SHA256
 1117    528   
20150830T123600Z
 1118    529   
20150830/us-east-1/service/aws4_request
 1119         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         530  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1120    531   
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
 1121    532   
new file mode 100644
 1122    533   
index 0000000..aac46de
 1123         -
-- /dev/null
         534  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1124    535   
@@ -0,0 +1,8 @@
         536  +
GET
         537  +
/
         538  +
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
         539  +
host:example.amazonaws.com
         540  +
my-header1:value1 value2 value3
         541  +
         542  +
host;my-header1
         543  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1125    544   
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
 1126    545   
new file mode 100644
 1127    546   
index 0000000..205732d
 1128         -
-- /dev/null
         547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1129    548   
@@ -0,0 +1 @@
         549  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1130    550   
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
 1131    551   
new file mode 100644
 1132    552   
index 0000000..a891b87
 1133         -
-- /dev/null
         553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1134    554   
@@ -0,0 +1,6 @@
         555  +
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
         556  +
Host:example.amazonaws.com
         557  +
My-Header1:value1
         558  +
  value2
         559  +
     value3
         560  +
 1135    561   
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
 1136    562   
similarity index 53%
 1137    563   
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
 1138    564   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1139    565   
index 90e66b8..ec3fe45 100644
 1140         -
-- 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
         566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1141    567   
@@ -1,4 +1,4 @@
 1142    568   
AWS4-HMAC-SHA256
 1143    569   
20150830T123600Z
 1144    570   
20150830/us-east-1/service/aws4_request
 1145         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         571  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1146    572   
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
 1147    573   
similarity index 75%
 1148    574   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1149    575   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1150    576   
index 7caa6ac..b5026cd 100644
 1151         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         577  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1152    578   
@@ -1,6 +1,5 @@
 1153    579   
GET / HTTP/1.1
 1154    580   
Host:example.amazonaws.com
 1155    581   
My-Header1:value1
 1156    582   
  value2
 1157    583   
     value3
 1158         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1159    584   
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
 1160    585   
similarity index 99%
 1161    586   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1162    587   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1163    588   
index 45771c7..0468d80 100644
 1164         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
         589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1165    590   
@@ -1,12 +1,12 @@
 1166    591   
{
 1167    592   
    "credentials": {
 1168    593   
        "access_key_id": "AKIDEXAMPLE",
 1169    594   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1170    595   
    },
 1171    596   
    "expiration_in_seconds": 3600,
 1172    597   
    "normalize": true,
 1173    598   
    "region": "us-east-1",
 1174    599   
    "service": "service",
 1175    600   
    "sign_body": false,
 1176    601   
    "timestamp": "2015-08-30T12:36:00Z"
 1177         -
}
         602  +
}
              \
 No newline at end of file
 1178    603   
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
 1179    604   
similarity index 100%
 1180    605   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1181    606   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1182    607   
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
 1183    608   
new file mode 100644
 1184    609   
index 0000000..8ef0494
 1185         -
-- /dev/null
         610  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1186    611   
@@ -0,0 +1 @@
         612  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1187    613   
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
 1188    614   
new file mode 100644
 1189    615   
index 0000000..b786dc9
 1190         -
-- /dev/null
         616  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1191    617   
@@ -0,0 +1,9 @@
         618  +
GET / HTTP/1.1
         619  +
Host:example.amazonaws.com
         620  +
My-Header1:value4
         621  +
My-Header1:value1
         622  +
My-Header1:value3
         623  +
My-Header1:value2
         624  +
X-Amz-Date:20150830T123600Z
         625  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         626  +
 1192    627   
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
 1193    628   
similarity index 100%
 1194    629   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1195    630   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1196    631   
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
 1197    632   
new file mode 100644
 1198    633   
index 0000000..a211cc5
 1199         -
-- /dev/null
         634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1200    635   
@@ -0,0 +1,8 @@
         636  +
GET
         637  +
/
         638  +
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
         639  +
host:example.amazonaws.com
         640  +
my-header1:value4,value1,value3,value2
         641  +
         642  +
host;my-header1
         643  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1201    644   
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
 1202    645   
new file mode 100644
 1203    646   
index 0000000..417b0fa
 1204         -
-- /dev/null
         647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1205    648   
@@ -0,0 +1 @@
         649  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1206    650   
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
 1207    651   
new file mode 100644
 1208    652   
index 0000000..b615e5d
 1209         -
-- /dev/null
         653  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1210    654   
@@ -0,0 +1,7 @@
         655  +
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
         656  +
Host:example.amazonaws.com
         657  +
My-Header1:value4
         658  +
My-Header1:value1
         659  +
My-Header1:value3
         660  +
My-Header1:value2
         661  +
 1211    662   
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
 1212    663   
similarity index 53%
 1213    664   
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
 1214    665   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1215    666   
index f7e615e..dcaaa1b 100644
 1216         -
-- 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
         667  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1217    668   
@@ -1,4 +1,4 @@
 1218    669   
AWS4-HMAC-SHA256
 1219    670   
20150830T123600Z
 1220    671   
20150830/us-east-1/service/aws4_request
 1221         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         672  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1222    673   
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
 1223    674   
similarity index 100%
 1224    675   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1225    676   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1226    677   
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
 1227    678   
similarity index 99%
 1228    679   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1229    680   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1230    681   
index 45771c7..0468d80 100644
 1231         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
         682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1232    683   
@@ -1,12 +1,12 @@
 1233    684   
{
 1234    685   
    "credentials": {
 1235    686   
        "access_key_id": "AKIDEXAMPLE",
 1236    687   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1237    688   
    },
 1238    689   
    "expiration_in_seconds": 3600,
 1239    690   
    "normalize": true,
 1240    691   
    "region": "us-east-1",
 1241    692   
    "service": "service",
 1242    693   
    "sign_body": false,
 1243    694   
    "timestamp": "2015-08-30T12:36:00Z"
 1244         -
}
         695  +
}
              \
 No newline at end of file
 1245    696   
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
 1246    697   
similarity index 100%
 1247    698   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1248    699   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1249    700   
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
 1250    701   
new file mode 100644
 1251    702   
index 0000000..36081a9
 1252         -
-- /dev/null
         703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1253    704   
@@ -0,0 +1 @@
         705  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1254    706   
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
 1255    707   
new file mode 100644
 1256    708   
index 0000000..6331d16
 1257         -
-- /dev/null
         709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1258    710   
@@ -0,0 +1,7 @@
         711  +
GET / HTTP/1.1
         712  +
Host:example.amazonaws.com
         713  +
My-Header1: value1
         714  +
My-Header2: "a   b   c"
         715  +
X-Amz-Date:20150830T123600Z
         716  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         717  +
 1259    718   
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
 1260    719   
similarity index 100%
 1261    720   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1262    721   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1263    722   
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
 1264    723   
new file mode 100644
 1265    724   
index 0000000..125c1f9
 1266         -
-- /dev/null
         725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1267    726   
@@ -0,0 +1,9 @@
         727  +
GET
         728  +
/
         729  +
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
         730  +
host:example.amazonaws.com
         731  +
my-header1:value1
         732  +
my-header2:"a b c"
         733  +
         734  +
host;my-header1;my-header2
         735  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1268    736   
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
 1269    737   
new file mode 100644
 1270    738   
index 0000000..17007a8
 1271         -
-- /dev/null
         739  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1272    740   
@@ -0,0 +1 @@
         741  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1273    742   
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
 1274    743   
new file mode 100644
 1275    744   
index 0000000..e519fd9
 1276         -
-- /dev/null
         745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1277    746   
@@ -0,0 +1,5 @@
         747  +
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
         748  +
Host:example.amazonaws.com
         749  +
My-Header1: value1
         750  +
My-Header2: "a   b   c"
         751  +
 1278    752   
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
 1279    753   
new file mode 100644
 1280    754   
index 0000000..6b4b781
 1281         -
-- /dev/null
         755  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1282    756   
@@ -0,0 +1,4 @@
         757  +
AWS4-HMAC-SHA256
         758  +
20150830T123600Z
         759  +
20150830/us-east-1/service/aws4_request
         760  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1283    761   
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
 1284    762   
similarity index 100%
 1285    763   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1286    764   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1287    765   
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
 1288    766   
new file mode 100644
 1289    767   
index 0000000..0468d80
 1290         -
-- /dev/null
         768  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1291    769   
@@ -0,0 +1,12 @@
         770  +
{
         771  +
    "credentials": {
         772  +
        "access_key_id": "AKIDEXAMPLE",
         773  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         774  +
    },
         775  +
    "expiration_in_seconds": 3600,
         776  +
    "normalize": true,
         777  +
    "region": "us-east-1",
         778  +
    "service": "service",
         779  +
    "sign_body": false,
         780  +
    "timestamp": "2015-08-30T12:36:00Z"
         781  +
}
              \
 No newline at end of file
 1292    782   
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
 1293    783   
similarity index 100%
 1294    784   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1295    785   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1296    786   
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
 1297    787   
new file mode 100644
 1298    788   
index 0000000..87f295f
 1299         -
-- /dev/null
         789  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1300    790   
@@ -0,0 +1 @@
         791  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1301    792   
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
 1302    793   
new file mode 100644
 1303    794   
index 0000000..0de8327
 1304         -
-- /dev/null
         795  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1305    796   
@@ -0,0 +1,5 @@
         797  +
GET /example/.. HTTP/1.1
         798  +
Host:example.amazonaws.com
         799  +
X-Amz-Date:20150830T123600Z
         800  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         801  +
 1306    802   
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
 1307    803   
similarity index 100%
 1308    804   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1309    805   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1310    806   
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
 1311    807   
new file mode 100644
 1312    808   
index 0000000..fb2420d
 1313         -
-- /dev/null
         809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1314    810   
@@ -0,0 +1,7 @@
         811  +
GET
         812  +
/
         813  +
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
         814  +
host:example.amazonaws.com
         815  +
         816  +
host
         817  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1315    818   
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
 1316    819   
new file mode 100644
 1317    820   
index 0000000..da5c905
 1318         -
-- /dev/null
         821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1319    822   
@@ -0,0 +1 @@
         823  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1320    824   
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
 1321    825   
new file mode 100644
 1322    826   
index 0000000..4329c98
 1323         -
-- /dev/null
         827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1324    828   
@@ -0,0 +1,3 @@
         829  +
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
         830  +
Host:example.amazonaws.com
         831  +
 1325    832   
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
 1326    833   
new file mode 100644
 1327    834   
index 0000000..d837e67
 1328         -
-- /dev/null
         835  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1329    836   
@@ -0,0 +1,4 @@
         837  +
AWS4-HMAC-SHA256
         838  +
20150830T123600Z
         839  +
20150830/us-east-1/service/aws4_request
         840  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1330    841   
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
 1331    842   
similarity index 100%
 1332    843   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1333    844   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1334    845   
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
 1335    846   
new file mode 100644
 1336    847   
index 0000000..0468d80
 1337         -
-- /dev/null
         848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1338    849   
@@ -0,0 +1,12 @@
         850  +
{
         851  +
    "credentials": {
         852  +
        "access_key_id": "AKIDEXAMPLE",
         853  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         854  +
    },
         855  +
    "expiration_in_seconds": 3600,
         856  +
    "normalize": true,
         857  +
    "region": "us-east-1",
         858  +
    "service": "service",
         859  +
    "sign_body": false,
         860  +
    "timestamp": "2015-08-30T12:36:00Z"
         861  +
}
              \
 No newline at end of file
 1339    862   
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
 1340    863   
similarity index 100%
 1341    864   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1342    865   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1343    866   
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
 1344    867   
new file mode 100644
 1345    868   
index 0000000..87f295f
 1346         -
-- /dev/null
         869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1347    870   
@@ -0,0 +1 @@
         871  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1348    872   
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
 1349    873   
new file mode 100644
 1350    874   
index 0000000..f9b3815
 1351         -
-- /dev/null
         875  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1352    876   
@@ -0,0 +1,5 @@
         877  +
GET /example1/example2/../.. HTTP/1.1
         878  +
Host:example.amazonaws.com
         879  +
X-Amz-Date:20150830T123600Z
         880  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         881  +
 1353    882   
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
 1354    883   
similarity index 100%
 1355    884   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1356    885   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1357    886   
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
 1358    887   
new file mode 100644
 1359    888   
index 0000000..fb2420d
 1360         -
-- /dev/null
         889  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1361    890   
@@ -0,0 +1,7 @@
         891  +
GET
         892  +
/
         893  +
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
         894  +
host:example.amazonaws.com
         895  +
         896  +
host
         897  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1362    898   
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
 1363    899   
new file mode 100644
 1364    900   
index 0000000..da5c905
 1365         -
-- /dev/null
         901  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1366    902   
@@ -0,0 +1 @@
         903  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1367    904   
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
 1368    905   
new file mode 100644
 1369    906   
index 0000000..b2988b7
 1370         -
-- /dev/null
         907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1371    908   
@@ -0,0 +1,3 @@
         909  +
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
         910  +
Host:example.amazonaws.com
         911  +
 1372    912   
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
 1373    913   
new file mode 100644
 1374    914   
index 0000000..d837e67
 1375         -
-- /dev/null
         915  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1376    916   
@@ -0,0 +1,4 @@
         917  +
AWS4-HMAC-SHA256
         918  +
20150830T123600Z
         919  +
20150830/us-east-1/service/aws4_request
         920  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1377    921   
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
 1378    922   
similarity index 100%
 1379    923   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1380    924   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1381    925   
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
 1382    926   
similarity index 99%
 1383    927   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1384    928   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1385    929   
index afe367b..7bee5c7 100644
 1386         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
         930  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1387    931   
@@ -1,12 +1,12 @@
 1388    932   
{
 1389    933   
    "credentials": {
 1390    934   
        "access_key_id": "AKIDEXAMPLE",
 1391    935   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1392    936   
    },
 1393    937   
    "expiration_in_seconds": 3600,
 1394    938   
    "normalize": false,
 1395    939   
    "region": "us-east-1",
 1396    940   
    "service": "service",
 1397    941   
    "sign_body": false,
 1398    942   
    "timestamp": "2015-08-30T12:36:00Z"
 1399         -
}
         943  +
}
              \
 No newline at end of file
 1400    944   
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
 1401    945   
similarity index 82%
 1402    946   
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
 1403    947   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1404    948   
index 36c3cdf..6919c44 100644
 1405         -
-- 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
         949  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1406    950   
@@ -1,8 +1,8 @@
 1407    951   
GET
 1408         -
/
 1409         -
Param1=Value1&Param1=value2
         952  +
/example1/example2/../..
         953  +
 1410    954   
host:example.amazonaws.com
 1411    955   
x-amz-date:20150830T123600Z
 1412    956   
 1413    957   
host;x-amz-date
 1414    958   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1415    959   
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
 1416    960   
new file mode 100644
 1417    961   
index 0000000..4092d83
 1418         -
-- /dev/null
         962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1419    963   
@@ -0,0 +1 @@
         964  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1420    965   
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
 1421    966   
new file mode 100644
 1422    967   
index 0000000..e731b35
 1423         -
-- /dev/null
         968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1424    969   
@@ -0,0 +1,5 @@
         970  +
GET /example1/example2/../.. HTTP/1.1
         971  +
Host:example.amazonaws.com
         972  +
X-Amz-Date:20150830T123600Z
         973  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         974  +
 1425    975   
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
 1426    976   
new file mode 100644
 1427    977   
index 0000000..4f45752
 1428         -
-- /dev/null
         978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1429    979   
@@ -0,0 +1,4 @@
         980  +
AWS4-HMAC-SHA256
         981  +
20150830T123600Z
         982  +
20150830/us-east-1/service/aws4_request
         983  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1430    984   
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
 1431    985   
new file mode 100644
 1432    986   
index 0000000..e1fb07d
 1433         -
-- /dev/null
         987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1434    988   
@@ -0,0 +1,7 @@
         989  +
GET
         990  +
/example1/example2/../..
         991  +
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
         992  +
host:example.amazonaws.com
         993  +
         994  +
host
         995  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1435    996   
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
 1436    997   
new file mode 100644
 1437    998   
index 0000000..8ac31d7
 1438         -
-- /dev/null
         999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1439   1000   
@@ -0,0 +1 @@
        1001  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1440   1002   
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
 1441   1003   
new file mode 100644
 1442   1004   
index 0000000..ac074f9
 1443         -
-- /dev/null
        1005  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1444   1006   
@@ -0,0 +1,3 @@
        1007  +
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
        1008  +
Host:example.amazonaws.com
        1009  +
 1445   1010   
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
 1446   1011   
new file mode 100644
 1447   1012   
index 0000000..8dcb6ff
 1448         -
-- /dev/null
        1013  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1449   1014   
@@ -0,0 +1,4 @@
        1015  +
AWS4-HMAC-SHA256
        1016  +
20150830T123600Z
        1017  +
20150830/us-east-1/service/aws4_request
        1018  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1450   1019   
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
 1451   1020   
similarity index 100%
 1452   1021   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1453   1022   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1454   1023   
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
 1455   1024   
similarity index 99%
 1456   1025   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1457   1026   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1458   1027   
index afe367b..7bee5c7 100644
 1459         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
        1028  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1460   1029   
@@ -1,12 +1,12 @@
 1461   1030   
{
 1462   1031   
    "credentials": {
 1463   1032   
        "access_key_id": "AKIDEXAMPLE",
 1464   1033   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1465   1034   
    },
 1466   1035   
    "expiration_in_seconds": 3600,
 1467   1036   
    "normalize": false,
 1468   1037   
    "region": "us-east-1",
 1469   1038   
    "service": "service",
 1470   1039   
    "sign_body": false,
 1471   1040   
    "timestamp": "2015-08-30T12:36:00Z"
 1472         -
}
        1041  +
}
              \
 No newline at end of file
 1473   1042   
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
 1474   1043   
similarity index 82%
 1475   1044   
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
 1476   1045   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1477   1046   
index 26898eb..f640bc2 100644
 1478         -
-- 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
        1047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1479   1048   
@@ -1,8 +1,8 @@
 1480   1049   
GET
 1481         -
/
 1482         -
Param1=value1&Param1=value2
        1050  +
/example/..
        1051  +
 1483   1052   
host:example.amazonaws.com
 1484   1053   
x-amz-date:20150830T123600Z
 1485   1054   
 1486   1055   
host;x-amz-date
 1487   1056   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1488   1057   
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
 1489   1058   
new file mode 100644
 1490   1059   
index 0000000..d957303
 1491         -
-- /dev/null
        1060  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1492   1061   
@@ -0,0 +1 @@
        1062  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1493   1063   
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
 1494   1064   
new file mode 100644
 1495   1065   
index 0000000..4f42ffc
 1496         -
-- /dev/null
        1066  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1497   1067   
@@ -0,0 +1,5 @@
        1068  +
GET /example/.. HTTP/1.1
        1069  +
Host:example.amazonaws.com
        1070  +
X-Amz-Date:20150830T123600Z
        1071  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
        1072  +
 1498   1073   
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
 1499   1074   
new file mode 100644
 1500   1075   
index 0000000..ca54bda
 1501         -
-- /dev/null
        1076  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1502   1077   
@@ -0,0 +1,4 @@
        1078  +
AWS4-HMAC-SHA256
        1079  +
20150830T123600Z
        1080  +
20150830/us-east-1/service/aws4_request
        1081  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1503   1082   
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
 1504   1083   
new file mode 100644
 1505   1084   
index 0000000..dc80036
 1506         -
-- /dev/null
        1085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1507   1086   
@@ -0,0 +1,7 @@
        1087  +
GET
        1088  +
/example/..
        1089  +
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
        1090  +
host:example.amazonaws.com
        1091  +
        1092  +
host
        1093  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1508   1094   
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
 1509   1095   
new file mode 100644
 1510   1096   
index 0000000..dfa0437
 1511         -
-- /dev/null
        1097  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1512   1098   
@@ -0,0 +1 @@
        1099  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1513   1100   
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
 1514   1101   
new file mode 100644
 1515   1102   
index 0000000..98367b1
 1516         -
-- /dev/null
        1103  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1517   1104   
@@ -0,0 +1,3 @@
        1105  +
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
        1106  +
Host:example.amazonaws.com
        1107  +
 1518   1108   
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
 1519   1109   
new file mode 100644
 1520   1110   
index 0000000..f65dd66
 1521         -
-- /dev/null
        1111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1522   1112   
@@ -0,0 +1,4 @@
        1113  +
AWS4-HMAC-SHA256
        1114  +
20150830T123600Z
        1115  +
20150830/us-east-1/service/aws4_request
        1116  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1523   1117   
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
 1524   1118   
similarity index 100%
 1525   1119   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1526   1120   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1527   1121   
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
 1528   1122   
new file mode 100644
 1529   1123   
index 0000000..0468d80
 1530         -
-- /dev/null
        1124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1531   1125   
@@ -0,0 +1,12 @@
        1126  +
{
        1127  +
    "credentials": {
        1128  +
        "access_key_id": "AKIDEXAMPLE",
        1129  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1130  +
    },
        1131  +
    "expiration_in_seconds": 3600,
        1132  +
    "normalize": true,
        1133  +
    "region": "us-east-1",
        1134  +
    "service": "service",
        1135  +
    "sign_body": false,
        1136  +
    "timestamp": "2015-08-30T12:36:00Z"
        1137  +
}
              \
 No newline at end of file
 1532   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1533   1139   
similarity index 100%
 1534   1140   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1535   1141   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1536   1142   
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
 1537   1143   
new file mode 100644
 1538   1144   
index 0000000..87f295f
 1539         -
-- /dev/null
        1145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1540   1146   
@@ -0,0 +1 @@
        1147  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1541   1148   
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
 1542   1149   
new file mode 100644
 1543   1150   
index 0000000..99c8eeb
 1544         -
-- /dev/null
        1151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1545   1152   
@@ -0,0 +1,5 @@
        1153  +
GET /./ HTTP/1.1
        1154  +
Host:example.amazonaws.com
        1155  +
X-Amz-Date:20150830T123600Z
        1156  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1157  +
 1546   1158   
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
 1547   1159   
similarity index 100%
 1548   1160   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1549   1161   
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
 1550   1162   
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
 1551   1163   
new file mode 100644
 1552   1164   
index 0000000..fb2420d
 1553         -
-- /dev/null
        1165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1554   1166   
@@ -0,0 +1,7 @@
        1167  +
GET
        1168  +
/
        1169  +
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
        1170  +
host:example.amazonaws.com
        1171  +
        1172  +
host
        1173  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1555   1174   
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
 1556   1175   
new file mode 100644
 1557   1176   
index 0000000..da5c905
 1558         -
-- /dev/null
        1177  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1559   1178   
@@ -0,0 +1 @@
        1179  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1560   1180   
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
 1561   1181   
new file mode 100644
 1562   1182   
index 0000000..2e47f69
 1563         -
-- /dev/null
        1183  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1564   1184   
@@ -0,0 +1,3 @@
        1185  +
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
        1186  +
Host:example.amazonaws.com
        1187  +
 1565   1188   
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
 1566   1189   
new file mode 100644
 1567   1190   
index 0000000..d837e67
 1568         -
-- /dev/null
        1191  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1569   1192   
@@ -0,0 +1,4 @@
        1193  +
AWS4-HMAC-SHA256
        1194  +
20150830T123600Z
        1195  +
20150830/us-east-1/service/aws4_request
        1196  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1570   1197   
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
 1571   1198   
similarity index 100%
 1572   1199   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1573   1200   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1574   1201   
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
 1575   1202   
similarity index 99%
 1576   1203   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1577   1204   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1578   1205   
index afe367b..7bee5c7 100644
 1579         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
        1206  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1580   1207   
@@ -1,12 +1,12 @@
 1581   1208   
{
 1582   1209   
    "credentials": {
 1583   1210   
        "access_key_id": "AKIDEXAMPLE",
 1584   1211   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1585   1212   
    },
 1586   1213   
    "expiration_in_seconds": 3600,
 1587   1214   
    "normalize": false,
 1588   1215   
    "region": "us-east-1",
 1589   1216   
    "service": "service",
 1590   1217   
    "sign_body": false,
 1591   1218   
    "timestamp": "2015-08-30T12:36:00Z"
 1592         -
}
        1219  +
}
              \
 No newline at end of file
 1593   1220   
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
 1594   1221   
new file mode 100644
 1595   1222   
index 0000000..5159048
 1596         -
-- /dev/null
        1223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1597   1224   
@@ -0,0 +1,8 @@
        1225  +
GET
        1226  +
/./
        1227  +
        1228  +
host:example.amazonaws.com
        1229  +
x-amz-date:20150830T123600Z
        1230  +
        1231  +
host;x-amz-date
        1232  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1598   1233   
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
 1599   1234   
new file mode 100644
 1600   1235   
index 0000000..b49ff0e
 1601         -
-- /dev/null
        1236  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1602   1237   
@@ -0,0 +1 @@
        1238  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1603   1239   
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
 1604   1240   
new file mode 100644
 1605   1241   
index 0000000..aeb1ffa
 1606         -
-- /dev/null
        1242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1607   1243   
@@ -0,0 +1,5 @@
        1244  +
GET /./ HTTP/1.1
        1245  +
Host:example.amazonaws.com
        1246  +
X-Amz-Date:20150830T123600Z
        1247  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1248  +
 1608   1249   
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
 1609   1250   
new file mode 100644
 1610   1251   
index 0000000..b7d8caf
 1611         -
-- /dev/null
        1252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1612   1253   
@@ -0,0 +1,4 @@
        1254  +
AWS4-HMAC-SHA256
        1255  +
20150830T123600Z
        1256  +
20150830/us-east-1/service/aws4_request
        1257  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1613   1258   
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
 1614   1259   
new file mode 100644
 1615   1260   
index 0000000..d4e029e
 1616         -
-- /dev/null
        1261  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1617   1262   
@@ -0,0 +1,7 @@
        1263  +
GET
        1264  +
/./
        1265  +
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
        1266  +
host:example.amazonaws.com
        1267  +
        1268  +
host
        1269  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1618   1270   
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
 1619   1271   
new file mode 100644
 1620   1272   
index 0000000..fe8f4cc
 1621         -
-- /dev/null
        1273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1622   1274   
@@ -0,0 +1 @@
        1275  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1623   1276   
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
 1624   1277   
new file mode 100644
 1625   1278   
index 0000000..dcc4fc4
 1626         -
-- /dev/null
        1279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1627   1280   
@@ -0,0 +1,3 @@
        1281  +
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
        1282  +
Host:example.amazonaws.com
        1283  +
 1628   1284   
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
 1629   1285   
new file mode 100644
 1630   1286   
index 0000000..5fb3ada
 1631         -
-- /dev/null
        1287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1632   1288   
@@ -0,0 +1,4 @@
        1289  +
AWS4-HMAC-SHA256
        1290  +
20150830T123600Z
        1291  +
20150830/us-east-1/service/aws4_request
        1292  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1633   1293   
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
 1634   1294   
similarity index 100%
 1635   1295   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1636   1296   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1637   1297   
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
 1638   1298   
new file mode 100644
 1639   1299   
index 0000000..0468d80
 1640         -
-- /dev/null
        1300  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1641   1301   
@@ -0,0 +1,12 @@
        1302  +
{
        1303  +
    "credentials": {
        1304  +
        "access_key_id": "AKIDEXAMPLE",
        1305  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1306  +
    },
        1307  +
    "expiration_in_seconds": 3600,
        1308  +
    "normalize": true,
        1309  +
    "region": "us-east-1",
        1310  +
    "service": "service",
        1311  +
    "sign_body": false,
        1312  +
    "timestamp": "2015-08-30T12:36:00Z"
        1313  +
}
              \
 No newline at end of file
 1642   1314   
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
 1643   1315   
similarity index 100%
 1644   1316   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1645   1317   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1646   1318   
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
 1647   1319   
new file mode 100644
 1648   1320   
index 0000000..87f295f
 1649         -
-- /dev/null
        1321  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1650   1322   
@@ -0,0 +1 @@
        1323  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1651   1324   
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
 1652   1325   
new file mode 100644
 1653   1326   
index 0000000..b91087b
 1654         -
-- /dev/null
        1327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1655   1328   
@@ -0,0 +1,5 @@
        1329  +
GET // HTTP/1.1
        1330  +
Host:example.amazonaws.com
        1331  +
X-Amz-Date:20150830T123600Z
        1332  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1333  +
 1656   1334   
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
 1657   1335   
similarity index 100%
 1658   1336   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1659   1337   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1660   1338   
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
 1661   1339   
new file mode 100644
 1662   1340   
index 0000000..fb2420d
 1663         -
-- /dev/null
        1341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1664   1342   
@@ -0,0 +1,7 @@
        1343  +
GET
        1344  +
/
        1345  +
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
        1346  +
host:example.amazonaws.com
        1347  +
        1348  +
host
        1349  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1665   1350   
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
 1666   1351   
new file mode 100644
 1667   1352   
index 0000000..da5c905
 1668         -
-- /dev/null
        1353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1669   1354   
@@ -0,0 +1 @@
        1355  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1670   1356   
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
 1671   1357   
new file mode 100644
 1672   1358   
index 0000000..0290ba4
 1673         -
-- /dev/null
        1359  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1674   1360   
@@ -0,0 +1,3 @@
        1361  +
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
        1362  +
Host:example.amazonaws.com
        1363  +
 1675   1364   
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
 1676   1365   
new file mode 100644
 1677   1366   
index 0000000..d837e67
 1678         -
-- /dev/null
        1367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1679   1368   
@@ -0,0 +1,4 @@
        1369  +
AWS4-HMAC-SHA256
        1370  +
20150830T123600Z
        1371  +
20150830/us-east-1/service/aws4_request
        1372  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1680   1373   
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
 1681   1374   
similarity index 100%
 1682   1375   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1683   1376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1684   1377   
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
 1685   1378   
new file mode 100644
 1686   1379   
index 0000000..0468d80
 1687         -
-- /dev/null
        1380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1688   1381   
@@ -0,0 +1,12 @@
        1382  +
{
        1383  +
    "credentials": {
        1384  +
        "access_key_id": "AKIDEXAMPLE",
        1385  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1386  +
    },
        1387  +
    "expiration_in_seconds": 3600,
        1388  +
    "normalize": true,
        1389  +
    "region": "us-east-1",
        1390  +
    "service": "service",
        1391  +
    "sign_body": false,
        1392  +
    "timestamp": "2015-08-30T12:36:00Z"
        1393  +
}
              \
 No newline at end of file
 1689   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1690   1395   
similarity index 100%
 1691   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.creq
 1692   1397   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1693   1398   
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
 1694   1399   
new file mode 100644
 1695   1400   
index 0000000..8f892bf
 1696         -
-- /dev/null
        1401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1697   1402   
@@ -0,0 +1 @@
        1403  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1698   1404   
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
 1699   1405   
new file mode 100644
 1700   1406   
index 0000000..2a1895c
 1701         -
-- /dev/null
        1407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1702   1408   
@@ -0,0 +1,5 @@
        1409  +
GET /./example HTTP/1.1
        1410  +
Host:example.amazonaws.com
        1411  +
X-Amz-Date:20150830T123600Z
        1412  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1413  +
 1703   1414   
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
 1704   1415   
similarity index 100%
 1705   1416   
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
 1706   1417   
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
 1707   1418   
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
 1708   1419   
new file mode 100644
 1709   1420   
index 0000000..99dfc2a
 1710         -
-- /dev/null
        1421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1711   1422   
@@ -0,0 +1,7 @@
        1423  +
GET
        1424  +
/example
        1425  +
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
        1426  +
host:example.amazonaws.com
        1427  +
        1428  +
host
        1429  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1712   1430   
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
 1713   1431   
new file mode 100644
 1714   1432   
index 0000000..fcd7a17
 1715         -
-- /dev/null
        1433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1716   1434   
@@ -0,0 +1 @@
        1435  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1717   1436   
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
 1718   1437   
new file mode 100644
 1719   1438   
index 0000000..f671de2
 1720         -
-- /dev/null
        1439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1721   1440   
@@ -0,0 +1,3 @@
        1441  +
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
        1442  +
Host:example.amazonaws.com
        1443  +
 1722   1444   
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
 1723   1445   
new file mode 100644
 1724   1446   
index 0000000..f8456dc
 1725         -
-- /dev/null
        1447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1726   1448   
@@ -0,0 +1,4 @@
        1449  +
AWS4-HMAC-SHA256
        1450  +
20150830T123600Z
        1451  +
20150830/us-east-1/service/aws4_request
        1452  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1727   1453   
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
 1728   1454   
similarity index 100%
 1729   1455   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1730   1456   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1731   1457   
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
 1732   1458   
similarity index 99%
 1733   1459   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1734   1460   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1735   1461   
index afe367b..7bee5c7 100644
 1736         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
        1462  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1737   1463   
@@ -1,12 +1,12 @@
 1738   1464   
{
 1739   1465   
    "credentials": {
 1740   1466   
        "access_key_id": "AKIDEXAMPLE",
 1741   1467   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1742   1468   
    },
 1743   1469   
    "expiration_in_seconds": 3600,
 1744   1470   
    "normalize": false,
 1745   1471   
    "region": "us-east-1",
 1746   1472   
    "service": "service",
 1747   1473   
    "sign_body": false,
 1748   1474   
    "timestamp": "2015-08-30T12:36:00Z"
 1749         -
}
        1475  +
}
              \
 No newline at end of file
 1750   1476   
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
 1751   1477   
new file mode 100644
 1752   1478   
index 0000000..36698c7
 1753         -
-- /dev/null
        1479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1754   1480   
@@ -0,0 +1,8 @@
        1481  +
GET
        1482  +
/./example
        1483  +
        1484  +
host:example.amazonaws.com
        1485  +
x-amz-date:20150830T123600Z
        1486  +
        1487  +
host;x-amz-date
        1488  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1755   1489   
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
 1756   1490   
new file mode 100644
 1757   1491   
index 0000000..4a4b8f2
 1758         -
-- /dev/null
        1492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1759   1493   
@@ -0,0 +1 @@
        1494  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1760   1495   
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
 1761   1496   
new file mode 100644
 1762   1497   
index 0000000..d462bcd
 1763         -
-- /dev/null
        1498  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1764   1499   
@@ -0,0 +1,5 @@
        1500  +
GET /./example HTTP/1.1
        1501  +
Host:example.amazonaws.com
        1502  +
X-Amz-Date:20150830T123600Z
        1503  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1504  +
 1765   1505   
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
 1766   1506   
new file mode 100644
 1767   1507   
index 0000000..8be78c9
 1768         -
-- /dev/null
        1508  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1769   1509   
@@ -0,0 +1,4 @@
        1510  +
AWS4-HMAC-SHA256
        1511  +
20150830T123600Z
        1512  +
20150830/us-east-1/service/aws4_request
        1513  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1770   1514   
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
 1771   1515   
new file mode 100644
 1772   1516   
index 0000000..fe1103c
 1773         -
-- /dev/null
        1517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1774   1518   
@@ -0,0 +1,7 @@
        1519  +
GET
        1520  +
/./example
        1521  +
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
        1522  +
host:example.amazonaws.com
        1523  +
        1524  +
host
        1525  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1775   1526   
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
 1776   1527   
new file mode 100644
 1777   1528   
index 0000000..ce80762
 1778         -
-- /dev/null
        1529  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1779   1530   
@@ -0,0 +1 @@
        1531  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1780   1532   
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
 1781   1533   
new file mode 100644
 1782   1534   
index 0000000..30841a6
 1783         -
-- /dev/null
        1535  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1784   1536   
@@ -0,0 +1,3 @@
        1537  +
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
        1538  +
Host:example.amazonaws.com
        1539  +
 1785   1540   
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
 1786   1541   
new file mode 100644
 1787   1542   
index 0000000..5c66509
 1788         -
-- /dev/null
        1543  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1789   1544   
@@ -0,0 +1,4 @@
        1545  +
AWS4-HMAC-SHA256
        1546  +
20150830T123600Z
        1547  +
20150830/us-east-1/service/aws4_request
        1548  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1790   1549   
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
 1791   1550   
similarity index 100%
 1792   1551   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1793   1552   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1794   1553   
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
 1795   1554   
new file mode 100644
 1796   1555   
index 0000000..7bee5c7
 1797         -
-- /dev/null
        1556  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1798   1557   
@@ -0,0 +1,12 @@
        1558  +
{
        1559  +
    "credentials": {
        1560  +
        "access_key_id": "AKIDEXAMPLE",
        1561  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1562  +
    },
        1563  +
    "expiration_in_seconds": 3600,
        1564  +
    "normalize": false,
        1565  +
    "region": "us-east-1",
        1566  +
    "service": "service",
        1567  +
    "sign_body": false,
        1568  +
    "timestamp": "2015-08-30T12:36:00Z"
        1569  +
}
              \
 No newline at end of file
 1799   1570   
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
 1800   1571   
new file mode 100644
 1801   1572   
index 0000000..5860c8a
 1802         -
-- /dev/null
        1573  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1803   1574   
@@ -0,0 +1,8 @@
        1575  +
GET
        1576  +
//
        1577  +
        1578  +
host:example.amazonaws.com
        1579  +
x-amz-date:20150830T123600Z
        1580  +
        1581  +
host;x-amz-date
        1582  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1804   1583   
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
 1805   1584   
new file mode 100644
 1806   1585   
index 0000000..8310471
 1807         -
-- /dev/null
        1586  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1808   1587   
@@ -0,0 +1 @@
        1588  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1809   1589   
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
 1810   1590   
new file mode 100644
 1811   1591   
index 0000000..2a7afef
 1812         -
-- /dev/null
        1592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1813   1593   
@@ -0,0 +1,5 @@
        1594  +
GET // HTTP/1.1
        1595  +
Host:example.amazonaws.com
        1596  +
X-Amz-Date:20150830T123600Z
        1597  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1598  +
 1814   1599   
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
 1815   1600   
new file mode 100644
 1816   1601   
index 0000000..06059dd
 1817         -
-- /dev/null
        1602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1818   1603   
@@ -0,0 +1,4 @@
        1604  +
AWS4-HMAC-SHA256
        1605  +
20150830T123600Z
        1606  +
20150830/us-east-1/service/aws4_request
        1607  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1819   1608   
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
 1820   1609   
new file mode 100644
 1821   1610   
index 0000000..6d63aef
 1822         -
-- /dev/null
        1611  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1823   1612   
@@ -0,0 +1,7 @@
        1613  +
GET
        1614  +
//
        1615  +
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
        1616  +
host:example.amazonaws.com
        1617  +
        1618  +
host
        1619  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1824   1620   
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
 1825   1621   
new file mode 100644
 1826   1622   
index 0000000..e5b7b6c
 1827         -
-- /dev/null
        1623  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1828   1624   
@@ -0,0 +1 @@
        1625  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1829   1626   
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
 1830   1627   
new file mode 100644
 1831   1628   
index 0000000..46fe3fd
 1832         -
-- /dev/null
        1629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1833   1630   
@@ -0,0 +1,3 @@
        1631  +
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
        1632  +
Host:example.amazonaws.com
        1633  +
 1834   1634   
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
 1835   1635   
new file mode 100644
 1836   1636   
index 0000000..ea79940
 1837         -
-- /dev/null
        1637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1838   1638   
@@ -0,0 +1,4 @@
        1639  +
AWS4-HMAC-SHA256
        1640  +
20150830T123600Z
        1641  +
20150830/us-east-1/service/aws4_request
        1642  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1839   1643   
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
 1840   1644   
similarity index 100%
 1841   1645   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1842   1646   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1843   1647   
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
 1844   1648   
new file mode 100644
 1845   1649   
index 0000000..0468d80
 1846         -
-- /dev/null
        1650  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1847   1651   
@@ -0,0 +1,12 @@
        1652  +
{
        1653  +
    "credentials": {
        1654  +
        "access_key_id": "AKIDEXAMPLE",
        1655  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1656  +
    },
        1657  +
    "expiration_in_seconds": 3600,
        1658  +
    "normalize": true,
        1659  +
    "region": "us-east-1",
        1660  +
    "service": "service",
        1661  +
    "sign_body": false,
        1662  +
    "timestamp": "2015-08-30T12:36:00Z"
        1663  +
}
              \
 No newline at end of file
 1848   1664   
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
 1849   1665   
similarity index 100%
 1850   1666   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1851   1667   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1852   1668   
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
 1853   1669   
new file mode 100644
 1854   1670   
index 0000000..71c7bac
 1855         -
-- /dev/null
        1671  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1856   1672   
@@ -0,0 +1 @@
        1673  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1857   1674   
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
 1858   1675   
new file mode 100644
 1859   1676   
index 0000000..0add1f1
 1860         -
-- /dev/null
        1677  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1861   1678   
@@ -0,0 +1,5 @@
        1679  +
GET //example// HTTP/1.1
        1680  +
Host:example.amazonaws.com
        1681  +
X-Amz-Date:20150830T123600Z
        1682  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1683  +
 1862   1684   
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
 1863   1685   
similarity index 100%
 1864   1686   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1865   1687   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1866   1688   
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
 1867   1689   
new file mode 100644
 1868   1690   
index 0000000..ce72510
 1869         -
-- /dev/null
        1691  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1870   1692   
@@ -0,0 +1,7 @@
        1693  +
GET
        1694  +
/example/
        1695  +
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
        1696  +
host:example.amazonaws.com
        1697  +
        1698  +
host
        1699  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1871   1700   
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
 1872   1701   
new file mode 100644
 1873   1702   
index 0000000..265f387
 1874         -
-- /dev/null
        1703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1875   1704   
@@ -0,0 +1 @@
        1705  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1876   1706   
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
 1877   1707   
new file mode 100644
 1878   1708   
index 0000000..e1fcb2e
 1879         -
-- /dev/null
        1709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1880   1710   
@@ -0,0 +1,3 @@
        1711  +
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
        1712  +
Host:example.amazonaws.com
        1713  +
 1881   1714   
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
 1882   1715   
new file mode 100644
 1883   1716   
index 0000000..a14de61
 1884         -
-- /dev/null
        1717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1885   1718   
@@ -0,0 +1,4 @@
        1719  +
AWS4-HMAC-SHA256
        1720  +
20150830T123600Z
        1721  +
20150830/us-east-1/service/aws4_request
        1722  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1886   1723   
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
 1887   1724   
similarity index 100%
 1888   1725   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1889   1726   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1890   1727   
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
 1891   1728   
new file mode 100644
 1892   1729   
index 0000000..7bee5c7
 1893         -
-- /dev/null
        1730  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1894   1731   
@@ -0,0 +1,12 @@
        1732  +
{
        1733  +
    "credentials": {
        1734  +
        "access_key_id": "AKIDEXAMPLE",
        1735  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1736  +
    },
        1737  +
    "expiration_in_seconds": 3600,
        1738  +
    "normalize": false,
        1739  +
    "region": "us-east-1",
        1740  +
    "service": "service",
        1741  +
    "sign_body": false,
        1742  +
    "timestamp": "2015-08-30T12:36:00Z"
        1743  +
}
              \
 No newline at end of file
 1895   1744   
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
 1896   1745   
new file mode 100644
 1897   1746   
index 0000000..dfffaaf
 1898         -
-- /dev/null
        1747  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1899   1748   
@@ -0,0 +1,8 @@
        1749  +
GET
        1750  +
//example//
        1751  +
        1752  +
host:example.amazonaws.com
        1753  +
x-amz-date:20150830T123600Z
        1754  +
        1755  +
host;x-amz-date
        1756  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1900   1757   
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
 1901   1758   
new file mode 100644
 1902   1759   
index 0000000..edbcc0d
 1903         -
-- /dev/null
        1760  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1904   1761   
@@ -0,0 +1 @@
        1762  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1905   1763   
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
 1906   1764   
new file mode 100644
 1907   1765   
index 0000000..4cc12dd
 1908         -
-- /dev/null
        1766  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1909   1767   
@@ -0,0 +1,5 @@
        1768  +
GET //example// HTTP/1.1
        1769  +
Host:example.amazonaws.com
        1770  +
X-Amz-Date:20150830T123600Z
        1771  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1772  +
 1910   1773   
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
 1911   1774   
new file mode 100644
 1912   1775   
index 0000000..3eba390
 1913         -
-- /dev/null
        1776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1914   1777   
@@ -0,0 +1,4 @@
        1778  +
AWS4-HMAC-SHA256
        1779  +
20150830T123600Z
        1780  +
20150830/us-east-1/service/aws4_request
        1781  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1915   1782   
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
 1916   1783   
new file mode 100644
 1917   1784   
index 0000000..f7844e3
 1918         -
-- /dev/null
        1785  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1919   1786   
@@ -0,0 +1,7 @@
        1787  +
GET
        1788  +
//example//
        1789  +
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
        1790  +
host:example.amazonaws.com
        1791  +
        1792  +
host
        1793  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1920   1794   
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
 1921   1795   
new file mode 100644
 1922   1796   
index 0000000..a8d6b96
 1923         -
-- /dev/null
        1797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1924   1798   
@@ -0,0 +1 @@
        1799  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1925   1800   
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
 1926   1801   
new file mode 100644
 1927   1802   
index 0000000..a8322c6
 1928         -
-- /dev/null
        1803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1929   1804   
@@ -0,0 +1,3 @@
        1805  +
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
        1806  +
Host:example.amazonaws.com
        1807  +
 1930   1808   
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
 1931   1809   
new file mode 100644
 1932   1810   
index 0000000..068724d
 1933         -
-- /dev/null
        1811  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1934   1812   
@@ -0,0 +1,4 @@
        1813  +
AWS4-HMAC-SHA256
        1814  +
20150830T123600Z
        1815  +
20150830/us-east-1/service/aws4_request
        1816  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1935   1817   
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
 1936   1818   
similarity index 100%
 1937   1819   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1938   1820   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1939   1821   
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
 1940   1822   
new file mode 100644
 1941   1823   
index 0000000..0468d80
 1942         -
-- /dev/null
        1824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1943   1825   
@@ -0,0 +1,12 @@
        1826  +
{
        1827  +
    "credentials": {
        1828  +
        "access_key_id": "AKIDEXAMPLE",
        1829  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1830  +
    },
        1831  +
    "expiration_in_seconds": 3600,
        1832  +
    "normalize": true,
        1833  +
    "region": "us-east-1",
        1834  +
    "service": "service",
        1835  +
    "sign_body": false,
        1836  +
    "timestamp": "2015-08-30T12:36:00Z"
        1837  +
}
              \
 No newline at end of file
 1944   1838   
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
 1945   1839   
similarity index 100%
 1946   1840   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1947   1841   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1948   1842   
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
 1949   1843   
new file mode 100644
 1950   1844   
index 0000000..f63892b
 1951         -
-- /dev/null
        1845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1952   1846   
@@ -0,0 +1 @@
        1847  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1953   1848   
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
 1954   1849   
new file mode 100644
 1955   1850   
index 0000000..19cd5cb
 1956         -
-- /dev/null
        1851  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1957   1852   
@@ -0,0 +1,5 @@
        1853  +
GET /example space/ HTTP/1.1
        1854  +
Host:example.amazonaws.com
        1855  +
X-Amz-Date:20150830T123600Z
        1856  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1857  +
 1958   1858   
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
 1959   1859   
similarity index 100%
 1960   1860   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1961   1861   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1962   1862   
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
 1963   1863   
new file mode 100644
 1964   1864   
index 0000000..fa3d3e2
 1965         -
-- /dev/null
        1865  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1966   1866   
@@ -0,0 +1,7 @@
        1867  +
GET
        1868  +
/example%20space/
        1869  +
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
        1870  +
host:example.amazonaws.com
        1871  +
        1872  +
host
        1873  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1967   1874   
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
 1968   1875   
new file mode 100644
 1969   1876   
index 0000000..5b2e204
 1970         -
-- /dev/null
        1877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1971   1878   
@@ -0,0 +1 @@
        1879  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1972   1880   
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
 1973   1881   
new file mode 100644
 1974   1882   
index 0000000..93ca1d0
 1975         -
-- /dev/null
        1883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1976   1884   
@@ -0,0 +1,3 @@
        1885  +
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
        1886  +
Host:example.amazonaws.com
        1887  +
 1977   1888   
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
 1978   1889   
new file mode 100644
 1979   1890   
index 0000000..b4cb789
 1980         -
-- /dev/null
        1891  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1981   1892   
@@ -0,0 +1,4 @@
        1893  +
AWS4-HMAC-SHA256
        1894  +
20150830T123600Z
        1895  +
20150830/us-east-1/service/aws4_request
        1896  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1982   1897   
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
 1983   1898   
new file mode 100644
 1984   1899   
index 0000000..860a277
 1985         -
-- /dev/null
        1900  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1986   1901   
@@ -0,0 +1,2 @@
        1902  +
GET /example%20space/ HTTP/1.1
        1903  +
Host:example.amazonaws.com
 1987   1904   
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
 1988   1905   
new file mode 100644
 1989   1906   
index 0000000..7bee5c7
 1990         -
-- /dev/null
        1907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1991   1908   
@@ -0,0 +1,12 @@
        1909  +
{
        1910  +
    "credentials": {
        1911  +
        "access_key_id": "AKIDEXAMPLE",
        1912  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1913  +
    },
        1914  +
    "expiration_in_seconds": 3600,
        1915  +
    "normalize": false,
        1916  +
    "region": "us-east-1",
        1917  +
    "service": "service",
        1918  +
    "sign_body": false,
        1919  +
    "timestamp": "2015-08-30T12:36:00Z"
        1920  +
}
              \
 No newline at end of file
 1992   1921   
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
 1993   1922   
similarity index 66%
 1994   1923   
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
 1995   1924   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1996   1925   
index 71dc981..124a709 100644
 1997         -
-- 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
        1926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1998   1927   
@@ -1,9 +1,8 @@
 1999         -
POST
 2000         -
/
        1928  +
GET
        1929  +
/example%20space/
 2001   1930   
 2002         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 2003   1931   
host:example.amazonaws.com
 2004   1932   
x-amz-date:20150830T123600Z
 2005   1933   
 2006   1934   
host;x-amz-date
 2007   1935   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2008   1936   
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
 2009   1937   
new file mode 100644
 2010   1938   
index 0000000..f63892b
 2011         -
-- /dev/null
        1939  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 2012   1940   
@@ -0,0 +1 @@
        1941  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 2013   1942   
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
 2014   1943   
new file mode 100644
 2015   1944   
index 0000000..19cd5cb
 2016         -
-- /dev/null
        1945  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 2017   1946   
@@ -0,0 +1,5 @@
        1947  +
GET /example space/ HTTP/1.1
        1948  +
Host:example.amazonaws.com
        1949  +
X-Amz-Date:20150830T123600Z
        1950  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1951  +
 2018   1952   
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
 2019   1953   
new file mode 100644
 2020   1954   
index 0000000..a633f0c
 2021         -
-- /dev/null
        1955  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 2022   1956   
@@ -0,0 +1,4 @@
        1957  +
AWS4-HMAC-SHA256
        1958  +
20150830T123600Z
        1959  +
20150830/us-east-1/service/aws4_request
        1960  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 2023   1961   
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
 2024   1962   
new file mode 100644
 2025   1963   
index 0000000..fa3d3e2
 2026         -
-- /dev/null
        1964  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 2027   1965   
@@ -0,0 +1,7 @@
        1966  +
GET
        1967  +
/example%20space/
        1968  +
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
        1969  +
host:example.amazonaws.com
        1970  +
        1971  +
host
        1972  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2028   1973   
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
 2029   1974   
new file mode 100644
 2030   1975   
index 0000000..5b2e204
 2031         -
-- /dev/null
        1976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 2032   1977   
@@ -0,0 +1 @@
        1978  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 2033   1979   
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
 2034   1980   
new file mode 100644
 2035   1981   
index 0000000..93ca1d0
 2036         -
-- /dev/null
        1982  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 2037   1983   
@@ -0,0 +1,3 @@
        1984  +
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
        1985  +
Host:example.amazonaws.com
        1986  +
 2038   1987   
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
 2039   1988   
new file mode 100644
 2040   1989   
index 0000000..b4cb789
 2041         -
-- /dev/null
        1990  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 2042   1991   
@@ -0,0 +1,4 @@
        1992  +
AWS4-HMAC-SHA256
        1993  +
20150830T123600Z
        1994  +
20150830/us-east-1/service/aws4_request
        1995  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 2043   1996   
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
 2044   1997   
similarity index 67%
 2045   1998   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 2046   1999   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2047   2000   
index b7d5e8b..ab509ab 100644
 2048         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        2001  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2049   2002   
@@ -1,3 +1,2 @@
 2050   2003   
GET /example space/ HTTP/1.1
 2051   2004   
Host:example.amazonaws.com
 2052         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2053   2005   
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
 2054   2006   
new file mode 100644
 2055   2007   
index 0000000..0468d80
 2056         -
-- /dev/null
        2008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 2057   2009   
@@ -0,0 +1,12 @@
        2010  +
{
        2011  +
    "credentials": {
        2012  +
        "access_key_id": "AKIDEXAMPLE",
        2013  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2014  +
    },
        2015  +
    "expiration_in_seconds": 3600,
        2016  +
    "normalize": true,
        2017  +
    "region": "us-east-1",
        2018  +
    "service": "service",
        2019  +
    "sign_body": false,
        2020  +
    "timestamp": "2015-08-30T12:36:00Z"
        2021  +
}
              \
 No newline at end of file
 2058   2022   
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
 2059   2023   
similarity index 100%
 2060   2024   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 2061   2025   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 2062   2026   
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
 2063   2027   
new file mode 100644
 2064   2028   
index 0000000..e503354
 2065         -
-- /dev/null
        2029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 2066   2030   
@@ -0,0 +1 @@
        2031  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 2067   2032   
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
 2068   2033   
new file mode 100644
 2069   2034   
index 0000000..4367892
 2070         -
-- /dev/null
        2035  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 2071   2036   
@@ -0,0 +1,5 @@
        2037  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        2038  +
Host:example.amazonaws.com
        2039  +
X-Amz-Date:20150830T123600Z
        2040  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        2041  +
 2072   2042   
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
 2073   2043   
similarity index 100%
 2074   2044   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 2075   2045   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 2076   2046   
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
 2077   2047   
new file mode 100644
 2078   2048   
index 0000000..d7f0696
 2079         -
-- /dev/null
        2049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 2080   2050   
@@ -0,0 +1,7 @@
        2051  +
GET
        2052  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        2053  +
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
        2054  +
host:example.amazonaws.com
        2055  +
        2056  +
host
        2057  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2081   2058   
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
 2082   2059   
new file mode 100644
 2083   2060   
index 0000000..509e972
 2084         -
-- /dev/null
        2061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 2085   2062   
@@ -0,0 +1 @@
        2063  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 2086   2064   
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
 2087   2065   
new file mode 100644
 2088   2066   
index 0000000..79aad36
 2089         -
-- /dev/null
        2067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 2090   2068   
@@ -0,0 +1,3 @@
        2069  +
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
        2070  +
Host:example.amazonaws.com
        2071  +
 2091   2072   
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
 2092   2073   
new file mode 100644
 2093   2074   
index 0000000..e8068b3
 2094         -
-- /dev/null
        2075  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 2095   2076   
@@ -0,0 +1,4 @@
        2077  +
AWS4-HMAC-SHA256
        2078  +
20150830T123600Z
        2079  +
20150830/us-east-1/service/aws4_request
        2080  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 2096   2081   
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
 2097   2082   
similarity index 100%
 2098   2083   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 2099   2084   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 2100   2085   
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
 2101   2086   
new file mode 100644
 2102   2087   
index 0000000..0468d80
 2103         -
-- /dev/null
        2088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 2104   2089   
@@ -0,0 +1,12 @@
        2090  +
{
        2091  +
    "credentials": {
        2092  +
        "access_key_id": "AKIDEXAMPLE",
        2093  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2094  +
    },
        2095  +
    "expiration_in_seconds": 3600,
        2096  +
    "normalize": true,
        2097  +
    "region": "us-east-1",
        2098  +
    "service": "service",
        2099  +
    "sign_body": false,
        2100  +
    "timestamp": "2015-08-30T12:36:00Z"
        2101  +
}
              \
 No newline at end of file
 2105   2102   
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
 2106   2103   
similarity index 100%
 2107   2104   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 2108   2105   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 2109   2106   
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
 2110   2107   
new file mode 100644
 2111   2108   
index 0000000..9a13676
 2112         -
-- /dev/null
        2109  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 2113   2110   
@@ -0,0 +1 @@
        2111  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 2114   2112   
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
 2115   2113   
new file mode 100644
 2116   2114   
index 0000000..5aaf47c
 2117         -
-- /dev/null
        2115  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 2118   2116   
@@ -0,0 +1,5 @@
        2117  +
GET /ሴ HTTP/1.1
        2118  +
Host:example.amazonaws.com
        2119  +
X-Amz-Date:20150830T123600Z
        2120  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        2121  +
 2119   2122   
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
 2120   2123   
similarity index 100%
 2121   2124   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 2122   2125   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 2123   2126   
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
 2124   2127   
new file mode 100644
 2125   2128   
index 0000000..bdb77c9
 2126         -
-- /dev/null
        2129  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 2127   2130   
@@ -0,0 +1,7 @@
        2131  +
GET
        2132  +
/%E1%88%B4
        2133  +
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
        2134  +
host:example.amazonaws.com
        2135  +
        2136  +
host
        2137  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2128   2138   
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
 2129   2139   
new file mode 100644
 2130   2140   
index 0000000..21342b3
 2131         -
-- /dev/null
        2141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 2132   2142   
@@ -0,0 +1 @@
        2143  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 2133   2144   
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
 2134   2145   
new file mode 100644
 2135   2146   
index 0000000..368c2ff
 2136         -
-- /dev/null
        2147  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 2137   2148   
@@ -0,0 +1,3 @@
        2149  +
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
        2150  +
Host:example.amazonaws.com
        2151  +
 2138   2152   
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
 2139   2153   
new file mode 100644
 2140   2154   
index 0000000..56b8fbf
 2141         -
-- /dev/null
        2155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2142   2156   
@@ -0,0 +1,4 @@
        2157  +
AWS4-HMAC-SHA256
        2158  +
20150830T123600Z
        2159  +
20150830/us-east-1/service/aws4_request
        2160  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 2143   2161   
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
 2144   2162   
similarity index 62%
 2145   2163   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 2146   2164   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2147   2165   
index da4808d..9e273f6 100644
 2148         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2166  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2149   2167   
@@ -1,3 +1,2 @@
 2150   2168   
GET /ሴ HTTP/1.1
 2151   2169   
Host:example.amazonaws.com
 2152         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2153   2170   
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
 2154   2171   
new file mode 100644
 2155   2172   
index 0000000..0468d80
 2156         -
-- /dev/null
        2173  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2157   2174   
@@ -0,0 +1,12 @@
        2175  +
{
        2176  +
    "credentials": {
        2177  +
        "access_key_id": "AKIDEXAMPLE",
        2178  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2179  +
    },
        2180  +
    "expiration_in_seconds": 3600,
        2181  +
    "normalize": true,
        2182  +
    "region": "us-east-1",
        2183  +
    "service": "service",
        2184  +
    "sign_body": false,
        2185  +
    "timestamp": "2015-08-30T12:36:00Z"
        2186  +
}
              \
 No newline at end of file
 2158   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2159   2188   
similarity index 100%
 2160   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.creq
 2161   2190   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2162   2191   
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
 2163   2192   
new file mode 100644
 2164   2193   
index 0000000..d7f1c1c
 2165         -
-- /dev/null
        2194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2166   2195   
@@ -0,0 +1 @@
        2196  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2167   2197   
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
 2168   2198   
new file mode 100644
 2169   2199   
index 0000000..1c60790
 2170         -
-- /dev/null
        2200  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2171   2201   
@@ -0,0 +1,5 @@
        2202  +
GET /?Param1=value1 HTTP/1.1
        2203  +
Host:example.amazonaws.com
        2204  +
X-Amz-Date:20150830T123600Z
        2205  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2206  +
 2172   2207   
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
 2173   2208   
similarity index 100%
 2174   2209   
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
 2175   2210   
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
 2176   2211   
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
 2177   2212   
new file mode 100644
 2178   2213   
index 0000000..6a823ed
 2179         -
-- /dev/null
        2214  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2180   2215   
@@ -0,0 +1,7 @@
        2216  +
GET
        2217  +
/
        2218  +
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
        2219  +
host:example.amazonaws.com
        2220  +
        2221  +
host
        2222  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2181   2223   
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
 2182   2224   
new file mode 100644
 2183   2225   
index 0000000..8c77136
 2184         -
-- /dev/null
        2226  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2185   2227   
@@ -0,0 +1 @@
        2228  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2186   2229   
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
 2187   2230   
new file mode 100644
 2188   2231   
index 0000000..2d337d8
 2189         -
-- /dev/null
        2232  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2190   2233   
@@ -0,0 +1,3 @@
        2234  +
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
        2235  +
Host:example.amazonaws.com
        2236  +
 2191   2237   
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
 2192   2238   
new file mode 100644
 2193   2239   
index 0000000..191a484
 2194         -
-- /dev/null
        2240  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2195   2241   
@@ -0,0 +1,4 @@
        2242  +
AWS4-HMAC-SHA256
        2243  +
20150830T123600Z
        2244  +
20150830/us-east-1/service/aws4_request
        2245  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2196   2246   
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
 2197   2247   
similarity index 100%
 2198   2248   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2199   2249   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2200   2250   
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
 2201   2251   
new file mode 100644
 2202   2252   
index 0000000..0468d80
 2203         -
-- /dev/null
        2253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2204   2254   
@@ -0,0 +1,12 @@
        2255  +
{
        2256  +
    "credentials": {
        2257  +
        "access_key_id": "AKIDEXAMPLE",
        2258  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2259  +
    },
        2260  +
    "expiration_in_seconds": 3600,
        2261  +
    "normalize": true,
        2262  +
    "region": "us-east-1",
        2263  +
    "service": "service",
        2264  +
    "sign_body": false,
        2265  +
    "timestamp": "2015-08-30T12:36:00Z"
        2266  +
}
              \
 No newline at end of file
 2205   2267   
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
 2206   2268   
new file mode 100644
 2207   2269   
index 0000000..0c8ba21
 2208         -
-- /dev/null
        2270  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2209   2271   
@@ -0,0 +1,8 @@
        2272  +
GET
        2273  +
/
        2274  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2275  +
host:example.amazonaws.com
        2276  +
x-amz-date:20150830T123600Z
        2277  +
        2278  +
host;x-amz-date
        2279  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2210   2280   
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
 2211   2281   
new file mode 100644
 2212   2282   
index 0000000..9ab65ed
 2213         -
-- /dev/null
        2283  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2214   2284   
@@ -0,0 +1 @@
        2285  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2215   2286   
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
 2216   2287   
new file mode 100644
 2217   2288   
index 0000000..0bcdf98
 2218         -
-- /dev/null
        2289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2219   2290   
@@ -0,0 +1,5 @@
        2291  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2292  +
Host:example.amazonaws.com
        2293  +
X-Amz-Date:20150830T123600Z
        2294  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2295  +
 2220   2296   
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
 2221   2297   
new file mode 100644
 2222   2298   
index 0000000..bf674ad
 2223         -
-- /dev/null
        2299  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2224   2300   
@@ -0,0 +1,4 @@
        2301  +
AWS4-HMAC-SHA256
        2302  +
20150830T123600Z
        2303  +
20150830/us-east-1/service/aws4_request
        2304  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2225   2305   
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
 2226   2306   
new file mode 100644
 2227   2307   
index 0000000..3f590a4
 2228         -
-- /dev/null
        2308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2229   2309   
@@ -0,0 +1,7 @@
        2310  +
GET
        2311  +
/
        2312  +
%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
        2313  +
host:example.amazonaws.com
        2314  +
        2315  +
host
        2316  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2230   2317   
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
 2231   2318   
new file mode 100644
 2232   2319   
index 0000000..e225eab
 2233         -
-- /dev/null
        2320  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2234   2321   
@@ -0,0 +1 @@
        2322  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2235   2323   
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
 2236   2324   
new file mode 100644
 2237   2325   
index 0000000..6206719
 2238         -
-- /dev/null
        2326  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2239   2327   
@@ -0,0 +1,3 @@
        2328  +
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
        2329  +
Host:example.amazonaws.com
        2330  +
 2240   2331   
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
 2241   2332   
new file mode 100644
 2242   2333   
index 0000000..81a4210
 2243         -
-- /dev/null
        2334  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2244   2335   
@@ -0,0 +1,4 @@
        2336  +
AWS4-HMAC-SHA256
        2337  +
20150830T123600Z
        2338  +
20150830/us-east-1/service/aws4_request
        2339  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2245   2340   
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
 2246   2341   
new file mode 100644
 2247   2342   
index 0000000..368c6e3
 2248         -
-- /dev/null
        2343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2249   2344   
@@ -0,0 +1,2 @@
        2345  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2346  +
Host:example.amazonaws.com
 2250   2347   
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
 2251   2348   
new file mode 100644
 2252   2349   
index 0000000..0468d80
 2253         -
-- /dev/null
        2350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2254   2351   
@@ -0,0 +1,12 @@
        2352  +
{
        2353  +
    "credentials": {
        2354  +
        "access_key_id": "AKIDEXAMPLE",
        2355  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2356  +
    },
        2357  +
    "expiration_in_seconds": 3600,
        2358  +
    "normalize": true,
        2359  +
    "region": "us-east-1",
        2360  +
    "service": "service",
        2361  +
    "sign_body": false,
        2362  +
    "timestamp": "2015-08-30T12:36:00Z"
        2363  +
}
              \
 No newline at end of file
 2255   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.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
 2256   2365   
similarity index 100%
 2257   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.creq
 2258   2367   
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
 2259   2368   
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
 2260   2369   
new file mode 100644
 2261   2370   
index 0000000..6a8cb9d
 2262         -
-- /dev/null
        2371  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2263   2372   
@@ -0,0 +1 @@
        2373  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2264   2374   
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
 2265   2375   
new file mode 100644
 2266   2376   
index 0000000..f78a9d2
 2267         -
-- /dev/null
        2377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2268   2378   
@@ -0,0 +1,5 @@
        2379  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2380  +
Host:example.amazonaws.com
        2381  +
X-Amz-Date:20150830T123600Z
        2382  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2383  +
 2269   2384   
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
 2270   2385   
similarity index 100%
 2271   2386   
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
 2272   2387   
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
 2273   2388   
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
 2274   2389   
new file mode 100644
 2275   2390   
index 0000000..a6e1bc7
 2276         -
-- /dev/null
        2391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2277   2392   
@@ -0,0 +1,7 @@
        2393  +
GET
        2394  +
/
        2395  +
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
        2396  +
host:example.amazonaws.com
        2397  +
        2398  +
host
        2399  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2278   2400   
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
 2279   2401   
new file mode 100644
 2280   2402   
index 0000000..d6e6a88
 2281         -
-- /dev/null
        2403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2282   2404   
@@ -0,0 +1 @@
        2405  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2283   2406   
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
 2284   2407   
new file mode 100644
 2285   2408   
index 0000000..538e2f0
 2286         -
-- /dev/null
        2409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2287   2410   
@@ -0,0 +1,3 @@
        2411  +
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
        2412  +
Host:example.amazonaws.com
        2413  +
 2288   2414   
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
 2289   2415   
new file mode 100644
 2290   2416   
index 0000000..e696085
 2291         -
-- /dev/null
        2417  +
++ 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
 2292   2418   
@@ -0,0 +1,4 @@
        2419  +
AWS4-HMAC-SHA256
        2420  +
20150830T123600Z
        2421  +
20150830/us-east-1/service/aws4_request
        2422  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2293   2423   
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
 2294   2424   
similarity index 100%
 2295   2425   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2296   2426   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2297   2427   
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
 2298   2428   
new file mode 100644
 2299   2429   
index 0000000..0468d80
 2300         -
-- /dev/null
        2430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2301   2431   
@@ -0,0 +1,12 @@
        2432  +
{
        2433  +
    "credentials": {
        2434  +
        "access_key_id": "AKIDEXAMPLE",
        2435  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2436  +
    },
        2437  +
    "expiration_in_seconds": 3600,
        2438  +
    "normalize": true,
        2439  +
    "region": "us-east-1",
        2440  +
    "service": "service",
        2441  +
    "sign_body": false,
        2442  +
    "timestamp": "2015-08-30T12:36:00Z"
        2443  +
}
              \
 No newline at end of file
 2302   2444   
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
 2303   2445   
similarity index 100%
 2304   2446   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2305   2447   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2306   2448   
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
 2307   2449   
new file mode 100644
 2308   2450   
index 0000000..876a64b
 2309         -
-- /dev/null
        2451  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2310   2452   
@@ -0,0 +1 @@
        2453  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2311   2454   
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
 2312   2455   
similarity index 50%
 2313   2456   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2314   2457   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2315   2458   
index ba1ef40..9d0d993 100644
 2316         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2459  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2317   2460   
@@ -1,4 +1,5 @@
 2318   2461   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2319   2462   
Host:example.amazonaws.com
 2320   2463   
X-Amz-Date:20150830T123600Z
 2321         -
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
        2464  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2465  +
 2322   2466   
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
 2323   2467   
similarity index 100%
 2324   2468   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2325   2469   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2326   2470   
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
 2327   2471   
new file mode 100644
 2328   2472   
index 0000000..a1bac59
 2329         -
-- /dev/null
        2473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2330   2474   
@@ -0,0 +1,7 @@
        2475  +
GET
        2476  +
/
        2477  +
-._~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
        2478  +
host:example.amazonaws.com
        2479  +
        2480  +
host
        2481  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2331   2482   
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
 2332   2483   
new file mode 100644
 2333   2484   
index 0000000..41881e9
 2334         -
-- /dev/null
        2485  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2335   2486   
@@ -0,0 +1 @@
        2487  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2336   2488   
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
 2337   2489   
new file mode 100644
 2338   2490   
index 0000000..3179076
 2339         -
-- /dev/null
        2491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2340   2492   
@@ -0,0 +1,3 @@
        2493  +
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
        2494  +
Host:example.amazonaws.com
        2495  +
 2341   2496   
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
 2342   2497   
new file mode 100644
 2343   2498   
index 0000000..6d675fc
 2344         -
-- /dev/null
        2499  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2345   2500   
@@ -0,0 +1,4 @@
        2501  +
AWS4-HMAC-SHA256
        2502  +
20150830T123600Z
        2503  +
20150830/us-east-1/service/aws4_request
        2504  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2346   2505   
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
 2347   2506   
similarity index 100%
 2348   2507   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2349   2508   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2350   2509   
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
 2351   2510   
new file mode 100644
 2352   2511   
index 0000000..0468d80
 2353         -
-- /dev/null
        2512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2354   2513   
@@ -0,0 +1,12 @@
        2514  +
{
        2515  +
    "credentials": {
        2516  +
        "access_key_id": "AKIDEXAMPLE",
        2517  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2518  +
    },
        2519  +
    "expiration_in_seconds": 3600,
        2520  +
    "normalize": true,
        2521  +
    "region": "us-east-1",
        2522  +
    "service": "service",
        2523  +
    "sign_body": false,
        2524  +
    "timestamp": "2015-08-30T12:36:00Z"
        2525  +
}
              \
 No newline at end of file
 2355   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2356   2527   
similarity index 100%
 2357   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.creq
 2358   2529   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2359   2530   
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
 2360   2531   
new file mode 100644
 2361   2532   
index 0000000..87f295f
 2362         -
-- /dev/null
        2533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2363   2534   
@@ -0,0 +1 @@
        2535  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2364   2536   
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
 2365   2537   
new file mode 100644
 2366   2538   
index 0000000..36b86e7
 2367         -
-- /dev/null
        2539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2368   2540   
@@ -0,0 +1,5 @@
        2541  +
GET / HTTP/1.1
        2542  +
Host:example.amazonaws.com
        2543  +
X-Amz-Date:20150830T123600Z
        2544  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2545  +
 2369   2546   
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
 2370   2547   
similarity index 100%
 2371   2548   
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
 2372   2549   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2373   2550   
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
 2374   2551   
new file mode 100644
 2375   2552   
index 0000000..fb2420d
 2376         -
-- /dev/null
        2553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2377   2554   
@@ -0,0 +1,7 @@
        2555  +
GET
        2556  +
/
        2557  +
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
        2558  +
host:example.amazonaws.com
        2559  +
        2560  +
host
        2561  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2378   2562   
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
 2379   2563   
new file mode 100644
 2380   2564   
index 0000000..da5c905
 2381         -
-- /dev/null
        2565  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2382   2566   
@@ -0,0 +1 @@
        2567  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2383   2568   
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
 2384   2569   
new file mode 100644
 2385   2570   
index 0000000..eeb7a8f
 2386         -
-- /dev/null
        2571  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2387   2572   
@@ -0,0 +1,3 @@
        2573  +
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
        2574  +
Host:example.amazonaws.com
        2575  +
 2388   2576   
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
 2389   2577   
new file mode 100644
 2390   2578   
index 0000000..d837e67
 2391         -
-- /dev/null
        2579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2392   2580   
@@ -0,0 +1,4 @@
        2581  +
AWS4-HMAC-SHA256
        2582  +
20150830T123600Z
        2583  +
20150830/us-east-1/service/aws4_request
        2584  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2393   2585   
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
 2394   2586   
similarity index 100%
 2395   2587   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2396   2588   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2397   2589   
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
 2398   2590   
new file mode 100644
 2399   2591   
index 0000000..0468d80
 2400         -
-- /dev/null
        2592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2401   2593   
@@ -0,0 +1,12 @@
        2594  +
{
        2595  +
    "credentials": {
        2596  +
        "access_key_id": "AKIDEXAMPLE",
        2597  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2598  +
    },
        2599  +
    "expiration_in_seconds": 3600,
        2600  +
    "normalize": true,
        2601  +
    "region": "us-east-1",
        2602  +
    "service": "service",
        2603  +
    "sign_body": false,
        2604  +
    "timestamp": "2015-08-30T12:36:00Z"
        2605  +
}
              \
 No newline at end of file
 2402   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2403   2607   
similarity index 100%
 2404   2608   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2405   2609   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2406   2610   
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
 2407   2611   
new file mode 100644
 2408   2612   
index 0000000..19a2cc9
 2409         -
-- /dev/null
        2613  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2410   2614   
@@ -0,0 +1 @@
        2615  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2411   2616   
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
 2412   2617   
new file mode 100644
 2413   2618   
index 0000000..acb13ee
 2414         -
-- /dev/null
        2619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2415   2620   
@@ -0,0 +1,5 @@
        2621  +
GET /?ሴ=bar HTTP/1.1
        2622  +
Host:example.amazonaws.com
        2623  +
X-Amz-Date:20150830T123600Z
        2624  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2625  +
 2416   2626   
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
 2417   2627   
similarity index 100%
 2418   2628   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2419   2629   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2420   2630   
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
 2421   2631   
new file mode 100644
 2422   2632   
index 0000000..92cee62
 2423         -
-- /dev/null
        2633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2424   2634   
@@ -0,0 +1,7 @@
        2635  +
GET
        2636  +
/
        2637  +
%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
        2638  +
host:example.amazonaws.com
        2639  +
        2640  +
host
        2641  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2425   2642   
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
 2426   2643   
new file mode 100644
 2427   2644   
index 0000000..c9e49de
 2428         -
-- /dev/null
        2645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2429   2646   
@@ -0,0 +1 @@
        2647  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2430   2648   
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
 2431   2649   
new file mode 100644
 2432   2650   
index 0000000..8f4d8d0
 2433         -
-- /dev/null
        2651  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2434   2652   
@@ -0,0 +1,3 @@
        2653  +
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
        2654  +
Host:example.amazonaws.com
        2655  +
 2435   2656   
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
 2436   2657   
new file mode 100644
 2437   2658   
index 0000000..a6181dc
 2438         -
-- /dev/null
        2659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2439   2660   
@@ -0,0 +1,4 @@
        2661  +
AWS4-HMAC-SHA256
        2662  +
20150830T123600Z
        2663  +
20150830/us-east-1/service/aws4_request
        2664  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2440   2665   
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
 2441   2666   
similarity index 64%
 2442   2667   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2443   2668   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2444   2669   
index cc2757e..aff333a 100644
 2445         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2446   2671   
@@ -1,3 +1,2 @@
 2447   2672   
GET /?ሴ=bar HTTP/1.1
 2448   2673   
Host:example.amazonaws.com
 2449         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2450   2674   
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
 2451   2675   
similarity index 99%
 2452   2676   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2453   2677   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2454   2678   
index a457c8a..a334e18 100644
 2455         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
        2679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2456   2680   
@@ -1,13 +1,13 @@
 2457   2681   
{
 2458   2682   
    "credentials": {
 2459   2683   
        "access_key_id": "AKIDEXAMPLE",
 2460   2684   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
 2461   2685   
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
 2462   2686   
    },
 2463   2687   
    "expiration_in_seconds": 3600,
 2464   2688   
    "normalize": true,
 2465   2689   
    "region": "us-east-1",
 2466   2690   
    "service": "service",
 2467   2691   
    "sign_body": false,
 2468   2692   
    "timestamp": "2015-08-30T12:36:00Z"
 2469         -
}
        2693  +
}
              \
 No newline at end of file
 2470   2694   
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
 2471   2695   
new file mode 100644
 2472   2696   
index 0000000..ccacdeb
 2473         -
-- /dev/null
        2697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2474   2698   
@@ -0,0 +1,9 @@
        2699  +
GET
        2700  +
/
        2701  +
        2702  +
host:example.amazonaws.com
        2703  +
x-amz-date:20150830T123600Z
        2704  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2705  +
        2706  +
host;x-amz-date;x-amz-security-token
        2707  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2475   2708   
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
 2476   2709   
new file mode 100644
 2477   2710   
index 0000000..083e30d
 2478         -
-- /dev/null
        2711  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2479   2712   
@@ -0,0 +1 @@
        2713  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2480   2714   
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
 2481   2715   
new file mode 100644
 2482   2716   
index 0000000..5287932
 2483         -
-- /dev/null
        2717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2484   2718   
@@ -0,0 +1,6 @@
        2719  +
GET / HTTP/1.1
        2720  +
Host:example.amazonaws.com
        2721  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2722  +
X-Amz-Date:20150830T123600Z
        2723  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2724  +
 2485   2725   
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
 2486   2726   
new file mode 100644
 2487   2727   
index 0000000..742b880
 2488         -
-- /dev/null
        2728  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2489   2729   
@@ -0,0 +1,4 @@
        2730  +
AWS4-HMAC-SHA256
        2731  +
20150830T123600Z
        2732  +
20150830/us-east-1/service/aws4_request
        2733  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2490   2734   
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
 2491   2735   
new file mode 100644
 2492   2736   
index 0000000..5e75179
 2493         -
-- /dev/null
        2737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2494   2738   
@@ -0,0 +1,7 @@
        2739  +
GET
        2740  +
/
        2741  +
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
        2742  +
host:example.amazonaws.com
        2743  +
        2744  +
host
        2745  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2495   2746   
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
 2496   2747   
new file mode 100644
 2497   2748   
index 0000000..50b947f
 2498         -
-- /dev/null
        2749  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2499   2750   
@@ -0,0 +1 @@
        2751  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2500   2752   
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
 2501   2753   
new file mode 100644
 2502   2754   
index 0000000..aee910b
 2503         -
-- /dev/null
        2755  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2504   2756   
@@ -0,0 +1,3 @@
        2757  +
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
        2758  +
Host:example.amazonaws.com
        2759  +
 2505   2760   
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
 2506   2761   
new file mode 100644
 2507   2762   
index 0000000..04a6c17
 2508         -
-- /dev/null
        2763  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2509   2764   
@@ -0,0 +1,4 @@
        2765  +
AWS4-HMAC-SHA256
        2766  +
20150830T123600Z
        2767  +
20150830/us-east-1/service/aws4_request
        2768  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2510   2769   
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
 2511   2770   
similarity index 100%
 2512   2771   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2513   2772   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2514   2773   
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
 2515   2774   
new file mode 100644
 2516   2775   
index 0000000..0468d80
 2517         -
-- /dev/null
        2776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2518   2777   
@@ -0,0 +1,12 @@
        2778  +
{
        2779  +
    "credentials": {
        2780  +
        "access_key_id": "AKIDEXAMPLE",
        2781  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2782  +
    },
        2783  +
    "expiration_in_seconds": 3600,
        2784  +
    "normalize": true,
        2785  +
    "region": "us-east-1",
        2786  +
    "service": "service",
        2787  +
    "sign_body": false,
        2788  +
    "timestamp": "2015-08-30T12:36:00Z"
        2789  +
}
              \
 No newline at end of file
 2519   2790   
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
 2520   2791   
similarity index 100%
 2521   2792   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2522   2793   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2523   2794   
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
 2524   2795   
new file mode 100644
 2525   2796   
index 0000000..87f295f
 2526         -
-- /dev/null
        2797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2527   2798   
@@ -0,0 +1 @@
        2799  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2528   2800   
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
 2529   2801   
new file mode 100644
 2530   2802   
index 0000000..36b86e7
 2531         -
-- /dev/null
        2803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2532   2804   
@@ -0,0 +1,5 @@
        2805  +
GET / HTTP/1.1
        2806  +
Host:example.amazonaws.com
        2807  +
X-Amz-Date:20150830T123600Z
        2808  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2809  +
 2533   2810   
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
 2534   2811   
similarity index 100%
 2535   2812   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2536   2813   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2537   2814   
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
 2538   2815   
new file mode 100644
 2539   2816   
index 0000000..fb2420d
 2540         -
-- /dev/null
        2817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2541   2818   
@@ -0,0 +1,7 @@
        2819  +
GET
        2820  +
/
        2821  +
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
        2822  +
host:example.amazonaws.com
        2823  +
        2824  +
host
        2825  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2542   2826   
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
 2543   2827   
new file mode 100644
 2544   2828   
index 0000000..da5c905
 2545         -
-- /dev/null
        2829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2546   2830   
@@ -0,0 +1 @@
        2831  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2547   2832   
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
 2548   2833   
new file mode 100644
 2549   2834   
index 0000000..eeb7a8f
 2550         -
-- /dev/null
        2835  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2551   2836   
@@ -0,0 +1,3 @@
        2837  +
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
        2838  +
Host:example.amazonaws.com
        2839  +
 2552   2840   
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
 2553   2841   
new file mode 100644
 2554   2842   
index 0000000..d837e67
 2555         -
-- /dev/null
        2843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2556   2844   
@@ -0,0 +1,4 @@
        2845  +
AWS4-HMAC-SHA256
        2846  +
20150830T123600Z
        2847  +
20150830/us-east-1/service/aws4_request
        2848  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2557   2849   
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
 2558   2850   
similarity index 100%
 2559   2851   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2560   2852   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2561   2853   
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
 2562   2854   
new file mode 100644
 2563   2855   
index 0000000..0468d80
 2564         -
-- /dev/null
        2856  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2565   2857   
@@ -0,0 +1,12 @@
        2858  +
{
        2859  +
    "credentials": {
        2860  +
        "access_key_id": "AKIDEXAMPLE",
        2861  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2862  +
    },
        2863  +
    "expiration_in_seconds": 3600,
        2864  +
    "normalize": true,
        2865  +
    "region": "us-east-1",
        2866  +
    "service": "service",
        2867  +
    "sign_body": false,
        2868  +
    "timestamp": "2015-08-30T12:36:00Z"
        2869  +
}
              \
 No newline at end of file
 2566   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2567   2871   
similarity index 100%
 2568   2872   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2569   2873   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2570   2874   
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
 2571   2875   
new file mode 100644
 2572   2876   
index 0000000..629487f
 2573         -
-- /dev/null
        2877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2574   2878   
@@ -0,0 +1 @@
        2879  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2575   2880   
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
 2576   2881   
new file mode 100644
 2577   2882   
index 0000000..0d99b1c
 2578         -
-- /dev/null
        2883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2579   2884   
@@ -0,0 +1,5 @@
        2885  +
POST / HTTP/1.1
        2886  +
Host:example.amazonaws.com
        2887  +
X-Amz-Date:20150830T123600Z
        2888  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2889  +
 2580   2890   
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
 2581   2891   
similarity index 100%
 2582   2892   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2583   2893   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2584   2894   
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
 2585   2895   
new file mode 100644
 2586   2896   
index 0000000..d3341e7
 2587         -
-- /dev/null
        2897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2588   2898   
@@ -0,0 +1,7 @@
        2899  +
POST
        2900  +
/
        2901  +
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
        2902  +
host:example.amazonaws.com
        2903  +
        2904  +
host
        2905  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2589   2906   
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
 2590   2907   
new file mode 100644
 2591   2908   
index 0000000..79f7e0d
 2592         -
-- /dev/null
        2909  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2593   2910   
@@ -0,0 +1 @@
        2911  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2594   2912   
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
 2595   2913   
new file mode 100644
 2596   2914   
index 0000000..94f1b21
 2597         -
-- /dev/null
        2915  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2598   2916   
@@ -0,0 +1,3 @@
        2917  +
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
        2918  +
Host:example.amazonaws.com
        2919  +
 2599   2920   
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
 2600   2921   
new file mode 100644
 2601   2922   
index 0000000..e8f335b
 2602         -
-- /dev/null
        2923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2603   2924   
@@ -0,0 +1,4 @@
        2925  +
AWS4-HMAC-SHA256
        2926  +
20150830T123600Z
        2927  +
20150830/us-east-1/service/aws4_request
        2928  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2604   2929   
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
 2605   2930   
similarity index 100%
 2606   2931   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2607   2932   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2608   2933   
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
 2609   2934   
new file mode 100644
 2610   2935   
index 0000000..0468d80
 2611         -
-- /dev/null
        2936  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2612   2937   
@@ -0,0 +1,12 @@
        2938  +
{
        2939  +
    "credentials": {
        2940  +
        "access_key_id": "AKIDEXAMPLE",
        2941  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2942  +
    },
        2943  +
    "expiration_in_seconds": 3600,
        2944  +
    "normalize": true,
        2945  +
    "region": "us-east-1",
        2946  +
    "service": "service",
        2947  +
    "sign_body": false,
        2948  +
    "timestamp": "2015-08-30T12:36:00Z"
        2949  +
}
              \
 No newline at end of file
 2613   2950   
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
 2614   2951   
similarity index 100%
 2615   2952   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2616   2953   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2617   2954   
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
 2618   2955   
new file mode 100644
 2619   2956   
index 0000000..e4e6428
 2620         -
-- /dev/null
        2957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2621   2958   
@@ -0,0 +1 @@
        2959  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2622   2960   
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
 2623   2961   
new file mode 100644
 2624   2962   
index 0000000..e3778f5
 2625         -
-- /dev/null
        2963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2626   2964   
@@ -0,0 +1,6 @@
        2965  +
POST / HTTP/1.1
        2966  +
Host:example.amazonaws.com
        2967  +
My-Header1:value1
        2968  +
X-Amz-Date:20150830T123600Z
        2969  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2970  +
 2627   2971   
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
 2628   2972   
similarity index 100%
 2629   2973   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2630   2974   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2631   2975   
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
 2632   2976   
new file mode 100644
 2633   2977   
index 0000000..bd7c937
 2634         -
-- /dev/null
        2978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2635   2979   
@@ -0,0 +1,8 @@
        2980  +
POST
        2981  +
/
        2982  +
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
        2983  +
host:example.amazonaws.com
        2984  +
my-header1:value1
        2985  +
        2986  +
host;my-header1
        2987  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2636   2988   
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
 2637   2989   
new file mode 100644
 2638   2990   
index 0000000..0416f13
 2639         -
-- /dev/null
        2991  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2640   2992   
@@ -0,0 +1 @@
        2993  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2641   2994   
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
 2642   2995   
new file mode 100644
 2643   2996   
index 0000000..5e6522f
 2644         -
-- /dev/null
        2997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2645   2998   
@@ -0,0 +1,4 @@
        2999  +
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
        3000  +
Host:example.amazonaws.com
        3001  +
My-Header1:value1
        3002  +
 2646   3003   
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
 2647   3004   
new file mode 100644
 2648   3005   
index 0000000..d06d1df
 2649         -
-- /dev/null
        3006  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2650   3007   
@@ -0,0 +1,4 @@
        3008  +
AWS4-HMAC-SHA256
        3009  +
20150830T123600Z
        3010  +
20150830/us-east-1/service/aws4_request
        3011  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2651   3012   
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
 2652   3013   
similarity index 100%
 2653   3014   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2654   3015   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2655   3016   
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
 2656   3017   
new file mode 100644
 2657   3018   
index 0000000..0468d80
 2658         -
-- /dev/null
        3019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2659   3020   
@@ -0,0 +1,12 @@
        3021  +
{
        3022  +
    "credentials": {
        3023  +
        "access_key_id": "AKIDEXAMPLE",
        3024  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3025  +
    },
        3026  +
    "expiration_in_seconds": 3600,
        3027  +
    "normalize": true,
        3028  +
    "region": "us-east-1",
        3029  +
    "service": "service",
        3030  +
    "sign_body": false,
        3031  +
    "timestamp": "2015-08-30T12:36:00Z"
        3032  +
}
              \
 No newline at end of file
 2660   3033   
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
 2661   3034   
similarity index 100%
 2662   3035   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2663   3036   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2664   3037   
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
 2665   3038   
new file mode 100644
 2666   3039   
index 0000000..bb3809c
 2667         -
-- /dev/null
        3040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2668   3041   
@@ -0,0 +1 @@
        3042  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2669   3043   
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
 2670   3044   
new file mode 100644
 2671   3045   
index 0000000..10f6761
 2672         -
-- /dev/null
        3046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2673   3047   
@@ -0,0 +1,6 @@
        3048  +
POST / HTTP/1.1
        3049  +
Host:example.amazonaws.com
        3050  +
My-Header1:VALUE1
        3051  +
X-Amz-Date:20150830T123600Z
        3052  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        3053  +
 2674   3054   
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
 2675   3055   
similarity index 100%
 2676   3056   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2677   3057   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2678   3058   
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
 2679   3059   
new file mode 100644
 2680   3060   
index 0000000..f84856f
 2681         -
-- /dev/null
        3061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2682   3062   
@@ -0,0 +1,8 @@
        3063  +
POST
        3064  +
/
        3065  +
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
        3066  +
host:example.amazonaws.com
        3067  +
my-header1:VALUE1
        3068  +
        3069  +
host;my-header1
        3070  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2683   3071   
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
 2684   3072   
new file mode 100644
 2685   3073   
index 0000000..a9d3cac
 2686         -
-- /dev/null
        3074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2687   3075   
@@ -0,0 +1 @@
        3076  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2688   3077   
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
 2689   3078   
new file mode 100644
 2690   3079   
index 0000000..cf96c7c
 2691         -
-- /dev/null
        3080  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2692   3081   
@@ -0,0 +1,4 @@
        3082  +
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
        3083  +
Host:example.amazonaws.com
        3084  +
My-Header1:VALUE1
        3085  +
 2693   3086   
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
 2694   3087   
new file mode 100644
 2695   3088   
index 0000000..47ef566
 2696         -
-- /dev/null
        3089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2697   3090   
@@ -0,0 +1,4 @@
        3091  +
AWS4-HMAC-SHA256
        3092  +
20150830T123600Z
        3093  +
20150830/us-east-1/service/aws4_request
        3094  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2698   3095   
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
 2699   3096   
similarity index 100%
 2700   3097   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2701   3098   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2702   3099   
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
 2703   3100   
similarity index 100%
 2704   3101   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2705   3102   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2706   3103   
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
 2707   3104   
similarity index 100%
 2708   3105   
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
 2709   3106   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2710   3107   
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
 2711   3108   
new file mode 100644
 2712   3109   
index 0000000..629487f
 2713         -
-- /dev/null
        3110  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2714   3111   
@@ -0,0 +1 @@
        3112  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2715   3113   
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
 2716   3114   
similarity index 67%
 2717   3115   
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
 2718   3116   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2719   3117   
index 291ed07..f96ff9e 100644
 2720         -
-- 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
        3118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2721   3119   
@@ -1,5 +1,6 @@
 2722   3120   
POST / HTTP/1.1
 2723   3121   
Host:example.amazonaws.com
 2724         -
X-Amz-Date:20150830T123600Z
 2725   3122   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2726         -
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
        3123  +
X-Amz-Date:20150830T123600Z
        3124  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3125  +
 2727   3126   
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
 2728   3127   
similarity index 100%
 2729   3128   
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
 2730   3129   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2731   3130   
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
 2732   3131   
new file mode 100644
 2733   3132   
index 0000000..d3341e7
 2734         -
-- /dev/null
        3133  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2735   3134   
@@ -0,0 +1,7 @@
        3135  +
POST
        3136  +
/
        3137  +
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
        3138  +
host:example.amazonaws.com
        3139  +
        3140  +
host
        3141  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2736   3142   
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
 2737   3143   
new file mode 100644
 2738   3144   
index 0000000..79f7e0d
 2739         -
-- /dev/null
        3145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2740   3146   
@@ -0,0 +1 @@
        3147  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2741   3148   
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
 2742   3149   
new file mode 100644
 2743   3150   
index 0000000..4983268
 2744         -
-- /dev/null
        3151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2745   3152   
@@ -0,0 +1,3 @@
        3153  +
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
        3154  +
Host:example.amazonaws.com
        3155  +
 2746   3156   
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
 2747   3157   
new file mode 100644
 2748   3158   
index 0000000..e8f335b
 2749         -
-- /dev/null
        3159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2750   3160   
@@ -0,0 +1,4 @@
        3161  +
AWS4-HMAC-SHA256
        3162  +
20150830T123600Z
        3163  +
20150830/us-east-1/service/aws4_request
        3164  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2751   3165   
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
 2752   3166   
similarity index 100%
 2753   3167   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2754   3168   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2755   3169   
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
 2756   3170   
similarity index 100%
 2757   3171   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2758   3172   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2759   3173   
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
 2760   3174   
similarity index 100%
 2761   3175   
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
 2762   3176   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2763   3177   
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
 2764   3178   
new file mode 100644
 2765   3179   
index 0000000..85a7c29
 2766         -
-- /dev/null
        3180  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2767   3181   
@@ -0,0 +1 @@
        3182  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2768   3183   
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
 2769   3184   
similarity index 65%
 2770   3185   
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
 2771   3186   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2772   3187   
index 37b2f04..4d0b143 100644
 2773         -
-- 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
        3188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2774   3189   
@@ -1,5 +1,6 @@
 2775   3190   
POST / HTTP/1.1
 2776   3191   
Host:example.amazonaws.com
 2777         -
X-Amz-Date:20150830T123600Z
 2778   3192   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2779         -
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
        3193  +
X-Amz-Date:20150830T123600Z
        3194  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3195  +
 2780   3196   
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
 2781   3197   
similarity index 100%
 2782   3198   
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
 2783   3199   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2784   3200   
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
 2785   3201   
new file mode 100644
 2786   3202   
index 0000000..57a7bc3
 2787         -
-- /dev/null
        3203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2788   3204   
@@ -0,0 +1,7 @@
        3205  +
POST
        3206  +
/
        3207  +
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
        3208  +
host:example.amazonaws.com
        3209  +
        3210  +
host
        3211  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2789   3212   
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
 2790   3213   
new file mode 100644
 2791   3214   
index 0000000..eb905d2
 2792         -
-- /dev/null
        3215  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2793   3216   
@@ -0,0 +1 @@
        3217  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2794   3218   
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
 2795   3219   
new file mode 100644
 2796   3220   
index 0000000..1d80ec0
 2797         -
-- /dev/null
        3221  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2798   3222   
@@ -0,0 +1,3 @@
        3223  +
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
        3224  +
Host:example.amazonaws.com
        3225  +
 2799   3226   
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
 2800   3227   
new file mode 100644
 2801   3228   
index 0000000..bd0239a
 2802         -
-- /dev/null
        3229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2803   3230   
@@ -0,0 +1,4 @@
        3231  +
AWS4-HMAC-SHA256
        3232  +
20150830T123600Z
        3233  +
20150830/us-east-1/service/aws4_request
        3234  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2804   3235   
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
 2805   3236   
similarity index 100%
 2806   3237   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2807   3238   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2808   3239   
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
 2809   3240   
new file mode 100644
 2810   3241   
index 0000000..0468d80
 2811         -
-- /dev/null
        3242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2812   3243   
@@ -0,0 +1,12 @@
        3244  +
{
        3245  +
    "credentials": {
        3246  +
        "access_key_id": "AKIDEXAMPLE",
        3247  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3248  +
    },
        3249  +
    "expiration_in_seconds": 3600,
        3250  +
    "normalize": true,
        3251  +
    "region": "us-east-1",
        3252  +
    "service": "service",
        3253  +
    "sign_body": false,
        3254  +
    "timestamp": "2015-08-30T12:36:00Z"
        3255  +
}
              \
 No newline at end of file
 2813   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2814   3257   
similarity index 100%
 2815   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.creq
 2816   3259   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2817   3260   
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
 2818   3261   
new file mode 100644
 2819   3262   
index 0000000..80ed433
 2820         -
-- /dev/null
        3263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2821   3264   
@@ -0,0 +1 @@
        3265  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2822   3266   
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
 2823   3267   
new file mode 100644
 2824   3268   
index 0000000..4e614f8
 2825         -
-- /dev/null
        3269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2826   3270   
@@ -0,0 +1,5 @@
        3271  +
POST /?Param1=value1 HTTP/1.1
        3272  +
Host:example.amazonaws.com
        3273  +
X-Amz-Date:20150830T123600Z
        3274  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3275  +
 2827   3276   
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
 2828   3277   
similarity index 100%
 2829   3278   
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
 2830   3279   
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
 2831   3280   
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
 2832   3281   
new file mode 100644
 2833   3282   
index 0000000..be66403
 2834         -
-- /dev/null
        3283  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2835   3284   
@@ -0,0 +1,7 @@
        3285  +
POST
        3286  +
/
        3287  +
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
        3288  +
host:example.amazonaws.com
        3289  +
        3290  +
host
        3291  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2836   3292   
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
 2837   3293   
new file mode 100644
 2838   3294   
index 0000000..20fd32b
 2839         -
-- /dev/null
        3295  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2840   3296   
@@ -0,0 +1 @@
        3297  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2841   3298   
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
 2842   3299   
new file mode 100644
 2843   3300   
index 0000000..d1148d0
 2844         -
-- /dev/null
        3301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2845   3302   
@@ -0,0 +1,3 @@
        3303  +
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
        3304  +
Host:example.amazonaws.com
        3305  +
 2846   3306   
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
 2847   3307   
new file mode 100644
 2848   3308   
index 0000000..1a77103
 2849         -
-- /dev/null
        3309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2850   3310   
@@ -0,0 +1,4 @@
        3311  +
AWS4-HMAC-SHA256
        3312  +
20150830T123600Z
        3313  +
20150830/us-east-1/service/aws4_request
        3314  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2851   3315   
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
 2852   3316   
similarity index 100%
 2853   3317   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2854   3318   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2855   3319   
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
 2856   3320   
new file mode 100644
 2857   3321   
index 0000000..0468d80
 2858         -
-- /dev/null
        3322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2859   3323   
@@ -0,0 +1,12 @@
        3324  +
{
        3325  +
    "credentials": {
        3326  +
        "access_key_id": "AKIDEXAMPLE",
        3327  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3328  +
    },
        3329  +
    "expiration_in_seconds": 3600,
        3330  +
    "normalize": true,
        3331  +
    "region": "us-east-1",
        3332  +
    "service": "service",
        3333  +
    "sign_body": false,
        3334  +
    "timestamp": "2015-08-30T12:36:00Z"
        3335  +
}
              \
 No newline at end of file
 2860   3336   
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
 2861   3337   
similarity index 100%
 2862   3338   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2863   3339   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2864   3340   
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
 2865   3341   
new file mode 100644
 2866   3342   
index 0000000..80ed433
 2867         -
-- /dev/null
        3343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2868   3344   
@@ -0,0 +1 @@
        3345  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2869   3346   
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
 2870   3347   
new file mode 100644
 2871   3348   
index 0000000..4e614f8
 2872         -
-- /dev/null
        3349  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2873   3350   
@@ -0,0 +1,5 @@
        3351  +
POST /?Param1=value1 HTTP/1.1
        3352  +
Host:example.amazonaws.com
        3353  +
X-Amz-Date:20150830T123600Z
        3354  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3355  +
 2874   3356   
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
 2875   3357   
similarity index 100%
 2876   3358   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2877   3359   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2878   3360   
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
 2879   3361   
new file mode 100644
 2880   3362   
index 0000000..be66403
 2881         -
-- /dev/null
        3363  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2882   3364   
@@ -0,0 +1,7 @@
        3365  +
POST
        3366  +
/
        3367  +
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
        3368  +
host:example.amazonaws.com
        3369  +
        3370  +
host
        3371  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2883   3372   
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
 2884   3373   
new file mode 100644
 2885   3374   
index 0000000..20fd32b
 2886         -
-- /dev/null
        3375  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2887   3376   
@@ -0,0 +1 @@
        3377  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2888   3378   
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
 2889   3379   
new file mode 100644
 2890   3380   
index 0000000..d1148d0
 2891         -
-- /dev/null
        3381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2892   3382   
@@ -0,0 +1,3 @@
        3383  +
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
        3384  +
Host:example.amazonaws.com
        3385  +
 2893   3386   
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
 2894   3387   
new file mode 100644
 2895   3388   
index 0000000..1a77103
 2896         -
-- /dev/null
        3389  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2897   3390   
@@ -0,0 +1,4 @@
        3391  +
AWS4-HMAC-SHA256
        3392  +
20150830T123600Z
        3393  +
20150830/us-east-1/service/aws4_request
        3394  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2898   3395   
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
 2899   3396   
similarity index 100%
 2900   3397   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2901   3398   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2902   3399   
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
 2903   3400   
new file mode 100644
 2904   3401   
index 0000000..0468d80
 2905         -
-- /dev/null
        3402  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2906   3403   
@@ -0,0 +1,12 @@
        3404  +
{
        3405  +
    "credentials": {
        3406  +
        "access_key_id": "AKIDEXAMPLE",
        3407  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3408  +
    },
        3409  +
    "expiration_in_seconds": 3600,
        3410  +
    "normalize": true,
        3411  +
    "region": "us-east-1",
        3412  +
    "service": "service",
        3413  +
    "sign_body": false,
        3414  +
    "timestamp": "2015-08-30T12:36:00Z"
        3415  +
}
              \
 No newline at end of file
 2907   3416   
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
 2908   3417   
similarity index 100%
 2909   3418   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2910   3419   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2911   3420   
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
 2912   3421   
new file mode 100644
 2913   3422   
index 0000000..629487f
 2914         -
-- /dev/null
        3423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2915   3424   
@@ -0,0 +1 @@
        3425  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2916   3426   
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
 2917   3427   
new file mode 100644
 2918   3428   
index 0000000..0d99b1c
 2919         -
-- /dev/null
        3429  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2920   3430   
@@ -0,0 +1,5 @@
        3431  +
POST / HTTP/1.1
        3432  +
Host:example.amazonaws.com
        3433  +
X-Amz-Date:20150830T123600Z
        3434  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3435  +
 2921   3436   
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
 2922   3437   
similarity index 100%
 2923   3438   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2924   3439   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2925   3440   
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
 2926   3441   
new file mode 100644
 2927   3442   
index 0000000..d3341e7
 2928         -
-- /dev/null
        3443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2929   3444   
@@ -0,0 +1,7 @@
        3445  +
POST
        3446  +
/
        3447  +
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
        3448  +
host:example.amazonaws.com
        3449  +
        3450  +
host
        3451  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2930   3452   
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
 2931   3453   
new file mode 100644
 2932   3454   
index 0000000..79f7e0d
 2933         -
-- /dev/null
        3455  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2934   3456   
@@ -0,0 +1 @@
        3457  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2935   3458   
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
 2936   3459   
new file mode 100644
 2937   3460   
index 0000000..94f1b21
 2938         -
-- /dev/null
        3461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2939   3462   
@@ -0,0 +1,3 @@
        3463  +
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
        3464  +
Host:example.amazonaws.com
        3465  +
 2940   3466   
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
 2941   3467   
new file mode 100644
 2942   3468   
index 0000000..e8f335b
 2943         -
-- /dev/null
        3469  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2944   3470   
@@ -0,0 +1,4 @@
        3471  +
AWS4-HMAC-SHA256
        3472  +
20150830T123600Z
        3473  +
20150830/us-east-1/service/aws4_request
        3474  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2945   3475   
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
 2946   3476   
similarity index 100%
 2947   3477   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2948   3478   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2949   3479   
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
 2950   3480   
similarity index 99%
 2951   3481   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2952   3482   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2953   3483   
index fc4bce6..0db1df1 100644
 2954         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
        3484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2955   3485   
@@ -1,12 +1,12 @@
 2956   3486   
{
 2957   3487   
    "credentials": {
 2958   3488   
        "access_key_id": "AKIDEXAMPLE",
 2959   3489   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 2960   3490   
    },
 2961   3491   
    "expiration_in_seconds": 3600,
 2962   3492   
    "normalize": true,
 2963   3493   
    "region": "us-east-1",
 2964   3494   
    "service": "service",
 2965   3495   
    "sign_body": true,
 2966   3496   
    "timestamp": "2015-08-30T12:36:00Z"
 2967         -
}
        3497  +
}
              \
 No newline at end of file
 2968   3498   
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
 2969   3499   
new file mode 100644
 2970   3500   
index 0000000..c218fdf
 2971         -
-- /dev/null
        3501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2972   3502   
@@ -0,0 +1,11 @@
        3503  +
POST
        3504  +
/
        3505  +
        3506  +
content-length:13
        3507  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3508  +
host:example.amazonaws.com
        3509  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3510  +
x-amz-date:20150830T123600Z
        3511  +
        3512  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3513  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2973   3514   
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
 2974   3515   
new file mode 100644
 2975   3516   
index 0000000..836aa8b
 2976         -
-- /dev/null
        3517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2977   3518   
@@ -0,0 +1 @@
        3519  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2978   3520   
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
 2979   3521   
new file mode 100644
 2980   3522   
index 0000000..9262d53
 2981         -
-- /dev/null
        3523  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2982   3524   
@@ -0,0 +1,9 @@
        3525  +
POST / HTTP/1.1
        3526  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3527  +
Host:example.amazonaws.com
        3528  +
Content-Length:13
        3529  +
X-Amz-Date:20150830T123600Z
        3530  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3531  +
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
        3532  +
        3533  +
Param1=value1
              \
 No newline at end of file
 2983   3534   
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
 2984   3535   
new file mode 100644
 2985   3536   
index 0000000..ddbdccc
 2986         -
-- /dev/null
        3537  +
++ 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
 2987   3538   
@@ -0,0 +1,4 @@
        3539  +
AWS4-HMAC-SHA256
        3540  +
20150830T123600Z
        3541  +
20150830/us-east-1/service/aws4_request
        3542  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2988   3543   
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
 2989   3544   
new file mode 100644
 2990   3545   
index 0000000..596a579
 2991         -
-- /dev/null
        3546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2992   3547   
@@ -0,0 +1,9 @@
        3548  +
POST
        3549  +
/
        3550  +
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
        3551  +
content-length:13
        3552  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3553  +
host:example.amazonaws.com
        3554  +
        3555  +
content-length;content-type;host
        3556  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2993   3557   
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
 2994   3558   
new file mode 100644
 2995   3559   
index 0000000..bc85cd8
 2996         -
-- /dev/null
        3560  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2997   3561   
@@ -0,0 +1 @@
        3562  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2998   3563   
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
 2999   3564   
new file mode 100644
 3000   3565   
index 0000000..16b59e5
 3001         -
-- /dev/null
        3566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 3002   3567   
@@ -0,0 +1,6 @@
        3568  +
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
        3569  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3570  +
Host:example.amazonaws.com
        3571  +
Content-Length:13
        3572  +
        3573  +
Param1=value1
              \
 No newline at end of file
 3003   3574   
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
 3004   3575   
new file mode 100644
 3005   3576   
index 0000000..50074af
 3006         -
-- /dev/null
        3577  +
++ 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
 3007   3578   
@@ -0,0 +1,4 @@
        3579  +
AWS4-HMAC-SHA256
        3580  +
20150830T123600Z
        3581  +
20150830/us-east-1/service/aws4_request
        3582  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 3008   3583   
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
 3009   3584   
similarity index 89%
 3010   3585   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 3011   3586   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 3012   3587   
index b711c25..8289eaa 100644
 3013         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
        3588  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 3014   3589   
@@ -1,6 +1,6 @@
 3015   3590   
POST / HTTP/1.1
 3016   3591   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 3017   3592   
Host:example.amazonaws.com
 3018   3593   
Content-Length:13
 3019   3594   
 3020         -
Param1=value1
        3595  +
Param1=value1
              \
 No newline at end of file
 3021   3596   
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
 3022   3597   
similarity index 99%
 3023   3598   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 3024   3599   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 3025   3600   
index fc4bce6..0db1df1 100644
 3026         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
        3601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 3027   3602   
@@ -1,12 +1,12 @@
 3028   3603   
{
 3029   3604   
    "credentials": {
 3030   3605   
        "access_key_id": "AKIDEXAMPLE",
 3031   3606   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 3032   3607   
    },
 3033   3608   
    "expiration_in_seconds": 3600,
 3034   3609   
    "normalize": true,
 3035   3610   
    "region": "us-east-1",
 3036   3611   
    "service": "service",
 3037   3612   
    "sign_body": true,
 3038   3613   
    "timestamp": "2015-08-30T12:36:00Z"
 3039         -
}
        3614  +
}
              \
 No newline at end of file
 3040   3615   
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
 3041   3616   
new file mode 100644
 3042   3617   
index 0000000..4d116a5
 3043         -
-- /dev/null
        3618  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 3044   3619   
@@ -0,0 +1,11 @@
        3620  +
POST
        3621  +
/
        3622  +
        3623  +
content-length:13
        3624  +
content-type:application/x-www-form-urlencoded
        3625  +
host:example.amazonaws.com
        3626  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3627  +
x-amz-date:20150830T123600Z
        3628  +
        3629  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3630  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3045   3631   
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
 3046   3632   
new file mode 100644
 3047   3633   
index 0000000..0d2ac37
 3048         -
-- /dev/null
        3634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 3049   3635   
@@ -0,0 +1 @@
        3636  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 3050   3637   
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
 3051   3638   
new file mode 100644
 3052   3639   
index 0000000..bd5e49c
 3053         -
-- /dev/null
        3640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 3054   3641   
@@ -0,0 +1,9 @@
        3642  +
POST / HTTP/1.1
        3643  +
Content-Type:application/x-www-form-urlencoded
        3644  +
Host:example.amazonaws.com
        3645  +
Content-Length:13
        3646  +
X-Amz-Date:20150830T123600Z
        3647  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3648  +
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
        3649  +
        3650  +
Param1=value1
              \
 No newline at end of file
 3055   3651   
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
 3056   3652   
new file mode 100644
 3057   3653   
index 0000000..f1c599c
 3058         -
-- /dev/null
        3654  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 3059   3655   
@@ -0,0 +1,4 @@
        3656  +
AWS4-HMAC-SHA256
        3657  +
20150830T123600Z
        3658  +
20150830/us-east-1/service/aws4_request
        3659  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 3060   3660   
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
 3061   3661   
new file mode 100644
 3062   3662   
index 0000000..1fc1bb7
 3063         -
-- /dev/null
        3663  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 3064   3664   
@@ -0,0 +1,9 @@
        3665  +
POST
        3666  +
/
        3667  +
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
        3668  +
content-length:13
        3669  +
content-type:application/x-www-form-urlencoded
        3670  +
host:example.amazonaws.com
        3671  +
        3672  +
content-length;content-type;host
        3673  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3065   3674   
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
 3066   3675   
new file mode 100644
 3067   3676   
index 0000000..98c91b3
 3068         -
-- /dev/null
        3677  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 3069   3678   
@@ -0,0 +1 @@
        3679  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 3070   3680   
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
 3071   3681   
new file mode 100644
 3072   3682   
index 0000000..055cd7a
 3073         -
-- /dev/null
        3683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 3074   3684   
@@ -0,0 +1,6 @@
        3685  +
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
        3686  +
Content-Type:application/x-www-form-urlencoded
        3687  +
Host:example.amazonaws.com
        3688  +
Content-Length:13
        3689  +
        3690  +
Param1=value1
              \
 No newline at end of file
 3075   3691   
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
 3076   3692   
new file mode 100644
 3077   3693   
index 0000000..db7fc27
 3078         -
-- /dev/null
        3694  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 3079   3695   
@@ -0,0 +1,4 @@
        3696  +
AWS4-HMAC-SHA256
        3697  +
20150830T123600Z
        3698  +
20150830/us-east-1/service/aws4_request
        3699  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 3080   3700   
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
 3081   3701   
similarity index 88%
 3082   3702   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 3083   3703   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3084   3704   
index 0091102..760b2d3 100644
 3085         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
        3705  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3086   3706   
@@ -1,6 +1,6 @@
 3087   3707   
POST / HTTP/1.1
 3088   3708   
Content-Type:application/x-www-form-urlencoded
 3089   3709   
Host:example.amazonaws.com
 3090   3710   
Content-Length:13
 3091   3711   
 3092         -
Param1=value1
        3712  +
Param1=value1
              \
 No newline at end of file
 3093   3713   
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
 3094   3714   
new file mode 100644
 3095   3715   
index 0000000..0468d80
 3096         -
-- /dev/null
        3716  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 3097   3717   
@@ -0,0 +1,12 @@
        3718  +
{
        3719  +
    "credentials": {
        3720  +
        "access_key_id": "AKIDEXAMPLE",
        3721  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3722  +
    },
        3723  +
    "expiration_in_seconds": 3600,
        3724  +
    "normalize": true,
        3725  +
    "region": "us-east-1",
        3726  +
    "service": "service",
        3727  +
    "sign_body": false,
        3728  +
    "timestamp": "2015-08-30T12:36:00Z"
        3729  +
}
              \
 No newline at end of file
 3098   3730   
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
 3099   3731   
similarity index 99%
 3100   3732   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 3101   3733   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3102   3734   
index ccb5f43..1bc448e 100644
 3103         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
        3735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3104   3736   
@@ -1,10 +1,10 @@
 3105   3737   
GET
 3106   3738   
/
 3107   3739   
 3108   3740   
host:example.amazonaws.com
 3109   3741   
my-header1:value2,value2,value1
 3110   3742   
x-amz-date:20150830T123600Z
 3111   3743   
x-amz-region-set:us-east-1
 3112   3744   
 3113   3745   
host;my-header1;x-amz-date;x-amz-region-set
 3114         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3746  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3115   3747   
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
 3116   3748   
new file mode 100644
 3117   3749   
index 0000000..489c182
 3118         -
-- /dev/null
        3750  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 3119   3751   
@@ -0,0 +1 @@
        3752  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 3120   3753   
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
 3121   3754   
new file mode 100644
 3122   3755   
index 0000000..e1b8dbf
 3123         -
-- /dev/null
        3756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 3124   3757   
@@ -0,0 +1,9 @@
        3758  +
GET / HTTP/1.1
        3759  +
Host:example.amazonaws.com
        3760  +
My-Header1:value2
        3761  +
My-Header1:value2
        3762  +
My-Header1:value1
        3763  +
X-Amz-Date:20150830T123600Z
        3764  +
X-Amz-Region-Set:us-east-1
        3765  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3766  +
 3125   3767   
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
 3126   3768   
similarity index 99%
 3127   3769   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 3128   3770   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3129   3771   
index 8783461..bfc4619 100644
 3130         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
        3772  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3131   3773   
@@ -1,4 +1,4 @@
 3132   3774   
AWS4-ECDSA-P256-SHA256
 3133   3775   
20150830T123600Z
 3134   3776   
20150830/service/aws4_request
 3135         -
30f1f7b639b7fd5982a0f700e6d23bf7bb24f2f1d9e1314005bf22130da61cdf
        3777  +
30f1f7b639b7fd5982a0f700e6d23bf7bb24f2f1d9e1314005bf22130da61cdf
              \
 No newline at end of file
 3136   3778   
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
 3137   3779   
new file mode 100644
 3138   3780   
index 0000000..379dcb2
 3139         -
-- /dev/null
        3781  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 3140   3782   
@@ -0,0 +1,4 @@
        3783  +
{
        3784  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3785  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3786  +
}
 3141   3787   
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
 3142   3788   
similarity index 99%
 3143   3789   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 3144   3790   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3145   3791   
index 9561297..c05c3f5 100644
 3146         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
        3792  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3147   3793   
@@ -1,8 +1,8 @@
 3148   3794   
GET
 3149   3795   
/
 3150   3796   
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
 3151   3797   
host:example.amazonaws.com
 3152   3798   
my-header1:value2,value2,value1
 3153   3799   
 3154   3800   
host;my-header1
 3155         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3801  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3156   3802   
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
 3157   3803   
new file mode 100644
 3158   3804   
index 0000000..de9a4c3
 3159         -
-- /dev/null
        3805  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 3160   3806   
@@ -0,0 +1 @@
        3807  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 3161   3808   
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
 3162   3809   
new file mode 100644
 3163   3810   
index 0000000..6c6b8c4
 3164         -
-- /dev/null
        3811  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 3165   3812   
@@ -0,0 +1,6 @@
        3813  +
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
        3814  +
Host:example.amazonaws.com
        3815  +
My-Header1:value2
        3816  +
My-Header1:value2
        3817  +
My-Header1:value1
        3818  +
 3166   3819   
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
 3167   3820   
similarity index 99%
 3168   3821   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 3169   3822   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3170   3823   
index 3140f6f..4eef106 100644
 3171         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
        3824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3172   3825   
@@ -1,4 +1,4 @@
 3173   3826   
AWS4-ECDSA-P256-SHA256
 3174   3827   
20150830T123600Z
 3175   3828   
20150830/service/aws4_request
 3176         -
a6e21a0099c98cbb4ec73928a08e8b116dfd634c471a8c03c4007b5258b664ea
        3829  +
a6e21a0099c98cbb4ec73928a08e8b116dfd634c471a8c03c4007b5258b664ea
              \
 No newline at end of file
 3177   3830   
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
 3178   3831   
similarity index 78%
 3179   3832   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 3180   3833   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3181   3834   
index 08a0364..40455ce 100644
 3182         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3835  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3183   3836   
@@ -1,6 +1,5 @@
 3184   3837   
GET / HTTP/1.1
 3185   3838   
Host:example.amazonaws.com
 3186   3839   
My-Header1:value2
 3187   3840   
My-Header1:value2
 3188   3841   
My-Header1:value1
 3189         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3190   3842   
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
 3191   3843   
new file mode 100644
 3192   3844   
index 0000000..0468d80
 3193         -
-- /dev/null
        3845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 3194   3846   
@@ -0,0 +1,12 @@
        3847  +
{
        3848  +
    "credentials": {
        3849  +
        "access_key_id": "AKIDEXAMPLE",
        3850  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3851  +
    },
        3852  +
    "expiration_in_seconds": 3600,
        3853  +
    "normalize": true,
        3854  +
    "region": "us-east-1",
        3855  +
    "service": "service",
        3856  +
    "sign_body": false,
        3857  +
    "timestamp": "2015-08-30T12:36:00Z"
        3858  +
}
              \
 No newline at end of file
 3195   3859   
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
 3196   3860   
new file mode 100644
 3197   3861   
index 0000000..69526cd
 3198         -
-- /dev/null
        3862  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 3199   3863   
@@ -0,0 +1,10 @@
        3864  +
GET
        3865  +
/
        3866  +
        3867  +
host:example.amazonaws.com
        3868  +
my-header1:value1 value2 value3
        3869  +
x-amz-date:20150830T123600Z
        3870  +
x-amz-region-set:us-east-1
        3871  +
        3872  +
host;my-header1;x-amz-date;x-amz-region-set
        3873  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3200   3874   
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
 3201   3875   
new file mode 100644
 3202   3876   
index 0000000..d51b4f3
 3203         -
-- /dev/null
        3877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 3204   3878   
@@ -0,0 +1 @@
        3879  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 3205   3880   
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
 3206   3881   
new file mode 100644
 3207   3882   
index 0000000..8131420
 3208         -
-- /dev/null
        3883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 3209   3884   
@@ -0,0 +1,9 @@
        3885  +
GET / HTTP/1.1
        3886  +
Host:example.amazonaws.com
        3887  +
My-Header1:value1
        3888  +
  value2
        3889  +
     value3
        3890  +
X-Amz-Date:20150830T123600Z
        3891  +
X-Amz-Region-Set:us-east-1
        3892  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3893  +
 3210   3894   
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
 3211   3895   
new file mode 100644
 3212   3896   
index 0000000..e4d99fa
 3213         -
-- /dev/null
        3897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 3214   3898   
@@ -0,0 +1,4 @@
        3899  +
AWS4-ECDSA-P256-SHA256
        3900  +
20150830T123600Z
        3901  +
20150830/service/aws4_request
        3902  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 3215   3903   
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
 3216   3904   
new file mode 100644
 3217   3905   
index 0000000..379dcb2
 3218         -
-- /dev/null
        3906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 3219   3907   
@@ -0,0 +1,4 @@
        3908  +
{
        3909  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3910  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3911  +
}
 3220   3912   
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
 3221   3913   
new file mode 100644
 3222   3914   
index 0000000..3c4d52f
 3223         -
-- /dev/null
        3915  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 3224   3916   
@@ -0,0 +1,8 @@
        3917  +
GET
        3918  +
/
        3919  +
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
        3920  +
host:example.amazonaws.com
        3921  +
my-header1:value1 value2 value3
        3922  +
        3923  +
host;my-header1
        3924  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3225   3925   
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
 3226   3926   
new file mode 100644
 3227   3927   
index 0000000..4e63f9a
 3228         -
-- /dev/null
        3928  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 3229   3929   
@@ -0,0 +1 @@
        3930  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 3230   3931   
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
 3231   3932   
new file mode 100644
 3232   3933   
index 0000000..adf1f09
 3233         -
-- /dev/null
        3934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 3234   3935   
@@ -0,0 +1,6 @@
        3936  +
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
        3937  +
Host:example.amazonaws.com
        3938  +
My-Header1:value1
        3939  +
  value2
        3940  +
     value3
        3941  +
 3235   3942   
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
 3236   3943   
new file mode 100644
 3237   3944   
index 0000000..e085407
 3238         -
-- /dev/null
        3945  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3239   3946   
@@ -0,0 +1,4 @@
        3947  +
AWS4-ECDSA-P256-SHA256
        3948  +
20150830T123600Z
        3949  +
20150830/service/aws4_request
        3950  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 3240   3951   
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
 3241   3952   
new file mode 100644
 3242   3953   
index 0000000..b5026cd
 3243         -
-- /dev/null
        3954  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3244   3955   
@@ -0,0 +1,5 @@
        3956  +
GET / HTTP/1.1
        3957  +
Host:example.amazonaws.com
        3958  +
My-Header1:value1
        3959  +
  value2
        3960  +
     value3
 3245   3961   
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
 3246   3962   
new file mode 100644
 3247   3963   
index 0000000..0468d80
 3248         -
-- /dev/null
        3964  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3249   3965   
@@ -0,0 +1,12 @@
        3966  +
{
        3967  +
    "credentials": {
        3968  +
        "access_key_id": "AKIDEXAMPLE",
        3969  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3970  +
    },
        3971  +
    "expiration_in_seconds": 3600,
        3972  +
    "normalize": true,
        3973  +
    "region": "us-east-1",
        3974  +
    "service": "service",
        3975  +
    "sign_body": false,
        3976  +
    "timestamp": "2015-08-30T12:36:00Z"
        3977  +
}
              \
 No newline at end of file
 3250   3978   
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
 3251   3979   
similarity index 99%
 3252   3980   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3253   3981   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3254   3982   
index 9375193..533afdb 100644
 3255         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
        3983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3256   3984   
@@ -1,10 +1,10 @@
 3257   3985   
GET
 3258   3986   
/
 3259   3987   
 3260   3988   
host:example.amazonaws.com
 3261   3989   
my-header1:value4,value1,value3,value2
 3262   3990   
x-amz-date:20150830T123600Z
 3263   3991   
x-amz-region-set:us-east-1
 3264   3992   
 3265   3993   
host;my-header1;x-amz-date;x-amz-region-set
 3266         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3994  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3267   3995   
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
 3268   3996   
new file mode 100644
 3269   3997   
index 0000000..057b426
 3270         -
-- /dev/null
        3998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3271   3999   
@@ -0,0 +1 @@
        4000  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3272   4001   
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
 3273   4002   
new file mode 100644
 3274   4003   
index 0000000..4e4ccf0
 3275         -
-- /dev/null
        4004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3276   4005   
@@ -0,0 +1,10 @@
        4006  +
GET / HTTP/1.1
        4007  +
Host:example.amazonaws.com
        4008  +
My-Header1:value4
        4009  +
My-Header1:value1
        4010  +
My-Header1:value3
        4011  +
My-Header1:value2
        4012  +
X-Amz-Date:20150830T123600Z
        4013  +
X-Amz-Region-Set:us-east-1
        4014  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        4015  +
 3277   4016   
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
 3278   4017   
similarity index 99%
 3279   4018   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3280   4019   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3281   4020   
index 6400baf..e68c952 100644
 3282         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
        4021  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3283   4022   
@@ -1,4 +1,4 @@
 3284   4023   
AWS4-ECDSA-P256-SHA256
 3285   4024   
20150830T123600Z
 3286   4025   
20150830/service/aws4_request
 3287         -
e1c3b5d34632ffff080330b3bc31906c8988bf1683f4af689ef3f1811952df36
        4026  +
e1c3b5d34632ffff080330b3bc31906c8988bf1683f4af689ef3f1811952df36
              \
 No newline at end of file
 3288   4027   
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
 3289   4028   
new file mode 100644
 3290   4029   
index 0000000..379dcb2
 3291         -
-- /dev/null
        4030  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3292   4031   
@@ -0,0 +1,4 @@
        4032  +
{
        4033  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4034  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4035  +
}
 3293   4036   
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
 3294   4037   
similarity index 99%
 3295   4038   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3296   4039   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3297   4040   
index ecf494a..68450fe 100644
 3298         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
        4041  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3299   4042   
@@ -1,8 +1,8 @@
 3300   4043   
GET
 3301   4044   
/
 3302   4045   
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
 3303   4046   
host:example.amazonaws.com
 3304   4047   
my-header1:value4,value1,value3,value2
 3305   4048   
 3306   4049   
host;my-header1
 3307         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4050  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3308   4051   
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
 3309   4052   
new file mode 100644
 3310   4053   
index 0000000..9df2eb3
 3311         -
-- /dev/null
        4054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3312   4055   
@@ -0,0 +1 @@
        4056  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3313   4057   
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
 3314   4058   
new file mode 100644
 3315   4059   
index 0000000..62f8cb7
 3316         -
-- /dev/null
        4060  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3317   4061   
@@ -0,0 +1,7 @@
        4062  +
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
        4063  +
Host:example.amazonaws.com
        4064  +
My-Header1:value4
        4065  +
My-Header1:value1
        4066  +
My-Header1:value3
        4067  +
My-Header1:value2
        4068  +
 3318   4069   
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
 3319   4070   
similarity index 99%
 3320   4071   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3321   4072   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3322   4073   
index b584179..2bcf7b1 100644
 3323         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
        4074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3324   4075   
@@ -1,4 +1,4 @@
 3325   4076   
AWS4-ECDSA-P256-SHA256
 3326   4077   
20150830T123600Z
 3327   4078   
20150830/service/aws4_request
 3328         -
e2bf35ea25a1943bf52cfc8348c787db8fd8ca642dc9f2b9443939c2fb0d3c54
        4079  +
e2bf35ea25a1943bf52cfc8348c787db8fd8ca642dc9f2b9443939c2fb0d3c54
              \
 No newline at end of file
 3329   4080   
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
 3330   4081   
similarity index 80%
 3331   4082   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3332   4083   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3333   4084   
index f7bd9e6..2c6f49d 100644
 3334         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        4085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3335   4086   
@@ -1,7 +1,6 @@
 3336   4087   
GET / HTTP/1.1
 3337   4088   
Host:example.amazonaws.com
 3338   4089   
My-Header1:value4
 3339   4090   
My-Header1:value1
 3340   4091   
My-Header1:value3
 3341   4092   
My-Header1:value2
 3342         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3343   4093   
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
 3344   4094   
new file mode 100644
 3345   4095   
index 0000000..0468d80
 3346         -
-- /dev/null
        4096  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3347   4097   
@@ -0,0 +1,12 @@
        4098  +
{
        4099  +
    "credentials": {
        4100  +
        "access_key_id": "AKIDEXAMPLE",
        4101  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4102  +
    },
        4103  +
    "expiration_in_seconds": 3600,
        4104  +
    "normalize": true,
        4105  +
    "region": "us-east-1",
        4106  +
    "service": "service",
        4107  +
    "sign_body": false,
        4108  +
    "timestamp": "2015-08-30T12:36:00Z"
        4109  +
}
              \
 No newline at end of file
 3348   4110   
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
 3349   4111   
similarity index 99%
 3350   4112   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3351   4113   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3352   4114   
index e91e952..94b6be5 100644
 3353         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
        4115  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3354   4116   
@@ -1,11 +1,11 @@
 3355   4117   
GET
 3356   4118   
/
 3357   4119   
 3358   4120   
host:example.amazonaws.com
 3359   4121   
my-header1:value1
 3360   4122   
my-header2:"a b c"
 3361   4123   
x-amz-date:20150830T123600Z
 3362   4124   
x-amz-region-set:us-east-1
 3363   4125   
 3364   4126   
host;my-header1;my-header2;x-amz-date;x-amz-region-set
 3365         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4127  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3366   4128   
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
 3367   4129   
new file mode 100644
 3368   4130   
index 0000000..bf8c3cb
 3369         -
-- /dev/null
        4131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3370   4132   
@@ -0,0 +1 @@
        4133  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3371   4134   
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
 3372   4135   
new file mode 100644
 3373   4136   
index 0000000..f7f054d
 3374         -
-- /dev/null
        4137  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3375   4138   
@@ -0,0 +1,8 @@
        4139  +
GET / HTTP/1.1
        4140  +
Host:example.amazonaws.com
        4141  +
My-Header1: value1
        4142  +
My-Header2: "a   b   c"
        4143  +
X-Amz-Date:20150830T123600Z
        4144  +
X-Amz-Region-Set:us-east-1
        4145  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date;x-amz-region-set, Signature=3046022100ce72c874a80cea45e3c5b7cbe76178f8577870e1f97ee1730f57cff45c3d398b022100e4ea7b870335abab5ca57fa740d20b3c5aba2739cf96dd7fa671fc11cf6c3341
        4146  +
 3376   4147   
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
 3377   4148   
similarity index 99%
 3378   4149   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3379   4150   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3380   4151   
index 0e407d8..a2c9c05 100644
 3381         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
        4152  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3382   4153   
@@ -1,4 +1,4 @@
 3383   4154   
AWS4-ECDSA-P256-SHA256
 3384   4155   
20150830T123600Z
 3385   4156   
20150830/service/aws4_request
 3386         -
18b43001be9b531ebdd8202144dbd7630ea8a35bc328a7d0e561dda03a876095
        4157  +
18b43001be9b531ebdd8202144dbd7630ea8a35bc328a7d0e561dda03a876095
              \
 No newline at end of file
 3387   4158   
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
 3388   4159   
new file mode 100644
 3389   4160   
index 0000000..379dcb2
 3390         -
-- /dev/null
        4161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3391   4162   
@@ -0,0 +1,4 @@
        4163  +
{
        4164  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4165  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4166  +
}
 3392   4167   
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
 3393   4168   
similarity index 99%
 3394   4169   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3395   4170   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3396   4171   
index 8a3b042..3a51150 100644
 3397         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
        4172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3398   4173   
@@ -1,9 +1,9 @@
 3399   4174   
GET
 3400   4175   
/
 3401   4176   
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
 3402   4177   
host:example.amazonaws.com
 3403   4178   
my-header1:value1
 3404   4179   
my-header2:"a b c"
 3405   4180   
 3406   4181   
host;my-header1;my-header2
 3407         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4182  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3408   4183   
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
 3409   4184   
new file mode 100644
 3410   4185   
index 0000000..0033053
 3411         -
-- /dev/null
        4186  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3412   4187   
@@ -0,0 +1 @@
        4188  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3413   4189   
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
 3414   4190   
new file mode 100644
 3415   4191   
index 0000000..1537888
 3416         -
-- /dev/null
        4192  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3417   4193   
@@ -0,0 +1,5 @@
        4194  +
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
        4195  +
Host:example.amazonaws.com
        4196  +
My-Header1: value1
        4197  +
My-Header2: "a   b   c"
        4198  +
 3418   4199   
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
 3419   4200   
similarity index 99%
 3420   4201   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3421   4202   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3422   4203   
index 5eead25..633dc1f 100644
 3423         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
        4204  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3424   4205   
@@ -1,4 +1,4 @@
 3425   4206   
AWS4-ECDSA-P256-SHA256
 3426   4207   
20150830T123600Z
 3427   4208   
20150830/service/aws4_request
 3428         -
4f92ebcf5f0844588e443a2243fafdb64319c6d1ad913c07686129b9991326a3
        4209  +
4f92ebcf5f0844588e443a2243fafdb64319c6d1ad913c07686129b9991326a3
              \
 No newline at end of file
 3429   4210   
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
 3430   4211   
similarity index 75%
 3431   4212   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3432   4213   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3433   4214   
index 901f36c..ad1ea98 100644
 3434         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        4215  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3435   4216   
@@ -1,5 +1,4 @@
 3436   4217   
GET / HTTP/1.1
 3437   4218   
Host:example.amazonaws.com
 3438   4219   
My-Header1: value1
 3439   4220   
My-Header2: "a   b   c"
 3440         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3441   4221   
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
 3442   4222   
new file mode 100644
 3443   4223   
index 0000000..0468d80
 3444         -
-- /dev/null
        4224  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3445   4225   
@@ -0,0 +1,12 @@
        4226  +
{
        4227  +
    "credentials": {
        4228  +
        "access_key_id": "AKIDEXAMPLE",
        4229  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4230  +
    },
        4231  +
    "expiration_in_seconds": 3600,
        4232  +
    "normalize": true,
        4233  +
    "region": "us-east-1",
        4234  +
    "service": "service",
        4235  +
    "sign_body": false,
        4236  +
    "timestamp": "2015-08-30T12:36:00Z"
        4237  +
}
              \
 No newline at end of file
 3446   4238   
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
 3447   4239   
similarity index 99%
 3448   4240   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3449   4241   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3450   4242   
index 47e7128..76db73d 100644
 3451         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
        4243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3452   4244   
@@ -1,9 +1,9 @@
 3453   4245   
GET
 3454   4246   
/
 3455   4247   
 3456   4248   
host:example.amazonaws.com
 3457   4249   
x-amz-date:20150830T123600Z
 3458   4250   
x-amz-region-set:us-east-1
 3459   4251   
 3460   4252   
host;x-amz-date;x-amz-region-set
 3461         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4253  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3462   4254   
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
 3463   4255   
new file mode 100644
 3464   4256   
index 0000000..cbd6ae2
 3465         -
-- /dev/null
        4257  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3466   4258   
@@ -0,0 +1 @@
        4259  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3467   4260   
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
 3468   4261   
new file mode 100644
 3469   4262   
index 0000000..a343fcf
 3470         -
-- /dev/null
        4263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3471   4264   
@@ -0,0 +1,6 @@
        4265  +
GET /example/.. HTTP/1.1
        4266  +
Host:example.amazonaws.com
        4267  +
X-Amz-Date:20150830T123600Z
        4268  +
X-Amz-Region-Set:us-east-1
        4269  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        4270  +
 3472   4271   
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
 3473   4272   
similarity index 99%
 3474   4273   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3475   4274   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3476   4275   
index 95d7219..600f1d8 100644
 3477         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
        4276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3478   4277   
@@ -1,4 +1,4 @@
 3479   4278   
AWS4-ECDSA-P256-SHA256
 3480   4279   
20150830T123600Z
 3481   4280   
20150830/service/aws4_request
 3482         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4281  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3483   4282   
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
 3484   4283   
new file mode 100644
 3485   4284   
index 0000000..379dcb2
 3486         -
-- /dev/null
        4285  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3487   4286   
@@ -0,0 +1,4 @@
        4287  +
{
        4288  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4289  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4290  +
}
 3488   4291   
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
 3489   4292   
similarity index 99%
 3490   4293   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3491   4294   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3492   4295   
index a34ea26..779c51c 100644
 3493         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
        4296  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3494   4297   
@@ -1,7 +1,7 @@
 3495   4298   
GET
 3496   4299   
/
 3497   4300   
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
 3498   4301   
host:example.amazonaws.com
 3499   4302   
 3500   4303   
host
 3501         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4304  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3502   4305   
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
 3503   4306   
new file mode 100644
 3504   4307   
index 0000000..3cc88e6
 3505         -
-- /dev/null
        4308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3506   4309   
@@ -0,0 +1 @@
        4310  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3507   4311   
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
 3508   4312   
new file mode 100644
 3509   4313   
index 0000000..f68dde8
 3510         -
-- /dev/null
        4314  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3511   4315   
@@ -0,0 +1,3 @@
        4316  +
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
        4317  +
Host:example.amazonaws.com
        4318  +
 3512   4319   
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
 3513   4320   
similarity index 99%
 3514   4321   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3515   4322   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3516   4323   
index 48f855c..6e29a7e 100644
 3517         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
        4324  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3518   4325   
@@ -1,4 +1,4 @@
 3519   4326   
AWS4-ECDSA-P256-SHA256
 3520   4327   
20150830T123600Z
 3521   4328   
20150830/service/aws4_request
 3522         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4329  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3523   4330   
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
 3524   4331   
similarity index 65%
 3525   4332   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3526   4333   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3527   4334   
index 9d6d7ca..6aa9f99 100644
 3528         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        4335  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3529   4336   
@@ -1,3 +1,2 @@
 3530   4337   
GET /example/.. HTTP/1.1
 3531   4338   
Host:example.amazonaws.com
 3532         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3533   4339   
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
 3534   4340   
new file mode 100644
 3535   4341   
index 0000000..0468d80
 3536         -
-- /dev/null
        4342  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3537   4343   
@@ -0,0 +1,12 @@
        4344  +
{
        4345  +
    "credentials": {
        4346  +
        "access_key_id": "AKIDEXAMPLE",
        4347  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4348  +
    },
        4349  +
    "expiration_in_seconds": 3600,
        4350  +
    "normalize": true,
        4351  +
    "region": "us-east-1",
        4352  +
    "service": "service",
        4353  +
    "sign_body": false,
        4354  +
    "timestamp": "2015-08-30T12:36:00Z"
        4355  +
}
              \
 No newline at end of file
 3538   4356   
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
 3539   4357   
similarity index 99%
 3540   4358   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3541   4359   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3542   4360   
index 47e7128..76db73d 100644
 3543         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
        4361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3544   4362   
@@ -1,9 +1,9 @@
 3545   4363   
GET
 3546   4364   
/
 3547   4365   
 3548   4366   
host:example.amazonaws.com
 3549   4367   
x-amz-date:20150830T123600Z
 3550   4368   
x-amz-region-set:us-east-1
 3551   4369   
 3552   4370   
host;x-amz-date;x-amz-region-set
 3553         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4371  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3554   4372   
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
 3555   4373   
new file mode 100644
 3556   4374   
index 0000000..f7a7ebe
 3557         -
-- /dev/null
        4375  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3558   4376   
@@ -0,0 +1 @@
        4377  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3559   4378   
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
 3560   4379   
new file mode 100644
 3561   4380   
index 0000000..9d2c50d
 3562         -
-- /dev/null
        4381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3563   4382   
@@ -0,0 +1,6 @@
        4383  +
GET /example1/example2/../.. HTTP/1.1
        4384  +
Host:example.amazonaws.com
        4385  +
X-Amz-Date:20150830T123600Z
        4386  +
X-Amz-Region-Set:us-east-1
        4387  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4388  +
 3564   4389   
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
 3565   4390   
similarity index 99%
 3566   4391   
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
 3567   4392   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3568   4393   
index 95d7219..600f1d8 100644
 3569         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-string-to-sign.txt
        4394  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3570   4395   
@@ -1,4 +1,4 @@
 3571   4396   
AWS4-ECDSA-P256-SHA256
 3572   4397   
20150830T123600Z
 3573   4398   
20150830/service/aws4_request
 3574         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4399  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3575   4400   
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
 3576   4401   
new file mode 100644
 3577   4402   
index 0000000..379dcb2
 3578         -
-- /dev/null
        4403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3579   4404   
@@ -0,0 +1,4 @@
        4405  +
{
        4406  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4407  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4408  +
}
 3580   4409   
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
 3581   4410   
similarity index 99%
 3582   4411   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3583   4412   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3584   4413   
index a34ea26..779c51c 100644
 3585         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
        4414  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3586   4415   
@@ -1,7 +1,7 @@
 3587   4416   
GET
 3588   4417   
/
 3589   4418   
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
 3590   4419   
host:example.amazonaws.com
 3591   4420   
 3592   4421   
host
 3593         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4422  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3594   4423   
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
 3595   4424   
new file mode 100644
 3596   4425   
index 0000000..45ef286
 3597         -
-- /dev/null
        4426  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3598   4427   
@@ -0,0 +1 @@
        4428  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3599   4429   
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
 3600   4430   
new file mode 100644
 3601   4431   
index 0000000..0d16f66
 3602         -
-- /dev/null
        4432  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3603   4433   
@@ -0,0 +1,3 @@
        4434  +
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
        4435  +
Host:example.amazonaws.com
        4436  +
 3604   4437   
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
 3605   4438   
similarity index 99%
 3606   4439   
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
 3607   4440   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3608   4441   
index 48f855c..6e29a7e 100644
 3609         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-string-to-sign.txt
        4442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3610   4443   
@@ -1,4 +1,4 @@
 3611   4444   
AWS4-ECDSA-P256-SHA256
 3612   4445   
20150830T123600Z
 3613   4446   
20150830/service/aws4_request
 3614         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4447  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3615   4448   
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
 3616   4449   
similarity index 70%
 3617   4450   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3618   4451   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3619   4452   
index cfd4e8b..a856c10 100644
 3620         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4453  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3621   4454   
@@ -1,3 +1,2 @@
 3622   4455   
GET /example1/example2/../.. HTTP/1.1
 3623   4456   
Host:example.amazonaws.com
 3624         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3625   4457   
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
 3626   4458   
new file mode 100644
 3627   4459   
index 0000000..7bee5c7
 3628         -
-- /dev/null
        4460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3629   4461   
@@ -0,0 +1,12 @@
        4462  +
{
        4463  +
    "credentials": {
        4464  +
        "access_key_id": "AKIDEXAMPLE",
        4465  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4466  +
    },
        4467  +
    "expiration_in_seconds": 3600,
        4468  +
    "normalize": false,
        4469  +
    "region": "us-east-1",
        4470  +
    "service": "service",
        4471  +
    "sign_body": false,
        4472  +
    "timestamp": "2015-08-30T12:36:00Z"
        4473  +
}
              \
 No newline at end of file
 3630   4474   
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
 3631   4475   
similarity index 99%
 3632   4476   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3633   4477   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3634   4478   
index 5e1d1cf..e4e6d57 100644
 3635         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
        4479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3636   4480   
@@ -1,9 +1,9 @@
 3637   4481   
GET
 3638   4482   
/example1/example2/../..
 3639   4483   
 3640   4484   
host:example.amazonaws.com
 3641   4485   
x-amz-date:20150830T123600Z
 3642   4486   
x-amz-region-set:us-east-1
 3643   4487   
 3644   4488   
host;x-amz-date;x-amz-region-set
 3645         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4489  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3646   4490   
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
 3647   4491   
new file mode 100644
 3648   4492   
index 0000000..2d1b47c
 3649         -
-- /dev/null
        4493  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3650   4494   
@@ -0,0 +1 @@
        4495  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3651   4496   
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
 3652   4497   
new file mode 100644
 3653   4498   
index 0000000..7158179
 3654         -
-- /dev/null
        4499  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3655   4500   
@@ -0,0 +1,6 @@
        4501  +
GET /example1/example2/../.. HTTP/1.1
        4502  +
Host:example.amazonaws.com
        4503  +
X-Amz-Date:20150830T123600Z
        4504  +
X-Amz-Region-Set:us-east-1
        4505  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4506  +
 3656   4507   
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
 3657   4508   
similarity index 99%
 3658   4509   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3659   4510   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3660   4511   
index 1cca6cf..db60c8e 100644
 3661         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
        4512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3662   4513   
@@ -1,4 +1,4 @@
 3663   4514   
AWS4-ECDSA-P256-SHA256
 3664   4515   
20150830T123600Z
 3665   4516   
20150830/service/aws4_request
 3666         -
7bad1fab948577ec4e860ff2bb06ce9b69f0dd60eb8a9ad7c016b584254f9b5b
        4517  +
7bad1fab948577ec4e860ff2bb06ce9b69f0dd60eb8a9ad7c016b584254f9b5b
              \
 No newline at end of file
 3667   4518   
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
 3668   4519   
new file mode 100644
 3669   4520   
index 0000000..379dcb2
 3670         -
-- /dev/null
        4521  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3671   4522   
@@ -0,0 +1,4 @@
        4523  +
{
        4524  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4525  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4526  +
}
 3672   4527   
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
 3673   4528   
similarity index 99%
 3674   4529   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3675   4530   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3676   4531   
index 95dc104..0d963ba 100644
 3677         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
        4532  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3678   4533   
@@ -1,7 +1,7 @@
 3679   4534   
GET
 3680   4535   
/example1/example2/../..
 3681   4536   
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
 3682   4537   
host:example.amazonaws.com
 3683   4538   
 3684   4539   
host
 3685         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4540  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3686   4541   
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
 3687   4542   
new file mode 100644
 3688   4543   
index 0000000..ae774e4
 3689         -
-- /dev/null
        4544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3690   4545   
@@ -0,0 +1 @@
        4546  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3691   4547   
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
 3692   4548   
new file mode 100644
 3693   4549   
index 0000000..be6b86e
 3694         -
-- /dev/null
        4550  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3695   4551   
@@ -0,0 +1,3 @@
        4552  +
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
        4553  +
Host:example.amazonaws.com
        4554  +
 3696   4555   
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
 3697   4556   
similarity index 99%
 3698   4557   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3699   4558   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3700   4559   
index 50edce6..fcc70cd 100644
 3701         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
        4560  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3702   4561   
@@ -1,4 +1,4 @@
 3703   4562   
AWS4-ECDSA-P256-SHA256
 3704   4563   
20150830T123600Z
 3705   4564   
20150830/service/aws4_request
 3706         -
504892d7f7262dd98d79ab7f3bb6f918cd59d491aacb2d76450f6e065479b31a
        4565  +
504892d7f7262dd98d79ab7f3bb6f918cd59d491aacb2d76450f6e065479b31a
              \
 No newline at end of file
 3707   4566   
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
 3708   4567   
new file mode 100644
 3709   4568   
index 0000000..a856c10
 3710         -
-- /dev/null
        4569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3711   4570   
@@ -0,0 +1,2 @@
        4571  +
GET /example1/example2/../.. HTTP/1.1
        4572  +
Host:example.amazonaws.com
 3712   4573   
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
 3713   4574   
new file mode 100644
 3714   4575   
index 0000000..7bee5c7
 3715         -
-- /dev/null
        4576  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3716   4577   
@@ -0,0 +1,12 @@
        4578  +
{
        4579  +
    "credentials": {
        4580  +
        "access_key_id": "AKIDEXAMPLE",
        4581  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4582  +
    },
        4583  +
    "expiration_in_seconds": 3600,
        4584  +
    "normalize": false,
        4585  +
    "region": "us-east-1",
        4586  +
    "service": "service",
        4587  +
    "sign_body": false,
        4588  +
    "timestamp": "2015-08-30T12:36:00Z"
        4589  +
}
              \
 No newline at end of file
 3717   4590   
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
 3718   4591   
similarity index 99%
 3719   4592   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3720   4593   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3721   4594   
index d6a0abe..22def1a 100644
 3722         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
        4595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3723   4596   
@@ -1,9 +1,9 @@
 3724   4597   
GET
 3725   4598   
/example/..
 3726   4599   
 3727   4600   
host:example.amazonaws.com
 3728   4601   
x-amz-date:20150830T123600Z
 3729   4602   
x-amz-region-set:us-east-1
 3730   4603   
 3731   4604   
host;x-amz-date;x-amz-region-set
 3732         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4605  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3733   4606   
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
 3734   4607   
new file mode 100644
 3735   4608   
index 0000000..9251bad
 3736         -
-- /dev/null
        4609  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3737   4610   
@@ -0,0 +1 @@
        4611  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3738   4612   
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
 3739   4613   
new file mode 100644
 3740   4614   
index 0000000..f1bb60f
 3741         -
-- /dev/null
        4615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3742   4616   
@@ -0,0 +1,6 @@
        4617  +
GET /example/.. HTTP/1.1
        4618  +
Host:example.amazonaws.com
        4619  +
X-Amz-Date:20150830T123600Z
        4620  +
X-Amz-Region-Set:us-east-1
        4621  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4622  +
 3743   4623   
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
 3744   4624   
similarity index 99%
 3745   4625   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3746   4626   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3747   4627   
index 4a34e93..5673a20 100644
 3748         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
        4628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3749   4629   
@@ -1,4 +1,4 @@
 3750   4630   
AWS4-ECDSA-P256-SHA256
 3751   4631   
20150830T123600Z
 3752   4632   
20150830/service/aws4_request
 3753         -
c859b5032f2ebd5df0285ff633b495b0e6e962e5adb94731c95e8e993a9a8213
        4633  +
c859b5032f2ebd5df0285ff633b495b0e6e962e5adb94731c95e8e993a9a8213
              \
 No newline at end of file
 3754   4634   
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
 3755   4635   
new file mode 100644
 3756   4636   
index 0000000..379dcb2
 3757         -
-- /dev/null
        4637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3758   4638   
@@ -0,0 +1,4 @@
        4639  +
{
        4640  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4641  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4642  +
}
 3759   4643   
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
 3760   4644   
similarity index 99%
 3761   4645   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3762   4646   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3763   4647   
index b1d123e..a1c22e0 100644
 3764         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
        4648  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3765   4649   
@@ -1,7 +1,7 @@
 3766   4650   
GET
 3767   4651   
/example/..
 3768   4652   
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
 3769   4653   
host:example.amazonaws.com
 3770   4654   
 3771   4655   
host
 3772         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4656  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3773   4657   
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
 3774   4658   
new file mode 100644
 3775   4659   
index 0000000..9f0f686
 3776         -
-- /dev/null
        4660  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3777   4661   
@@ -0,0 +1 @@
        4662  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3778   4663   
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
 3779   4664   
new file mode 100644
 3780   4665   
index 0000000..d1d451a
 3781         -
-- /dev/null
        4666  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3782   4667   
@@ -0,0 +1,3 @@
        4668  +
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
        4669  +
Host:example.amazonaws.com
        4670  +
 3783   4671   
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
 3784   4672   
similarity index 99%
 3785   4673   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3786   4674   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3787   4675   
index a17f5ab..81b41e8 100644
 3788         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
        4676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3789   4677   
@@ -1,4 +1,4 @@
 3790   4678   
AWS4-ECDSA-P256-SHA256
 3791   4679   
20150830T123600Z
 3792   4680   
20150830/service/aws4_request
 3793         -
bbbb3668f996906ebb2c96ebdc2418af99656315adaf647989ab336c88fb516e
        4681  +
bbbb3668f996906ebb2c96ebdc2418af99656315adaf647989ab336c88fb516e
              \
 No newline at end of file
 3794   4682   
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
 3795   4683   
new file mode 100644
 3796   4684   
index 0000000..6aa9f99
 3797         -
-- /dev/null
        4685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3798   4686   
@@ -0,0 +1,2 @@
        4687  +
GET /example/.. HTTP/1.1
        4688  +
Host:example.amazonaws.com
 3799   4689   
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
 3800   4690   
new file mode 100644
 3801   4691   
index 0000000..0468d80
 3802         -
-- /dev/null
        4692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3803   4693   
@@ -0,0 +1,12 @@
        4694  +
{
        4695  +
    "credentials": {
        4696  +
        "access_key_id": "AKIDEXAMPLE",
        4697  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4698  +
    },
        4699  +
    "expiration_in_seconds": 3600,
        4700  +
    "normalize": true,
        4701  +
    "region": "us-east-1",
        4702  +
    "service": "service",
        4703  +
    "sign_body": false,
        4704  +
    "timestamp": "2015-08-30T12:36:00Z"
        4705  +
}
              \
 No newline at end of file
 3804   4706   
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
 3805   4707   
similarity index 99%
 3806   4708   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3807   4709   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3808   4710   
index 47e7128..76db73d 100644
 3809         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
        4711  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3810   4712   
@@ -1,9 +1,9 @@
 3811   4713   
GET
 3812   4714   
/
 3813   4715   
 3814   4716   
host:example.amazonaws.com
 3815   4717   
x-amz-date:20150830T123600Z
 3816   4718   
x-amz-region-set:us-east-1
 3817   4719   
 3818   4720   
host;x-amz-date;x-amz-region-set
 3819         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4721  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3820   4722   
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
 3821   4723   
new file mode 100644
 3822   4724   
index 0000000..ca6e84e
 3823         -
-- /dev/null
        4725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3824   4726   
@@ -0,0 +1 @@
        4727  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3825   4728   
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
 3826   4729   
new file mode 100644
 3827   4730   
index 0000000..a7c764c
 3828         -
-- /dev/null
        4731  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3829   4732   
@@ -0,0 +1,6 @@
        4733  +
GET /./ HTTP/1.1
        4734  +
Host:example.amazonaws.com
        4735  +
X-Amz-Date:20150830T123600Z
        4736  +
X-Amz-Region-Set:us-east-1
        4737  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4738  +
 3830   4739   
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
 3831   4740   
similarity index 99%
 3832   4741   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3833   4742   
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
 3834   4743   
index 95d7219..600f1d8 100644
 3835         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
        4744  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-string-to-sign.txt
 3836   4745   
@@ -1,4 +1,4 @@
 3837   4746   
AWS4-ECDSA-P256-SHA256
 3838   4747   
20150830T123600Z
 3839   4748   
20150830/service/aws4_request
 3840         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4749  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3841   4750   
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
 3842   4751   
new file mode 100644
 3843   4752   
index 0000000..379dcb2
 3844         -
-- /dev/null
        4753  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3845   4754   
@@ -0,0 +1,4 @@
        4755  +
{
        4756  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4757  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4758  +
}
 3846   4759   
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
 3847   4760   
similarity index 99%
 3848   4761   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3849   4762   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3850   4763   
index a34ea26..779c51c 100644
 3851         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
        4764  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3852   4765   
@@ -1,7 +1,7 @@
 3853   4766   
GET
 3854   4767   
/
 3855   4768   
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
 3856   4769   
host:example.amazonaws.com
 3857   4770   
 3858   4771   
host
 3859         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4772  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3860   4773   
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
 3861   4774   
new file mode 100644
 3862   4775   
index 0000000..4b6ed09
 3863         -
-- /dev/null
        4776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3864   4777   
@@ -0,0 +1 @@
        4778  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3865   4779   
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
 3866   4780   
new file mode 100644
 3867   4781   
index 0000000..d6c7176
 3868         -
-- /dev/null
        4782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3869   4783   
@@ -0,0 +1,3 @@
        4784  +
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
        4785  +
Host:example.amazonaws.com
        4786  +
 3870   4787   
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
 3871   4788   
similarity index 99%
 3872   4789   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3873   4790   
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
 3874   4791   
index 48f855c..6e29a7e 100644
 3875         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
        4792  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-string-to-sign.txt
 3876   4793   
@@ -1,4 +1,4 @@
 3877   4794   
AWS4-ECDSA-P256-SHA256
 3878   4795   
20150830T123600Z
 3879   4796   
20150830/service/aws4_request
 3880         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4797  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3881   4798   
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
 3882   4799   
similarity index 61%
 3883   4800   
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
 3884   4801   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3885   4802   
index f3537b7..2c5ff38 100644
 3886         -
-- 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
        4803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3887   4804   
@@ -1,3 +1,2 @@
 3888   4805   
GET /./ HTTP/1.1
 3889   4806   
Host:example.amazonaws.com
 3890         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3891   4807   
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
 3892   4808   
new file mode 100644
 3893   4809   
index 0000000..7bee5c7
 3894         -
-- /dev/null
        4810  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3895   4811   
@@ -0,0 +1,12 @@
        4812  +
{
        4813  +
    "credentials": {
        4814  +
        "access_key_id": "AKIDEXAMPLE",
        4815  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4816  +
    },
        4817  +
    "expiration_in_seconds": 3600,
        4818  +
    "normalize": false,
        4819  +
    "region": "us-east-1",
        4820  +
    "service": "service",
        4821  +
    "sign_body": false,
        4822  +
    "timestamp": "2015-08-30T12:36:00Z"
        4823  +
}
              \
 No newline at end of file
 3896   4824   
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
 3897   4825   
similarity index 99%
 3898   4826   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3899   4827   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3900   4828   
index d05303d..9257ac4 100644
 3901         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
        4829  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3902   4830   
@@ -1,9 +1,9 @@
 3903   4831   
GET
 3904   4832   
/./
 3905   4833   
 3906   4834   
host:example.amazonaws.com
 3907   4835   
x-amz-date:20150830T123600Z
 3908   4836   
x-amz-region-set:us-east-1
 3909   4837   
 3910   4838   
host;x-amz-date;x-amz-region-set
 3911         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4839  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3912   4840   
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
 3913   4841   
new file mode 100644
 3914   4842   
index 0000000..2eb1aa5
 3915         -
-- /dev/null
        4843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3916   4844   
@@ -0,0 +1 @@
        4845  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3917   4846   
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
 3918   4847   
new file mode 100644
 3919   4848   
index 0000000..df3b1da
 3920         -
-- /dev/null
        4849  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3921   4850   
@@ -0,0 +1,6 @@
        4851  +
GET /./ HTTP/1.1
        4852  +
Host:example.amazonaws.com
        4853  +
X-Amz-Date:20150830T123600Z
        4854  +
X-Amz-Region-Set:us-east-1
        4855  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4856  +
 3922   4857   
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
 3923   4858   
similarity index 99%
 3924   4859   
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
 3925   4860   
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
 3926   4861   
index e1bfb39..754b3ed 100644
 3927         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
        4862  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 3928   4863   
@@ -1,4 +1,4 @@
 3929   4864   
AWS4-ECDSA-P256-SHA256
 3930   4865   
20150830T123600Z
 3931   4866   
20150830/service/aws4_request
 3932         -
a14dce0217a32357c623c3db790988b6b5aa1494a527158b06d3ca4444561a4b
        4867  +
a14dce0217a32357c623c3db790988b6b5aa1494a527158b06d3ca4444561a4b
              \
 No newline at end of file
 3933   4868   
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
 3934   4869   
new file mode 100644
 3935   4870   
index 0000000..379dcb2
 3936         -
-- /dev/null
        4871  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3937   4872   
@@ -0,0 +1,4 @@
        4873  +
{
        4874  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4875  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4876  +
}
 3938   4877   
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
 3939   4878   
similarity index 99%
 3940   4879   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3941   4880   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3942   4881   
index f048d0f..c8edce3 100644
 3943         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
        4882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3944   4883   
@@ -1,7 +1,7 @@
 3945   4884   
GET
 3946   4885   
/./
 3947   4886   
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
 3948   4887   
host:example.amazonaws.com
 3949   4888   
 3950   4889   
host
 3951         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4890  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3952   4891   
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
 3953   4892   
new file mode 100644
 3954   4893   
index 0000000..d3af3b8
 3955         -
-- /dev/null
        4894  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3956   4895   
@@ -0,0 +1 @@
        4896  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3957   4897   
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
 3958   4898   
new file mode 100644
 3959   4899   
index 0000000..eb38155
 3960         -
-- /dev/null
        4900  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3961   4901   
@@ -0,0 +1,3 @@
        4902  +
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
        4903  +
Host:example.amazonaws.com
        4904  +
 3962   4905   
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
 3963   4906   
similarity index 99%
 3964   4907   
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
 3965   4908   
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
 3966   4909   
index bfcf245..4f20b8f 100644
 3967         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
        4910  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 3968   4911   
@@ -1,4 +1,4 @@
 3969   4912   
AWS4-ECDSA-P256-SHA256
 3970   4913   
20150830T123600Z
 3971   4914   
20150830/service/aws4_request
 3972         -
0d146fed00cdf50d7a87864583b7a33ca75322aab46b0a2d204f5d0c13440917
        4915  +
0d146fed00cdf50d7a87864583b7a33ca75322aab46b0a2d204f5d0c13440917
              \
 No newline at end of file
 3973   4916   
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
 3974   4917   
new file mode 100644
 3975   4918   
index 0000000..2c5ff38
 3976         -
-- /dev/null
        4919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3977   4920   
@@ -0,0 +1,2 @@
        4921  +
GET /./ HTTP/1.1
        4922  +
Host:example.amazonaws.com
 3978   4923   
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
 3979   4924   
new file mode 100644
 3980   4925   
index 0000000..0468d80
 3981         -
-- /dev/null
        4926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3982   4927   
@@ -0,0 +1,12 @@
        4928  +
{
        4929  +
    "credentials": {
        4930  +
        "access_key_id": "AKIDEXAMPLE",
        4931  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4932  +
    },
        4933  +
    "expiration_in_seconds": 3600,
        4934  +
    "normalize": true,
        4935  +
    "region": "us-east-1",
        4936  +
    "service": "service",
        4937  +
    "sign_body": false,
        4938  +
    "timestamp": "2015-08-30T12:36:00Z"
        4939  +
}
              \
 No newline at end of file
 3983   4940   
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
 3984   4941   
similarity index 99%
 3985   4942   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3986   4943   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3987   4944   
index 47e7128..76db73d 100644
 3988         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
        4945  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3989   4946   
@@ -1,9 +1,9 @@
 3990   4947   
GET
 3991   4948   
/
 3992   4949   
 3993   4950   
host:example.amazonaws.com
 3994   4951   
x-amz-date:20150830T123600Z
 3995   4952   
x-amz-region-set:us-east-1
 3996   4953   
 3997   4954   
host;x-amz-date;x-amz-region-set
 3998         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4955  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3999   4956   
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
 4000   4957   
new file mode 100644
 4001   4958   
index 0000000..0c049ca
 4002         -
-- /dev/null
        4959  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 4003   4960   
@@ -0,0 +1 @@
        4961  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 4004   4962   
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
 4005   4963   
new file mode 100644
 4006   4964   
index 0000000..f4bb1e1
 4007         -
-- /dev/null
        4965  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 4008   4966   
@@ -0,0 +1,6 @@
        4967  +
GET // HTTP/1.1
        4968  +
Host:example.amazonaws.com
        4969  +
X-Amz-Date:20150830T123600Z
        4970  +
X-Amz-Region-Set:us-east-1
        4971  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4972  +
 4009   4973   
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
 4010   4974   
similarity index 99%
 4011   4975   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 4012   4976   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 4013   4977   
index 95d7219..600f1d8 100644
 4014         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
        4978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 4015   4979   
@@ -1,4 +1,4 @@
 4016   4980   
AWS4-ECDSA-P256-SHA256
 4017   4981   
20150830T123600Z
 4018   4982   
20150830/service/aws4_request
 4019         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4983  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4020   4984   
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
 4021   4985   
new file mode 100644
 4022   4986   
index 0000000..379dcb2
 4023         -
-- /dev/null
        4987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 4024   4988   
@@ -0,0 +1,4 @@
        4989  +
{
        4990  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4991  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4992  +
}
 4025   4993   
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
 4026   4994   
similarity index 99%
 4027   4995   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 4028   4996   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 4029   4997   
index a34ea26..779c51c 100644
 4030         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
        4998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 4031   4999   
@@ -1,7 +1,7 @@
 4032   5000   
GET
 4033   5001   
/
 4034   5002   
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
 4035   5003   
host:example.amazonaws.com
 4036   5004   
 4037   5005   
host
 4038         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5006  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4039   5007   
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
 4040   5008   
new file mode 100644
 4041   5009   
index 0000000..ca52293
 4042         -
-- /dev/null
        5010  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 4043   5011   
@@ -0,0 +1 @@
        5012  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 4044   5013   
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
 4045   5014   
new file mode 100644
 4046   5015   
index 0000000..4a212a9
 4047         -
-- /dev/null
        5016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 4048   5017   
@@ -0,0 +1,3 @@
        5018  +
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
        5019  +
Host:example.amazonaws.com
        5020  +
 4049   5021   
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
 4050   5022   
similarity index 99%
 4051   5023   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 4052   5024   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 4053   5025   
index 48f855c..6e29a7e 100644
 4054         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
        5026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 4055   5027   
@@ -1,4 +1,4 @@
 4056   5028   
AWS4-ECDSA-P256-SHA256
 4057   5029   
20150830T123600Z
 4058   5030   
20150830/service/aws4_request
 4059         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        5031  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4060   5032   
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
 4061   5033   
similarity index 61%
 4062   5034   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 4063   5035   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 4064   5036   
index ede8e3c..25bc21e 100644
 4065         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        5037  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 4066   5038   
@@ -1,3 +1,2 @@
 4067   5039   
GET // HTTP/1.1
 4068   5040   
Host:example.amazonaws.com
 4069         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4070   5041   
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
 4071   5042   
new file mode 100644
 4072   5043   
index 0000000..0468d80
 4073         -
-- /dev/null
        5044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 4074   5045   
@@ -0,0 +1,12 @@
        5046  +
{
        5047  +
    "credentials": {
        5048  +
        "access_key_id": "AKIDEXAMPLE",
        5049  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5050  +
    },
        5051  +
    "expiration_in_seconds": 3600,
        5052  +
    "normalize": true,
        5053  +
    "region": "us-east-1",
        5054  +
    "service": "service",
        5055  +
    "sign_body": false,
        5056  +
    "timestamp": "2015-08-30T12:36:00Z"
        5057  +
}
              \
 No newline at end of file
 4075   5058   
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
 4076   5059   
similarity index 99%
 4077   5060   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4078   5061   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4079   5062   
index 2e36c20..a51f1ba 100644
 4080         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
        5063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4081   5064   
@@ -1,9 +1,9 @@
 4082   5065   
GET
 4083   5066   
/example
 4084   5067   
 4085   5068   
host:example.amazonaws.com
 4086   5069   
x-amz-date:20150830T123600Z
 4087   5070   
x-amz-region-set:us-east-1
 4088   5071   
 4089   5072   
host;x-amz-date;x-amz-region-set
 4090         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5073  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4091   5074   
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
 4092   5075   
new file mode 100644
 4093   5076   
index 0000000..f5c871f
 4094         -
-- /dev/null
        5077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 4095   5078   
@@ -0,0 +1 @@
        5079  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 4096   5080   
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
 4097   5081   
new file mode 100644
 4098   5082   
index 0000000..bda4718
 4099         -
-- /dev/null
        5083  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 4100   5084   
@@ -0,0 +1,6 @@
        5085  +
GET /./example HTTP/1.1
        5086  +
Host:example.amazonaws.com
        5087  +
X-Amz-Date:20150830T123600Z
        5088  +
X-Amz-Region-Set:us-east-1
        5089  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        5090  +
 4101   5091   
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
 4102   5092   
similarity index 99%
 4103   5093   
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
 4104   5094   
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
 4105   5095   
index cd30e8b..2ffe879 100644
 4106         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-string-to-sign.txt
        5096  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 4107   5097   
@@ -1,4 +1,4 @@
 4108   5098   
AWS4-ECDSA-P256-SHA256
 4109   5099   
20150830T123600Z
 4110   5100   
20150830/service/aws4_request
 4111         -
823cb165e35e124f862c99c89a46414c24e3800f149377591e35a4848317e825
        5101  +
823cb165e35e124f862c99c89a46414c24e3800f149377591e35a4848317e825
              \
 No newline at end of file
 4112   5102   
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
 4113   5103   
new file mode 100644
 4114   5104   
index 0000000..379dcb2
 4115         -
-- /dev/null
        5105  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 4116   5106   
@@ -0,0 +1,4 @@
        5107  +
{
        5108  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5109  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5110  +
}
 4117   5111   
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
 4118   5112   
similarity index 99%
 4119   5113   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4120   5114   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4121   5115   
index 77cf28d..45151ea 100644
 4122         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
        5116  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4123   5117   
@@ -1,7 +1,7 @@
 4124   5118   
GET
 4125   5119   
/example
 4126   5120   
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
 4127   5121   
host:example.amazonaws.com
 4128   5122   
 4129   5123   
host
 4130         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5124  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4131   5125   
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
 4132   5126   
new file mode 100644
 4133   5127   
index 0000000..11ad7bf
 4134         -
-- /dev/null
        5128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 4135   5129   
@@ -0,0 +1 @@
        5130  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 4136   5131   
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
 4137   5132   
new file mode 100644
 4138   5133   
index 0000000..a7537b1
 4139         -
-- /dev/null
        5134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 4140   5135   
@@ -0,0 +1,3 @@
        5136  +
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
        5137  +
Host:example.amazonaws.com
        5138  +
 4141   5139   
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
 4142   5140   
similarity index 99%
 4143   5141   
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
 4144   5142   
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
 4145   5143   
index 49d9b24..b486672 100644
 4146         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-string-to-sign.txt
        5144  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 4147   5145   
@@ -1,4 +1,4 @@
 4148   5146   
AWS4-ECDSA-P256-SHA256
 4149   5147   
20150830T123600Z
 4150   5148   
20150830/service/aws4_request
 4151         -
0cc67a8acfed5946b645794c649dd98d3485728119cdf17d38985ba0ff55abca
        5149  +
0cc67a8acfed5946b645794c649dd98d3485728119cdf17d38985ba0ff55abca
              \
 No newline at end of file
 4152   5150   
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
 4153   5151   
similarity index 65%
 4154   5152   
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
 4155   5153   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 4156   5154   
index 3c91071..5d919c9 100644
 4157         -
-- 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
        5155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 4158   5156   
@@ -1,3 +1,2 @@
 4159   5157   
GET /./example HTTP/1.1
 4160   5158   
Host:example.amazonaws.com
 4161         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4162   5159   
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
 4163   5160   
new file mode 100644
 4164   5161   
index 0000000..7bee5c7
 4165         -
-- /dev/null
        5162  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 4166   5163   
@@ -0,0 +1,12 @@
        5164  +
{
        5165  +
    "credentials": {
        5166  +
        "access_key_id": "AKIDEXAMPLE",
        5167  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5168  +
    },
        5169  +
    "expiration_in_seconds": 3600,
        5170  +
    "normalize": false,
        5171  +
    "region": "us-east-1",
        5172  +
    "service": "service",
        5173  +
    "sign_body": false,
        5174  +
    "timestamp": "2015-08-30T12:36:00Z"
        5175  +
}
              \
 No newline at end of file
 4167   5176   
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
 4168   5177   
similarity index 99%
 4169   5178   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4170   5179   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4171   5180   
index 4444842..2355a69 100644
 4172         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
        5181  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4173   5182   
@@ -1,9 +1,9 @@
 4174   5183   
GET
 4175   5184   
/./example
 4176   5185   
 4177   5186   
host:example.amazonaws.com
 4178   5187   
x-amz-date:20150830T123600Z
 4179   5188   
x-amz-region-set:us-east-1
 4180   5189   
 4181   5190   
host;x-amz-date;x-amz-region-set
 4182         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5191  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4183   5192   
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
 4184   5193   
new file mode 100644
 4185   5194   
index 0000000..9c8f737
 4186         -
-- /dev/null
        5195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 4187   5196   
@@ -0,0 +1 @@
        5197  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 4188   5198   
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
 4189   5199   
new file mode 100644
 4190   5200   
index 0000000..aa5980d
 4191         -
-- /dev/null
        5201  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 4192   5202   
@@ -0,0 +1,6 @@
        5203  +
GET /./example HTTP/1.1
        5204  +
Host:example.amazonaws.com
        5205  +
X-Amz-Date:20150830T123600Z
        5206  +
X-Amz-Region-Set:us-east-1
        5207  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        5208  +
 4193   5209   
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
 4194   5210   
similarity index 99%
 4195   5211   
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
 4196   5212   
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
 4197   5213   
index cc63510..d056816 100644
 4198         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
        5214  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 4199   5215   
@@ -1,4 +1,4 @@
 4200   5216   
AWS4-ECDSA-P256-SHA256
 4201   5217   
20150830T123600Z
 4202   5218   
20150830/service/aws4_request
 4203         -
407314cdff397462b2458ba1860907adefcbb73fd630ddbd3de7300d2f773804
        5219  +
407314cdff397462b2458ba1860907adefcbb73fd630ddbd3de7300d2f773804
              \
 No newline at end of file
 4204   5220   
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
 4205   5221   
new file mode 100644
 4206   5222   
index 0000000..379dcb2
 4207         -
-- /dev/null
        5223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 4208   5224   
@@ -0,0 +1,4 @@
        5225  +
{
        5226  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5227  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5228  +
}
 4209   5229   
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
 4210   5230   
similarity index 99%
 4211   5231   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4212   5232   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4213   5233   
index ed2cb2d..df9928e 100644
 4214         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
        5234  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4215   5235   
@@ -1,7 +1,7 @@
 4216   5236   
GET
 4217   5237   
/./example
 4218   5238   
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
 4219   5239   
host:example.amazonaws.com
 4220   5240   
 4221   5241   
host
 4222         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5242  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4223   5243   
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
 4224   5244   
new file mode 100644
 4225   5245   
index 0000000..bb4d86b
 4226         -
-- /dev/null
        5246  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 4227   5247   
@@ -0,0 +1 @@
        5248  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 4228   5249   
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
 4229   5250   
new file mode 100644
 4230   5251   
index 0000000..0061136
 4231         -
-- /dev/null
        5252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 4232   5253   
@@ -0,0 +1,3 @@
        5254  +
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
        5255  +
Host:example.amazonaws.com
        5256  +
 4233   5257   
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
 4234   5258   
similarity index 99%
 4235   5259   
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
 4236   5260   
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
 4237   5261   
index c9f3b6d..418f2d6 100644
 4238         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
        5262  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 4239   5263   
@@ -1,4 +1,4 @@
 4240   5264   
AWS4-ECDSA-P256-SHA256
 4241   5265   
20150830T123600Z
 4242   5266   
20150830/service/aws4_request
 4243         -
efbe4f47c2acbb53fbfd0be6846cfa35a48c21f3f800e741278dae7b721302b4
        5267  +
efbe4f47c2acbb53fbfd0be6846cfa35a48c21f3f800e741278dae7b721302b4
              \
 No newline at end of file
 4244   5268   
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
 4245   5269   
new file mode 100644
 4246   5270   
index 0000000..5d919c9
 4247         -
-- /dev/null
        5271  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 4248   5272   
@@ -0,0 +1,2 @@
        5273  +
GET /./example HTTP/1.1
        5274  +
Host:example.amazonaws.com
 4249   5275   
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
 4250   5276   
new file mode 100644
 4251   5277   
index 0000000..7bee5c7
 4252         -
-- /dev/null
        5278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 4253   5279   
@@ -0,0 +1,12 @@
        5280  +
{
        5281  +
    "credentials": {
        5282  +
        "access_key_id": "AKIDEXAMPLE",
        5283  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5284  +
    },
        5285  +
    "expiration_in_seconds": 3600,
        5286  +
    "normalize": false,
        5287  +
    "region": "us-east-1",
        5288  +
    "service": "service",
        5289  +
    "sign_body": false,
        5290  +
    "timestamp": "2015-08-30T12:36:00Z"
        5291  +
}
              \
 No newline at end of file
 4254   5292   
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
 4255   5293   
similarity index 99%
 4256   5294   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 4257   5295   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 4258   5296   
index 8a4d33b..5f809da 100644
 4259         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
        5297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 4260   5298   
@@ -1,9 +1,9 @@
 4261   5299   
GET
 4262   5300   
//
 4263   5301   
 4264   5302   
host:example.amazonaws.com
 4265   5303   
x-amz-date:20150830T123600Z
 4266   5304   
x-amz-region-set:us-east-1
 4267   5305   
 4268   5306   
host;x-amz-date;x-amz-region-set
 4269         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5307  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4270   5308   
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
 4271   5309   
new file mode 100644
 4272   5310   
index 0000000..60179e9
 4273         -
-- /dev/null
        5311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 4274   5312   
@@ -0,0 +1 @@
        5313  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 4275   5314   
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
 4276   5315   
new file mode 100644
 4277   5316   
index 0000000..72bf1b7
 4278         -
-- /dev/null
        5317  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 4279   5318   
@@ -0,0 +1,6 @@
        5319  +
GET // HTTP/1.1
        5320  +
Host:example.amazonaws.com
        5321  +
X-Amz-Date:20150830T123600Z
        5322  +
X-Amz-Region-Set:us-east-1
        5323  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        5324  +
 4280   5325   
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
 4281   5326   
similarity index 99%
 4282   5327   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 4283   5328   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 4284   5329   
index 874c01c..2b3bf67 100644
 4285         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
        5330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 4286   5331   
@@ -1,4 +1,4 @@
 4287   5332   
AWS4-ECDSA-P256-SHA256
 4288   5333   
20150830T123600Z
 4289   5334   
20150830/service/aws4_request
 4290         -
fc8f42c7ce50ba8830a34b16d9fb478170176d78c81339e8d7e31d4baa9ec9f4
        5335  +
fc8f42c7ce50ba8830a34b16d9fb478170176d78c81339e8d7e31d4baa9ec9f4
              \
 No newline at end of file
 4291   5336   
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
 4292   5337   
new file mode 100644
 4293   5338   
index 0000000..379dcb2
 4294         -
-- /dev/null
        5339  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 4295   5340   
@@ -0,0 +1,4 @@
        5341  +
{
        5342  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5343  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5344  +
}
 4296   5345   
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
 4297   5346   
similarity index 99%
 4298   5347   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 4299   5348   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 4300   5349   
index 81d7b0b..d10ad29 100644
 4301         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
        5350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 4302   5351   
@@ -1,7 +1,7 @@
 4303   5352   
GET
 4304   5353   
//
 4305   5354   
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
 4306   5355   
host:example.amazonaws.com
 4307   5356   
 4308   5357   
host
 4309         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5358  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4310   5359   
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
 4311   5360   
new file mode 100644
 4312   5361   
index 0000000..d9bd824
 4313         -
-- /dev/null
        5362  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 4314   5363   
@@ -0,0 +1 @@
        5364  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 4315   5365   
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
 4316   5366   
new file mode 100644
 4317   5367   
index 0000000..19d1d46
 4318         -
-- /dev/null
        5368  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 4319   5369   
@@ -0,0 +1,3 @@
        5370  +
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
        5371  +
Host:example.amazonaws.com
        5372  +
 4320   5373   
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
 4321   5374   
similarity index 99%
 4322   5375   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 4323   5376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 4324   5377   
index 17e5279..24c8a5e 100644
 4325         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
        5378  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 4326   5379   
@@ -1,4 +1,4 @@
 4327   5380   
AWS4-ECDSA-P256-SHA256
 4328   5381   
20150830T123600Z
 4329   5382   
20150830/service/aws4_request
 4330         -
633e0570a745c18cc22e43af8be65cfed3e7173061ec403353734bdfae90e0b6
        5383  +
633e0570a745c18cc22e43af8be65cfed3e7173061ec403353734bdfae90e0b6
              \
 No newline at end of file
 4331   5384   
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
 4332   5385   
new file mode 100644
 4333   5386   
index 0000000..25bc21e
 4334         -
-- /dev/null
        5387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 4335   5388   
@@ -0,0 +1,2 @@
        5389  +
GET // HTTP/1.1
        5390  +
Host:example.amazonaws.com
 4336   5391   
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
 4337   5392   
new file mode 100644
 4338   5393   
index 0000000..0468d80
 4339         -
-- /dev/null
        5394  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 4340   5395   
@@ -0,0 +1,12 @@
        5396  +
{
        5397  +
    "credentials": {
        5398  +
        "access_key_id": "AKIDEXAMPLE",
        5399  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5400  +
    },
        5401  +
    "expiration_in_seconds": 3600,
        5402  +
    "normalize": true,
        5403  +
    "region": "us-east-1",
        5404  +
    "service": "service",
        5405  +
    "sign_body": false,
        5406  +
    "timestamp": "2015-08-30T12:36:00Z"
        5407  +
}
              \
 No newline at end of file
 4341   5408   
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
 4342   5409   
similarity index 99%
 4343   5410   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 4344   5411   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 4345   5412   
index fdf9c48..a8e9e02 100644
 4346         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
        5413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 4347   5414   
@@ -1,9 +1,9 @@
 4348   5415   
GET
 4349   5416   
/example/
 4350   5417   
 4351   5418   
host:example.amazonaws.com
 4352   5419   
x-amz-date:20150830T123600Z
 4353   5420   
x-amz-region-set:us-east-1
 4354   5421   
 4355   5422   
host;x-amz-date;x-amz-region-set
 4356         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5423  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4357   5424   
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
 4358   5425   
new file mode 100644
 4359   5426   
index 0000000..ffe1b60
 4360         -
-- /dev/null
        5427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 4361   5428   
@@ -0,0 +1 @@
        5429  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 4362   5430   
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
 4363   5431   
new file mode 100644
 4364   5432   
index 0000000..3189f55
 4365         -
-- /dev/null
        5433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 4366   5434   
@@ -0,0 +1,6 @@
        5435  +
GET //example// HTTP/1.1
        5436  +
Host:example.amazonaws.com
        5437  +
X-Amz-Date:20150830T123600Z
        5438  +
X-Amz-Region-Set:us-east-1
        5439  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        5440  +
 4367   5441   
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
 4368   5442   
similarity index 99%
 4369   5443   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 4370   5444   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 4371   5445   
index 8f9c95e..430020e 100644
 4372         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
        5446  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 4373   5447   
@@ -1,4 +1,4 @@
 4374   5448   
AWS4-ECDSA-P256-SHA256
 4375   5449   
20150830T123600Z
 4376   5450   
20150830/service/aws4_request
 4377         -
ea6c9c4bc1e85b94f2579cebbc85a84c3f8eaa055c006697555f074dd68509a6
        5451  +
ea6c9c4bc1e85b94f2579cebbc85a84c3f8eaa055c006697555f074dd68509a6
              \
 No newline at end of file
 4378   5452   
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
 4379   5453   
new file mode 100644
 4380   5454   
index 0000000..379dcb2
 4381         -
-- /dev/null
        5455  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 4382   5456   
@@ -0,0 +1,4 @@
        5457  +
{
        5458  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5459  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5460  +
}
 4383   5461   
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
 4384   5462   
similarity index 99%
 4385   5463   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 4386   5464   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 4387   5465   
index 1046735..8d41e37 100644
 4388         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
        5466  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 4389   5467   
@@ -1,7 +1,7 @@
 4390   5468   
GET
 4391   5469   
/example/
 4392   5470   
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
 4393   5471   
host:example.amazonaws.com
 4394   5472   
 4395   5473   
host
 4396         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5474  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4397   5475   
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
 4398   5476   
new file mode 100644
 4399   5477   
index 0000000..93a0fa4
 4400         -
-- /dev/null
        5478  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 4401   5479   
@@ -0,0 +1 @@
        5480  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 4402   5481   
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
 4403   5482   
new file mode 100644
 4404   5483   
index 0000000..65c8cb6
 4405         -
-- /dev/null
        5484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 4406   5485   
@@ -0,0 +1,3 @@
        5486  +
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
        5487  +
Host:example.amazonaws.com
        5488  +
 4407   5489   
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
 4408   5490   
similarity index 99%
 4409   5491   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 4410   5492   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 4411   5493   
index b293cc2..0f4c4c5 100644
 4412         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
        5494  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 4413   5495   
@@ -1,4 +1,4 @@
 4414   5496   
AWS4-ECDSA-P256-SHA256
 4415   5497   
20150830T123600Z
 4416   5498   
20150830/service/aws4_request
 4417         -
ab3f7b8af0ce16e0faf508160fb13d890874992d74f36214ae9eec7437361f2b
        5499  +
ab3f7b8af0ce16e0faf508160fb13d890874992d74f36214ae9eec7437361f2b
              \
 No newline at end of file
 4418   5500   
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
 4419   5501   
similarity index 65%
 4420   5502   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 4421   5503   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4422   5504   
index a4307ce..12e0931 100644
 4423         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        5505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4424   5506   
@@ -1,3 +1,2 @@
 4425   5507   
GET //example// HTTP/1.1
 4426   5508   
Host:example.amazonaws.com
 4427         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4428   5509   
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
 4429   5510   
new file mode 100644
 4430   5511   
index 0000000..7bee5c7
 4431         -
-- /dev/null
        5512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 4432   5513   
@@ -0,0 +1,12 @@
        5514  +
{
        5515  +
    "credentials": {
        5516  +
        "access_key_id": "AKIDEXAMPLE",
        5517  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5518  +
    },
        5519  +
    "expiration_in_seconds": 3600,
        5520  +
    "normalize": false,
        5521  +
    "region": "us-east-1",
        5522  +
    "service": "service",
        5523  +
    "sign_body": false,
        5524  +
    "timestamp": "2015-08-30T12:36:00Z"
        5525  +
}
              \
 No newline at end of file
 4433   5526   
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
 4434   5527   
similarity index 99%
 4435   5528   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 4436   5529   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 4437   5530   
index a9c55f6..76f55ed 100644
 4438         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
        5531  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 4439   5532   
@@ -1,9 +1,9 @@
 4440   5533   
GET
 4441   5534   
//example//
 4442   5535   
 4443   5536   
host:example.amazonaws.com
 4444   5537   
x-amz-date:20150830T123600Z
 4445   5538   
x-amz-region-set:us-east-1
 4446   5539   
 4447   5540   
host;x-amz-date;x-amz-region-set
 4448         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5541  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4449   5542   
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
 4450   5543   
new file mode 100644
 4451   5544   
index 0000000..de333b2
 4452         -
-- /dev/null
        5545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 4453   5546   
@@ -0,0 +1 @@
        5547  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 4454   5548   
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
 4455   5549   
new file mode 100644
 4456   5550   
index 0000000..773ce63
 4457         -
-- /dev/null
        5551  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 4458   5552   
@@ -0,0 +1,6 @@
        5553  +
GET //example// HTTP/1.1
        5554  +
Host:example.amazonaws.com
        5555  +
X-Amz-Date:20150830T123600Z
        5556  +
X-Amz-Region-Set:us-east-1
        5557  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        5558  +
 4459   5559   
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
 4460   5560   
similarity index 99%
 4461   5561   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 4462   5562   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 4463   5563   
index 5c4c2cd..46c3265 100644
 4464         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
        5564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 4465   5565   
@@ -1,4 +1,4 @@
 4466   5566   
AWS4-ECDSA-P256-SHA256
 4467   5567   
20150830T123600Z
 4468   5568   
20150830/service/aws4_request
 4469         -
bf8c459a6a7f3879f55bff41e4dca65f69df4628456904e47f83013c0deb7276
        5569  +
bf8c459a6a7f3879f55bff41e4dca65f69df4628456904e47f83013c0deb7276
              \
 No newline at end of file
 4470   5570   
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
 4471   5571   
new file mode 100644
 4472   5572   
index 0000000..379dcb2
 4473         -
-- /dev/null
        5573  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 4474   5574   
@@ -0,0 +1,4 @@
        5575  +
{
        5576  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5577  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5578  +
}
 4475   5579   
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
 4476   5580   
similarity index 99%
 4477   5581   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 4478   5582   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 4479   5583   
index c878ab4..6047ccf 100644
 4480         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
        5584  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 4481   5585   
@@ -1,7 +1,7 @@
 4482   5586   
GET
 4483   5587   
//example//
 4484   5588   
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
 4485   5589   
host:example.amazonaws.com
 4486   5590   
 4487   5591   
host
 4488         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5592  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4489   5593   
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
 4490   5594   
new file mode 100644
 4491   5595   
index 0000000..d61fcd0
 4492         -
-- /dev/null
        5596  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 4493   5597   
@@ -0,0 +1 @@
        5598  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 4494   5599   
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
 4495   5600   
new file mode 100644
 4496   5601   
index 0000000..3e37b5b
 4497         -
-- /dev/null
        5602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 4498   5603   
@@ -0,0 +1,3 @@
        5604  +
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
        5605  +
Host:example.amazonaws.com
        5606  +
 4499   5607   
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
 4500   5608   
similarity index 99%
 4501   5609   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 4502   5610   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4503   5611   
index 5f59645..2537d28 100644
 4504         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
        5612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4505   5613   
@@ -1,4 +1,4 @@
 4506   5614   
AWS4-ECDSA-P256-SHA256
 4507   5615   
20150830T123600Z
 4508   5616   
20150830/service/aws4_request
 4509         -
660b4a6f0bd53b287cefb21cdf69c1574303de44d2e9f7759b5379b428b70157
        5617  +
660b4a6f0bd53b287cefb21cdf69c1574303de44d2e9f7759b5379b428b70157
              \
 No newline at end of file
 4510   5618   
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
 4511   5619   
new file mode 100644
 4512   5620   
index 0000000..12e0931
 4513         -
-- /dev/null
        5621  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 4514   5622   
@@ -0,0 +1,2 @@
        5623  +
GET //example// HTTP/1.1
        5624  +
Host:example.amazonaws.com
 4515   5625   
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
 4516   5626   
new file mode 100644
 4517   5627   
index 0000000..0468d80
 4518         -
-- /dev/null
        5628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 4519   5629   
@@ -0,0 +1,12 @@
        5630  +
{
        5631  +
    "credentials": {
        5632  +
        "access_key_id": "AKIDEXAMPLE",
        5633  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5634  +
    },
        5635  +
    "expiration_in_seconds": 3600,
        5636  +
    "normalize": true,
        5637  +
    "region": "us-east-1",
        5638  +
    "service": "service",
        5639  +
    "sign_body": false,
        5640  +
    "timestamp": "2015-08-30T12:36:00Z"
        5641  +
}
              \
 No newline at end of file
 4520   5642   
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
 4521   5643   
new file mode 100644
 4522   5644   
index 0000000..0b2b616
 4523         -
-- /dev/null
        5645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 4524   5646   
@@ -0,0 +1,9 @@
        5647  +
GET
        5648  +
/example%20space/
        5649  +
        5650  +
host:example.amazonaws.com
        5651  +
x-amz-date:20150830T123600Z
        5652  +
x-amz-region-set:us-east-1
        5653  +
        5654  +
host;x-amz-date;x-amz-region-set
        5655  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4525   5656   
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
 4526   5657   
new file mode 100644
 4527   5658   
index 0000000..6e7841d
 4528         -
-- /dev/null
        5659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 4529   5660   
@@ -0,0 +1 @@
        5661  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 4530   5662   
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
 4531   5663   
new file mode 100644
 4532   5664   
index 0000000..0969cd3
 4533         -
-- /dev/null
        5665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 4534   5666   
@@ -0,0 +1,6 @@
        5667  +
GET /example space/ HTTP/1.1
        5668  +
Host:example.amazonaws.com
        5669  +
X-Amz-Date:20150830T123600Z
        5670  +
X-Amz-Region-Set:us-east-1
        5671  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        5672  +
 4535   5673   
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
 4536   5674   
new file mode 100644
 4537   5675   
index 0000000..ddae6e2
 4538         -
-- /dev/null
        5676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 4539   5677   
@@ -0,0 +1,4 @@
        5678  +
AWS4-ECDSA-P256-SHA256
        5679  +
20150830T123600Z
        5680  +
20150830/service/aws4_request
        5681  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4540   5682   
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
 4541   5683   
new file mode 100644
 4542   5684   
index 0000000..379dcb2
 4543         -
-- /dev/null
        5685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 4544   5686   
@@ -0,0 +1,4 @@
        5687  +
{
        5688  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5689  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5690  +
}
 4545   5691   
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
 4546   5692   
new file mode 100644
 4547   5693   
index 0000000..a66b3cb
 4548         -
-- /dev/null
        5694  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 4549   5695   
@@ -0,0 +1,7 @@
        5696  +
GET
        5697  +
/example%20space/
        5698  +
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
        5699  +
host:example.amazonaws.com
        5700  +
        5701  +
host
        5702  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4550   5703   
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
 4551   5704   
new file mode 100644
 4552   5705   
index 0000000..b3253ae
 4553         -
-- /dev/null
        5706  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 4554   5707   
@@ -0,0 +1 @@
        5708  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 4555   5709   
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
 4556   5710   
new file mode 100644
 4557   5711   
index 0000000..9e335b2
 4558         -
-- /dev/null
        5712  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 4559   5713   
@@ -0,0 +1,3 @@
        5714  +
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
        5715  +
Host:example.amazonaws.com
        5716  +
 4560   5717   
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
 4561   5718   
new file mode 100644
 4562   5719   
index 0000000..b6ff6fb
 4563         -
-- /dev/null
        5720  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 4564   5721   
@@ -0,0 +1,4 @@
        5722  +
AWS4-ECDSA-P256-SHA256
        5723  +
20150830T123600Z
        5724  +
20150830/service/aws4_request
        5725  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4565   5726   
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
 4566   5727   
new file mode 100644
 4567   5728   
index 0000000..ab509ab
 4568         -
-- /dev/null
        5729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 4569   5730   
@@ -0,0 +1,2 @@
        5731  +
GET /example space/ HTTP/1.1
        5732  +
Host:example.amazonaws.com
 4570   5733   
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
 4571   5734   
new file mode 100644
 4572   5735   
index 0000000..7bee5c7
 4573         -
-- /dev/null
        5736  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 4574   5737   
@@ -0,0 +1,12 @@
        5738  +
{
        5739  +
    "credentials": {
        5740  +
        "access_key_id": "AKIDEXAMPLE",
        5741  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5742  +
    },
        5743  +
    "expiration_in_seconds": 3600,
        5744  +
    "normalize": false,
        5745  +
    "region": "us-east-1",
        5746  +
    "service": "service",
        5747  +
    "sign_body": false,
        5748  +
    "timestamp": "2015-08-30T12:36:00Z"
        5749  +
}
              \
 No newline at end of file
 4575   5750   
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
 4576   5751   
new file mode 100644
 4577   5752   
index 0000000..0b2b616
 4578         -
-- /dev/null
        5753  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 4579   5754   
@@ -0,0 +1,9 @@
        5755  +
GET
        5756  +
/example%20space/
        5757  +
        5758  +
host:example.amazonaws.com
        5759  +
x-amz-date:20150830T123600Z
        5760  +
x-amz-region-set:us-east-1
        5761  +
        5762  +
host;x-amz-date;x-amz-region-set
        5763  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4580   5764   
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
 4581   5765   
new file mode 100644
 4582   5766   
index 0000000..e75ae08
 4583         -
-- /dev/null
        5767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 4584   5768   
@@ -0,0 +1 @@
        5769  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 4585   5770   
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
 4586   5771   
new file mode 100644
 4587   5772   
index 0000000..cb089db
 4588         -
-- /dev/null
        5773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 4589   5774   
@@ -0,0 +1,6 @@
        5775  +
GET /example space/ HTTP/1.1
        5776  +
Host:example.amazonaws.com
        5777  +
X-Amz-Date:20150830T123600Z
        5778  +
X-Amz-Region-Set:us-east-1
        5779  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5780  +
 4590   5781   
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
 4591   5782   
new file mode 100644
 4592   5783   
index 0000000..ddae6e2
 4593         -
-- /dev/null
        5784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 4594   5785   
@@ -0,0 +1,4 @@
        5786  +
AWS4-ECDSA-P256-SHA256
        5787  +
20150830T123600Z
        5788  +
20150830/service/aws4_request
        5789  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4595   5790   
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
 4596   5791   
new file mode 100644
 4597   5792   
index 0000000..379dcb2
 4598         -
-- /dev/null
        5793  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 4599   5794   
@@ -0,0 +1,4 @@
        5795  +
{
        5796  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5797  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5798  +
}
 4600   5799   
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
 4601   5800   
new file mode 100644
 4602   5801   
index 0000000..a66b3cb
 4603         -
-- /dev/null
        5802  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 4604   5803   
@@ -0,0 +1,7 @@
        5804  +
GET
        5805  +
/example%20space/
        5806  +
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
        5807  +
host:example.amazonaws.com
        5808  +
        5809  +
host
        5810  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4605   5811   
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
 4606   5812   
new file mode 100644
 4607   5813   
index 0000000..66a80c3
 4608         -
-- /dev/null
        5814  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 4609   5815   
@@ -0,0 +1 @@
        5816  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 4610   5817   
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
 4611   5818   
new file mode 100644
 4612   5819   
index 0000000..7d1b9d9
 4613         -
-- /dev/null
        5820  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 4614   5821   
@@ -0,0 +1,3 @@
        5822  +
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
        5823  +
Host:example.amazonaws.com
        5824  +
 4615   5825   
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
 4616   5826   
new file mode 100644
 4617   5827   
index 0000000..b6ff6fb
 4618         -
-- /dev/null
        5828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 4619   5829   
@@ -0,0 +1,4 @@
        5830  +
AWS4-ECDSA-P256-SHA256
        5831  +
20150830T123600Z
        5832  +
20150830/service/aws4_request
        5833  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4620   5834   
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
 4621   5835   
new file mode 100644
 4622   5836   
index 0000000..ab509ab
 4623         -
-- /dev/null
        5837  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 4624   5838   
@@ -0,0 +1,2 @@
        5839  +
GET /example space/ HTTP/1.1
        5840  +
Host:example.amazonaws.com
 4625   5841   
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
 4626   5842   
new file mode 100644
 4627   5843   
index 0000000..0468d80
 4628         -
-- /dev/null
        5844  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 4629   5845   
@@ -0,0 +1,12 @@
        5846  +
{
        5847  +
    "credentials": {
        5848  +
        "access_key_id": "AKIDEXAMPLE",
        5849  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5850  +
    },
        5851  +
    "expiration_in_seconds": 3600,
        5852  +
    "normalize": true,
        5853  +
    "region": "us-east-1",
        5854  +
    "service": "service",
        5855  +
    "sign_body": false,
        5856  +
    "timestamp": "2015-08-30T12:36:00Z"
        5857  +
}
              \
 No newline at end of file
 4630   5858   
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
 4631   5859   
similarity index 99%
 4632   5860   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 4633   5861   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4634   5862   
index b0db648..46d76bb 100644
 4635         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
        5863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4636   5864   
@@ -1,9 +1,9 @@
 4637   5865   
GET
 4638   5866   
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4639   5867   
 4640   5868   
host:example.amazonaws.com
 4641   5869   
x-amz-date:20150830T123600Z
 4642   5870   
x-amz-region-set:us-east-1
 4643   5871   
 4644   5872   
host;x-amz-date;x-amz-region-set
 4645         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5873  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4646   5874   
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
 4647   5875   
new file mode 100644
 4648   5876   
index 0000000..53c0cb6
 4649         -
-- /dev/null
        5877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 4650   5878   
@@ -0,0 +1 @@
        5879  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 4651   5880   
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
 4652   5881   
new file mode 100644
 4653   5882   
index 0000000..3bdb653
 4654         -
-- /dev/null
        5883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 4655   5884   
@@ -0,0 +1,6 @@
        5885  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5886  +
Host:example.amazonaws.com
        5887  +
X-Amz-Date:20150830T123600Z
        5888  +
X-Amz-Region-Set:us-east-1
        5889  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5890  +
 4656   5891   
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
 4657   5892   
similarity index 99%
 4658   5893   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 4659   5894   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4660   5895   
index 20c7cd6..3b30173 100644
 4661         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
        5896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4662   5897   
@@ -1,4 +1,4 @@
 4663   5898   
AWS4-ECDSA-P256-SHA256
 4664   5899   
20150830T123600Z
 4665   5900   
20150830/service/aws4_request
 4666         -
b48c0f7d7cdaa2cd05e4b789c913063becd96ccace5296a334c950040e58bcac
        5901  +
b48c0f7d7cdaa2cd05e4b789c913063becd96ccace5296a334c950040e58bcac
              \
 No newline at end of file
 4667   5902   
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
 4668   5903   
new file mode 100644
 4669   5904   
index 0000000..379dcb2
 4670         -
-- /dev/null
        5905  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 4671   5906   
@@ -0,0 +1,4 @@
        5907  +
{
        5908  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5909  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5910  +
}
 4672   5911   
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
 4673   5912   
similarity index 99%
 4674   5913   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 4675   5914   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4676   5915   
index f9fb726..7e93f58 100644
 4677         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
        5916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4678   5917   
@@ -1,7 +1,7 @@
 4679   5918   
GET
 4680   5919   
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4681   5920   
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
 4682   5921   
host:example.amazonaws.com
 4683   5922   
 4684   5923   
host
 4685         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5924  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4686   5925   
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
 4687   5926   
new file mode 100644
 4688   5927   
index 0000000..48311a8
 4689         -
-- /dev/null
        5928  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 4690   5929   
@@ -0,0 +1 @@
        5930  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 4691   5931   
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
 4692   5932   
new file mode 100644
 4693   5933   
index 0000000..82da9be
 4694         -
-- /dev/null
        5934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 4695   5935   
@@ -0,0 +1,3 @@
        5936  +
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
        5937  +
Host:example.amazonaws.com
        5938  +
 4696   5939   
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
 4697   5940   
similarity index 99%
 4698   5941   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 4699   5942   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4700   5943   
index ef06e89..4aab9a2 100644
 4701         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
        5944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4702   5945   
@@ -1,4 +1,4 @@
 4703   5946   
AWS4-ECDSA-P256-SHA256
 4704   5947   
20150830T123600Z
 4705   5948   
20150830/service/aws4_request
 4706         -
a967a5035e5dc574f94fb9f0de0faf9d56e889c26d9a65d7d0a15d89690280d1
        5949  +
a967a5035e5dc574f94fb9f0de0faf9d56e889c26d9a65d7d0a15d89690280d1
              \
 No newline at end of file
 4707   5950   
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
 4708   5951   
similarity index 80%
 4709   5952   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 4710   5953   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4711   5954   
index da760cd..a149694 100644
 4712         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5955  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4713   5956   
@@ -1,3 +1,2 @@
 4714   5957   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4715   5958   
Host:example.amazonaws.com
 4716         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4717   5959   
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
 4718   5960   
new file mode 100644
 4719   5961   
index 0000000..0468d80
 4720         -
-- /dev/null
        5962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4721   5963   
@@ -0,0 +1,12 @@
        5964  +
{
        5965  +
    "credentials": {
        5966  +
        "access_key_id": "AKIDEXAMPLE",
        5967  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5968  +
    },
        5969  +
    "expiration_in_seconds": 3600,
        5970  +
    "normalize": true,
        5971  +
    "region": "us-east-1",
        5972  +
    "service": "service",
        5973  +
    "sign_body": false,
        5974  +
    "timestamp": "2015-08-30T12:36:00Z"
        5975  +
}
              \
 No newline at end of file
 4722   5976   
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
 4723   5977   
new file mode 100644
 4724   5978   
index 0000000..0f1afe7
 4725         -
-- /dev/null
        5979  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4726   5980   
@@ -0,0 +1,9 @@
        5981  +
GET
        5982  +
/%E1%88%B4
        5983  +
        5984  +
host:example.amazonaws.com
        5985  +
x-amz-date:20150830T123600Z
        5986  +
x-amz-region-set:us-east-1
        5987  +
        5988  +
host;x-amz-date;x-amz-region-set
        5989  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4727   5990   
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
 4728   5991   
new file mode 100644
 4729   5992   
index 0000000..4b9af6c
 4730         -
-- /dev/null
        5993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4731   5994   
@@ -0,0 +1 @@
        5995  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 4732   5996   
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
 4733   5997   
new file mode 100644
 4734   5998   
index 0000000..d42d7b3
 4735         -
-- /dev/null
        5999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4736   6000   
@@ -0,0 +1,6 @@
        6001  +
GET /ሴ HTTP/1.1
        6002  +
Host:example.amazonaws.com
        6003  +
X-Amz-Date:20150830T123600Z
        6004  +
X-Amz-Region-Set:us-east-1
        6005  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        6006  +
 4737   6007   
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
 4738   6008   
new file mode 100644
 4739   6009   
index 0000000..0827f62
 4740         -
-- /dev/null
        6010  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4741   6011   
@@ -0,0 +1,4 @@
        6012  +
AWS4-ECDSA-P256-SHA256
        6013  +
20150830T123600Z
        6014  +
20150830/service/aws4_request
        6015  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4742   6016   
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
 4743   6017   
new file mode 100644
 4744   6018   
index 0000000..379dcb2
 4745         -
-- /dev/null
        6019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4746   6020   
@@ -0,0 +1,4 @@
        6021  +
{
        6022  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6023  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6024  +
}
 4747   6025   
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
 4748   6026   
new file mode 100644
 4749   6027   
index 0000000..a41a2f8
 4750         -
-- /dev/null
        6028  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4751   6029   
@@ -0,0 +1,7 @@
        6030  +
GET
        6031  +
/%E1%88%B4
        6032  +
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
        6033  +
host:example.amazonaws.com
        6034  +
        6035  +
host
        6036  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4752   6037   
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
 4753   6038   
new file mode 100644
 4754   6039   
index 0000000..a5c7f4f
 4755         -
-- /dev/null
        6040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4756   6041   
@@ -0,0 +1 @@
        6042  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4757   6043   
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
 4758   6044   
new file mode 100644
 4759   6045   
index 0000000..492ed33
 4760         -
-- /dev/null
        6046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4761   6047   
@@ -0,0 +1,3 @@
        6048  +
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
        6049  +
Host:example.amazonaws.com
        6050  +
 4762   6051   
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
 4763   6052   
new file mode 100644
 4764   6053   
index 0000000..a93108f
 4765         -
-- /dev/null
        6054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4766   6055   
@@ -0,0 +1,4 @@
        6056  +
AWS4-ECDSA-P256-SHA256
        6057  +
20150830T123600Z
        6058  +
20150830/service/aws4_request
        6059  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4767   6060   
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
 4768   6061   
new file mode 100644
 4769   6062   
index 0000000..9e273f6
 4770         -
-- /dev/null
        6063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4771   6064   
@@ -0,0 +1,2 @@
        6065  +
GET /ሴ HTTP/1.1
        6066  +
Host:example.amazonaws.com
 4772   6067   
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
 4773   6068   
new file mode 100644
 4774   6069   
index 0000000..0468d80
 4775         -
-- /dev/null
        6070  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4776   6071   
@@ -0,0 +1,12 @@
        6072  +
{
        6073  +
    "credentials": {
        6074  +
        "access_key_id": "AKIDEXAMPLE",
        6075  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6076  +
    },
        6077  +
    "expiration_in_seconds": 3600,
        6078  +
    "normalize": true,
        6079  +
    "region": "us-east-1",
        6080  +
    "service": "service",
        6081  +
    "sign_body": false,
        6082  +
    "timestamp": "2015-08-30T12:36:00Z"
        6083  +
}
              \
 No newline at end of file
 4777   6084   
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
 4778   6085   
similarity index 99%
 4779   6086   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4780   6087   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4781   6088   
index bb9d4bf..edc0bb4 100644
 4782         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
        6089  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4783   6090   
@@ -1,9 +1,9 @@
 4784   6091   
GET
 4785   6092   
/
 4786   6093   
Param1=value1
 4787   6094   
host:example.amazonaws.com
 4788   6095   
x-amz-date:20150830T123600Z
 4789   6096   
x-amz-region-set:us-east-1
 4790   6097   
 4791   6098   
host;x-amz-date;x-amz-region-set
 4792         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6099  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4793   6100   
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
 4794   6101   
new file mode 100644
 4795   6102   
index 0000000..ee9a272
 4796         -
-- /dev/null
        6103  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4797   6104   
@@ -0,0 +1 @@
        6105  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4798   6106   
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
 4799   6107   
new file mode 100644
 4800   6108   
index 0000000..2090343
 4801         -
-- /dev/null
        6109  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4802   6110   
@@ -0,0 +1,6 @@
        6111  +
GET /?Param1=value1 HTTP/1.1
        6112  +
Host:example.amazonaws.com
        6113  +
X-Amz-Date:20150830T123600Z
        6114  +
X-Amz-Region-Set:us-east-1
        6115  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        6116  +
 4803   6117   
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
 4804   6118   
similarity index 99%
 4805   6119   
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
 4806   6120   
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
 4807   6121   
index a176f1d..06ed74f 100644
 4808         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-string-to-sign.txt
        6122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-string-to-sign.txt
 4809   6123   
@@ -1,4 +1,4 @@
 4810   6124   
AWS4-ECDSA-P256-SHA256
 4811   6125   
20150830T123600Z
 4812   6126   
20150830/service/aws4_request
 4813         -
894f4237e92aae973c992da1d1f39d7a5913a23e9f7cbcf085e9550685eb498a
        6127  +
894f4237e92aae973c992da1d1f39d7a5913a23e9f7cbcf085e9550685eb498a
              \
 No newline at end of file
 4814   6128   
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
 4815   6129   
new file mode 100644
 4816   6130   
index 0000000..379dcb2
 4817         -
-- /dev/null
        6131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4818   6132   
@@ -0,0 +1,4 @@
        6133  +
{
        6134  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6135  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6136  +
}
 4819   6137   
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
 4820   6138   
similarity index 99%
 4821   6139   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4822   6140   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4823   6141   
index 344384b..a875d70 100644
 4824         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
        6142  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4825   6143   
@@ -1,7 +1,7 @@
 4826   6144   
GET
 4827   6145   
/
 4828   6146   
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
 4829   6147   
host:example.amazonaws.com
 4830   6148   
 4831   6149   
host
 4832         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6150  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4833   6151   
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
 4834   6152   
new file mode 100644
 4835   6153   
index 0000000..ef93624
 4836         -
-- /dev/null
        6154  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4837   6155   
@@ -0,0 +1 @@
        6156  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4838   6157   
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
 4839   6158   
new file mode 100644
 4840   6159   
index 0000000..92829f7
 4841         -
-- /dev/null
        6160  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4842   6161   
@@ -0,0 +1,3 @@
        6162  +
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
        6163  +
Host:example.amazonaws.com
        6164  +
 4843   6165   
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
 4844   6166   
similarity index 99%
 4845   6167   
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
 4846   6168   
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
 4847   6169   
index b625052..4ff9191 100644
 4848         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-string-to-sign.txt
        6170  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-string-to-sign.txt
 4849   6171   
@@ -1,4 +1,4 @@
 4850   6172   
AWS4-ECDSA-P256-SHA256
 4851   6173   
20150830T123600Z
 4852   6174   
20150830/service/aws4_request
 4853         -
07551f1d699afeb50d6811a527ab7b0270b60448ea27d8cbccb9750d68287b3f
        6175  +
07551f1d699afeb50d6811a527ab7b0270b60448ea27d8cbccb9750d68287b3f
              \
 No newline at end of file
 4854   6176   
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
 4855   6177   
similarity index 67%
 4856   6178   
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
 4857   6179   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4858   6180   
index 970d0a0..f4a03bb 100644
 4859         -
-- 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
        6181  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4860   6182   
@@ -1,3 +1,2 @@
 4861   6183   
GET /?Param1=value1 HTTP/1.1
 4862   6184   
Host:example.amazonaws.com
 4863         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4864   6185   
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
 4865   6186   
new file mode 100644
 4866   6187   
index 0000000..0468d80
 4867         -
-- /dev/null
        6188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4868   6189   
@@ -0,0 +1,12 @@
        6190  +
{
        6191  +
    "credentials": {
        6192  +
        "access_key_id": "AKIDEXAMPLE",
        6193  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6194  +
    },
        6195  +
    "expiration_in_seconds": 3600,
        6196  +
    "normalize": true,
        6197  +
    "region": "us-east-1",
        6198  +
    "service": "service",
        6199  +
    "sign_body": false,
        6200  +
    "timestamp": "2015-08-30T12:36:00Z"
        6201  +
}
              \
 No newline at end of file
 4869   6202   
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
 4870   6203   
new file mode 100644
 4871   6204   
index 0000000..da07537
 4872         -
-- /dev/null
        6205  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4873   6206   
@@ -0,0 +1,9 @@
        6207  +
GET
        6208  +
/
        6209  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        6210  +
host:example.amazonaws.com
        6211  +
x-amz-date:20150830T123600Z
        6212  +
x-amz-region-set:us-east-1
        6213  +
        6214  +
host;x-amz-date;x-amz-region-set
        6215  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4874   6216   
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
 4875   6217   
new file mode 100644
 4876   6218   
index 0000000..edb21e5
 4877         -
-- /dev/null
        6219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4878   6220   
@@ -0,0 +1 @@
        6221  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4879   6222   
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
 4880   6223   
new file mode 100644
 4881   6224   
index 0000000..e60394c
 4882         -
-- /dev/null
        6225  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4883   6226   
@@ -0,0 +1,6 @@
        6227  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        6228  +
Host:example.amazonaws.com
        6229  +
X-Amz-Date:20150830T123600Z
        6230  +
X-Amz-Region-Set:us-east-1
        6231  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        6232  +
 4884   6233   
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
 4885   6234   
new file mode 100644
 4886   6235   
index 0000000..1dfc886
 4887         -
-- /dev/null
        6236  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4888   6237   
@@ -0,0 +1,4 @@
        6238  +
AWS4-ECDSA-P256-SHA256
        6239  +
20150830T123600Z
        6240  +
20150830/service/aws4_request
        6241  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4889   6242   
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
 4890   6243   
new file mode 100644
 4891   6244   
index 0000000..379dcb2
 4892         -
-- /dev/null
        6245  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4893   6246   
@@ -0,0 +1,4 @@
        6247  +
{
        6248  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6249  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6250  +
}
 4894   6251   
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
 4895   6252   
new file mode 100644
 4896   6253   
index 0000000..e94dc0c
 4897         -
-- /dev/null
        6254  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4898   6255   
@@ -0,0 +1,7 @@
        6256  +
GET
        6257  +
/
        6258  +
%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
        6259  +
host:example.amazonaws.com
        6260  +
        6261  +
host
        6262  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4899   6263   
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
 4900   6264   
new file mode 100644
 4901   6265   
index 0000000..7489437
 4902         -
-- /dev/null
        6266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4903   6267   
@@ -0,0 +1 @@
        6268  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4904   6269   
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
 4905   6270   
new file mode 100644
 4906   6271   
index 0000000..90c0e73
 4907         -
-- /dev/null
        6272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4908   6273   
@@ -0,0 +1,3 @@
        6274  +
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
        6275  +
Host:example.amazonaws.com
        6276  +
 4909   6277   
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
 4910   6278   
new file mode 100644
 4911   6279   
index 0000000..ab8a711
 4912         -
-- /dev/null
        6280  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4913   6281   
@@ -0,0 +1,4 @@
        6282  +
AWS4-ECDSA-P256-SHA256
        6283  +
20150830T123600Z
        6284  +
20150830/service/aws4_request
        6285  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4914   6286   
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
 4915   6287   
new file mode 100644
 4916   6288   
index 0000000..368c6e3
 4917         -
-- /dev/null
        6289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4918   6290   
@@ -0,0 +1,2 @@
        6291  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        6292  +
Host:example.amazonaws.com
 4919   6293   
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
 4920   6294   
new file mode 100644
 4921   6295   
index 0000000..0468d80
 4922         -
-- /dev/null
        6296  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4923   6297   
@@ -0,0 +1,12 @@
        6298  +
{
        6299  +
    "credentials": {
        6300  +
        "access_key_id": "AKIDEXAMPLE",
        6301  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6302  +
    },
        6303  +
    "expiration_in_seconds": 3600,
        6304  +
    "normalize": true,
        6305  +
    "region": "us-east-1",
        6306  +
    "service": "service",
        6307  +
    "sign_body": false,
        6308  +
    "timestamp": "2015-08-30T12:36:00Z"
        6309  +
}
              \
 No newline at end of file
 4924   6310   
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
 4925   6311   
similarity index 99%
 4926   6312   
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
 4927   6313   
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
 4928   6314   
index 74f625a..3db56f7 100644
 4929         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-canonical-request.txt
        6315  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-canonical-request.txt
 4930   6316   
@@ -1,9 +1,9 @@
 4931   6317   
GET
 4932   6318   
/
 4933   6319   
Param1=value1&Param2=value2
 4934   6320   
host:example.amazonaws.com
 4935   6321   
x-amz-date:20150830T123600Z
 4936   6322   
x-amz-region-set:us-east-1
 4937   6323   
 4938   6324   
host;x-amz-date;x-amz-region-set
 4939         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6325  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4940   6326   
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
 4941   6327   
new file mode 100644
 4942   6328   
index 0000000..e6042bc
 4943         -
-- /dev/null
        6329  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4944   6330   
@@ -0,0 +1 @@
        6331  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4945   6332   
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
 4946   6333   
new file mode 100644
 4947   6334   
index 0000000..5505969
 4948         -
-- /dev/null
        6335  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4949   6336   
@@ -0,0 +1,6 @@
        6337  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        6338  +
Host:example.amazonaws.com
        6339  +
X-Amz-Date:20150830T123600Z
        6340  +
X-Amz-Region-Set:us-east-1
        6341  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        6342  +
 4950   6343   
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
 4951   6344   
similarity index 99%
 4952   6345   
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
 4953   6346   
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
 4954   6347   
index 44873b7..e8f5e31 100644
 4955         -
-- 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
        6348  +
++ 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
 4956   6349   
@@ -1,4 +1,4 @@
 4957   6350   
AWS4-ECDSA-P256-SHA256
 4958   6351   
20150830T123600Z
 4959   6352   
20150830/service/aws4_request
 4960         -
cc07b29e0d0f0b2d6aa296621a5608fd9c2271159b9b2f737f682704ebb96482
        6353  +
cc07b29e0d0f0b2d6aa296621a5608fd9c2271159b9b2f737f682704ebb96482
              \
 No newline at end of file
 4961   6354   
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
 4962   6355   
new file mode 100644
 4963   6356   
index 0000000..379dcb2
 4964         -
-- /dev/null
        6357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4965   6358   
@@ -0,0 +1,4 @@
        6359  +
{
        6360  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6361  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6362  +
}
 4966   6363   
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
 4967   6364   
similarity index 99%
 4968   6365   
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
 4969   6366   
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
 4970   6367   
index 6d30727..3fe6a9f 100644
 4971         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-canonical-request.txt
        6368  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-canonical-request.txt
 4972   6369   
@@ -1,7 +1,7 @@
 4973   6370   
GET
 4974   6371   
/
 4975   6372   
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
 4976   6373   
host:example.amazonaws.com
 4977   6374   
 4978   6375   
host
 4979         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6376  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4980   6377   
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
 4981   6378   
new file mode 100644
 4982   6379   
index 0000000..3f35de8
 4983         -
-- /dev/null
        6380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4984   6381   
@@ -0,0 +1 @@
        6382  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4985   6383   
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
 4986   6384   
new file mode 100644
 4987   6385   
index 0000000..30b336b
 4988         -
-- /dev/null
        6386  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4989   6387   
@@ -0,0 +1,3 @@
        6388  +
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
        6389  +
Host:example.amazonaws.com
        6390  +
 4990   6391   
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
 4991   6392   
similarity index 99%
 4992   6393   
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
 4993   6394   
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
 4994   6395   
index 99d0510..7f0565f 100644
 4995         -
-- 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
        6396  +
++ 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
 4996   6397   
@@ -1,4 +1,4 @@
 4997   6398   
AWS4-ECDSA-P256-SHA256
 4998   6399   
20150830T123600Z
 4999   6400   
20150830/service/aws4_request
 5000         -
c688584c3dbae2868c4911c825239f2c9375e66b9962f21db60b9b2fcd75bf45
        6401  +
c688584c3dbae2868c4911c825239f2c9375e66b9962f21db60b9b2fcd75bf45
              \
 No newline at end of file
 5001   6402   
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
 5002   6403   
similarity index 100%
 5003   6404   
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
 5004   6405   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 5005   6406   
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
 5006   6407   
new file mode 100644
 5007   6408   
index 0000000..0468d80
 5008         -
-- /dev/null
        6409  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 5009   6410   
@@ -0,0 +1,12 @@
        6411  +
{
        6412  +
    "credentials": {
        6413  +
        "access_key_id": "AKIDEXAMPLE",
        6414  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6415  +
    },
        6416  +
    "expiration_in_seconds": 3600,
        6417  +
    "normalize": true,
        6418  +
    "region": "us-east-1",
        6419  +
    "service": "service",
        6420  +
    "sign_body": false,
        6421  +
    "timestamp": "2015-08-30T12:36:00Z"
        6422  +
}
              \
 No newline at end of file
 5010   6423   
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
 5011   6424   
similarity index 99%
 5012   6425   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 5013   6426   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 5014   6427   
index 816c862..cc4537a 100644
 5015         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
        6428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 5016   6429   
@@ -1,9 +1,9 @@
 5017   6430   
GET
 5018   6431   
/
 5019   6432   
-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 5020   6433   
host:example.amazonaws.com
 5021   6434   
x-amz-date:20150830T123600Z
 5022   6435   
x-amz-region-set:us-east-1
 5023   6436   
 5024   6437   
host;x-amz-date;x-amz-region-set
 5025         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6438  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5026   6439   
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
 5027   6440   
new file mode 100644
 5028   6441   
index 0000000..70d38c1
 5029         -
-- /dev/null
        6442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 5030   6443   
@@ -0,0 +1 @@
        6444  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 5031   6445   
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
 5032   6446   
new file mode 100644
 5033   6447   
index 0000000..0647eea
 5034         -
-- /dev/null
        6448  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 5035   6449   
@@ -0,0 +1,6 @@
        6450  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        6451  +
Host:example.amazonaws.com
        6452  +
X-Amz-Date:20150830T123600Z
        6453  +
X-Amz-Region-Set:us-east-1
        6454  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        6455  +
 5036   6456   
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
 5037   6457   
similarity index 99%
 5038   6458   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 5039   6459   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 5040   6460   
index 6129fc5..cc19d14 100644
 5041         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
        6461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 5042   6462   
@@ -1,4 +1,4 @@
 5043   6463   
AWS4-ECDSA-P256-SHA256
 5044   6464   
20150830T123600Z
 5045   6465   
20150830/service/aws4_request
 5046         -
377b8a3e195894659b84cd1c475dc8a3663a663360a349430c0c3b82bd82b77b
        6466  +
377b8a3e195894659b84cd1c475dc8a3663a663360a349430c0c3b82bd82b77b
              \
 No newline at end of file
 5047   6467   
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
 5048   6468   
new file mode 100644
 5049   6469   
index 0000000..379dcb2
 5050         -
-- /dev/null
        6470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 5051   6471   
@@ -0,0 +1,4 @@
        6472  +
{
        6473  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6474  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6475  +
}
 5052   6476   
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
 5053   6477   
similarity index 99%
 5054   6478   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 5055   6479   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 5056   6480   
index b77ee9f..ed6a10e 100644
 5057         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
        6481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 5058   6482   
@@ -1,7 +1,7 @@
 5059   6483   
GET
 5060   6484   
/
 5061   6485   
-._~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
 5062   6486   
host:example.amazonaws.com
 5063   6487   
 5064   6488   
host
 5065         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6489  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5066   6490   
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
 5067   6491   
new file mode 100644
 5068   6492   
index 0000000..2ceba7b
 5069         -
-- /dev/null
        6493  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 5070   6494   
@@ -0,0 +1 @@
        6495  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 5071   6496   
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
 5072   6497   
new file mode 100644
 5073   6498   
index 0000000..0cd6d0a
 5074         -
-- /dev/null
        6499  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 5075   6500   
@@ -0,0 +1,3 @@
        6501  +
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
        6502  +
Host:example.amazonaws.com
        6503  +
 5076   6504   
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
 5077   6505   
similarity index 99%
 5078   6506   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 5079   6507   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 5080   6508   
index 1cfed7a..aad1421 100644
 5081         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
        6509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 5082   6510   
@@ -1,4 +1,4 @@
 5083   6511   
AWS4-ECDSA-P256-SHA256
 5084   6512   
20150830T123600Z
 5085   6513   
20150830/service/aws4_request
 5086         -
5d8923c620c699f856a35a6eb8dd786fd4c8c6ab0a35c552caeb5b648989433f
        6514  +
5d8923c620c699f856a35a6eb8dd786fd4c8c6ab0a35c552caeb5b648989433f
              \
 No newline at end of file
 5087   6515   
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
 5088   6516   
similarity index 86%
 5089   6517   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 5090   6518   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 5091   6519   
index d2833b3..36b2fe3 100644
 5092         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        6520  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 5093   6521   
@@ -1,3 +1,2 @@
 5094   6522   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 5095   6523   
Host:example.amazonaws.com
 5096         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5097   6524   
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
 5098   6525   
new file mode 100644
 5099   6526   
index 0000000..0468d80
 5100         -
-- /dev/null
        6527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 5101   6528   
@@ -0,0 +1,12 @@
        6529  +
{
        6530  +
    "credentials": {
        6531  +
        "access_key_id": "AKIDEXAMPLE",
        6532  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6533  +
    },
        6534  +
    "expiration_in_seconds": 3600,
        6535  +
    "normalize": true,
        6536  +
    "region": "us-east-1",
        6537  +
    "service": "service",
        6538  +
    "sign_body": false,
        6539  +
    "timestamp": "2015-08-30T12:36:00Z"
        6540  +
}
              \
 No newline at end of file
 5102   6541   
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
 5103   6542   
new file mode 100644
 5104   6543   
index 0000000..76db73d
 5105         -
-- /dev/null
        6544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 5106   6545   
@@ -0,0 +1,9 @@
        6546  +
GET
        6547  +
/
        6548  +
        6549  +
host:example.amazonaws.com
        6550  +
x-amz-date:20150830T123600Z
        6551  +
x-amz-region-set:us-east-1
        6552  +
        6553  +
host;x-amz-date;x-amz-region-set
        6554  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5107   6555   
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
 5108   6556   
new file mode 100644
 5109   6557   
index 0000000..281cc62
 5110         -
-- /dev/null
        6558  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 5111   6559   
@@ -0,0 +1 @@
        6560  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 5112   6561   
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
 5113   6562   
new file mode 100644
 5114   6563   
index 0000000..cce9925
 5115         -
-- /dev/null
        6564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 5116   6565   
@@ -0,0 +1,6 @@
        6566  +
GET / HTTP/1.1
        6567  +
Host:example.amazonaws.com
        6568  +
X-Amz-Date:20150830T123600Z
        6569  +
X-Amz-Region-Set:us-east-1
        6570  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        6571  +
 5117   6572   
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
 5118   6573   
new file mode 100644
 5119   6574   
index 0000000..600f1d8
 5120         -
-- /dev/null
        6575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 5121   6576   
@@ -0,0 +1,4 @@
        6577  +
AWS4-ECDSA-P256-SHA256
        6578  +
20150830T123600Z
        6579  +
20150830/service/aws4_request
        6580  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5122   6581   
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
 5123   6582   
new file mode 100644
 5124   6583   
index 0000000..379dcb2
 5125         -
-- /dev/null
        6584  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 5126   6585   
@@ -0,0 +1,4 @@
        6586  +
{
        6587  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6588  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6589  +
}
 5127   6590   
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
 5128   6591   
new file mode 100644
 5129   6592   
index 0000000..779c51c
 5130         -
-- /dev/null
        6593  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 5131   6594   
@@ -0,0 +1,7 @@
        6595  +
GET
        6596  +
/
        6597  +
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
        6598  +
host:example.amazonaws.com
        6599  +
        6600  +
host
        6601  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5132   6602   
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
 5133   6603   
new file mode 100644
 5134   6604   
index 0000000..2979e5e
 5135         -
-- /dev/null
        6605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 5136   6606   
@@ -0,0 +1 @@
        6607  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 5137   6608   
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
 5138   6609   
new file mode 100644
 5139   6610   
index 0000000..1b3179c
 5140         -
-- /dev/null
        6611  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 5141   6612   
@@ -0,0 +1,3 @@
        6613  +
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
        6614  +
Host:example.amazonaws.com
        6615  +
 5142   6616   
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
 5143   6617   
new file mode 100644
 5144   6618   
index 0000000..6e29a7e
 5145         -
-- /dev/null
        6619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 5146   6620   
@@ -0,0 +1,4 @@
        6621  +
AWS4-ECDSA-P256-SHA256
        6622  +
20150830T123600Z
        6623  +
20150830/service/aws4_request
        6624  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 5147   6625   
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
 5148   6626   
similarity index 60%
 5149   6627   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 5150   6628   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 5151   6629   
index 0f7a9bf..e659c3b 100644
 5152         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        6630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 5153   6631   
@@ -1,3 +1,2 @@
 5154   6632   
GET / HTTP/1.1
 5155   6633   
Host:example.amazonaws.com
 5156         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5157   6634   
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
 5158   6635   
new file mode 100644
 5159   6636   
index 0000000..0468d80
 5160         -
-- /dev/null
        6637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 5161   6638   
@@ -0,0 +1,12 @@
        6639  +
{
        6640  +
    "credentials": {
        6641  +
        "access_key_id": "AKIDEXAMPLE",
        6642  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6643  +
    },
        6644  +
    "expiration_in_seconds": 3600,
        6645  +
    "normalize": true,
        6646  +
    "region": "us-east-1",
        6647  +
    "service": "service",
        6648  +
    "sign_body": false,
        6649  +
    "timestamp": "2015-08-30T12:36:00Z"
        6650  +
}
              \
 No newline at end of file
 5162   6651   
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
 5163   6652   
new file mode 100644
 5164   6653   
index 0000000..8841ddf
 5165         -
-- /dev/null
        6654  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 5166   6655   
@@ -0,0 +1,9 @@
        6656  +
GET
        6657  +
/
        6658  +
%E1%88%B4=bar
        6659  +
host:example.amazonaws.com
        6660  +
x-amz-date:20150830T123600Z
        6661  +
x-amz-region-set:us-east-1
        6662  +
        6663  +
host;x-amz-date;x-amz-region-set
        6664  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5167   6665   
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
 5168   6666   
new file mode 100644
 5169   6667   
index 0000000..1497add
 5170         -
-- /dev/null
        6668  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 5171   6669   
@@ -0,0 +1 @@
        6670  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 5172   6671   
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
 5173   6672   
new file mode 100644
 5174   6673   
index 0000000..961bc10
 5175         -
-- /dev/null
        6674  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 5176   6675   
@@ -0,0 +1,6 @@
        6676  +
GET /?ሴ=bar HTTP/1.1
        6677  +
Host:example.amazonaws.com
        6678  +
X-Amz-Date:20150830T123600Z
        6679  +
X-Amz-Region-Set:us-east-1
        6680  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        6681  +
 5177   6682   
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
 5178   6683   
new file mode 100644
 5179   6684   
index 0000000..e78ed70
 5180         -
-- /dev/null
        6685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 5181   6686   
@@ -0,0 +1,4 @@
        6687  +
AWS4-ECDSA-P256-SHA256
        6688  +
20150830T123600Z
        6689  +
20150830/service/aws4_request
        6690  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 5182   6691   
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
 5183   6692   
new file mode 100644
 5184   6693   
index 0000000..379dcb2
 5185         -
-- /dev/null
        6694  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 5186   6695   
@@ -0,0 +1,4 @@
        6696  +
{
        6697  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6698  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6699  +
}
 5187   6700   
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
 5188   6701   
new file mode 100644
 5189   6702   
index 0000000..6d5ae93
 5190         -
-- /dev/null
        6703  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 5191   6704   
@@ -0,0 +1,7 @@
        6705  +
GET
        6706  +
/
        6707  +
%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
        6708  +
host:example.amazonaws.com
        6709  +
        6710  +
host
        6711  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5192   6712   
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
 5193   6713   
new file mode 100644
 5194   6714   
index 0000000..92107f2
 5195         -
-- /dev/null
        6715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 5196   6716   
@@ -0,0 +1 @@
        6717  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 5197   6718   
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
 5198   6719   
new file mode 100644
 5199   6720   
index 0000000..bb8a75b
 5200         -
-- /dev/null
        6721  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 5201   6722   
@@ -0,0 +1,3 @@
        6723  +
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
        6724  +
Host:example.amazonaws.com
        6725  +
 5202   6726   
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
 5203   6727   
new file mode 100644
 5204   6728   
index 0000000..9fa94c7
 5205         -
-- /dev/null
        6729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 5206   6730   
@@ -0,0 +1,4 @@
        6731  +
AWS4-ECDSA-P256-SHA256
        6732  +
20150830T123600Z
        6733  +
20150830/service/aws4_request
        6734  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 5207   6735   
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
 5208   6736   
new file mode 100644
 5209   6737   
index 0000000..aff333a
 5210         -
-- /dev/null
        6738  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 5211   6739   
@@ -0,0 +1,2 @@
        6740  +
GET /?ሴ=bar HTTP/1.1
        6741  +
Host:example.amazonaws.com
 5212   6742   
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
 5213   6743   
new file mode 100644
 5214   6744   
index 0000000..a334e18
 5215         -
-- /dev/null
        6745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 5216   6746   
@@ -0,0 +1,13 @@
        6747  +
{
        6748  +
    "credentials": {
        6749  +
        "access_key_id": "AKIDEXAMPLE",
        6750  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6751  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        6752  +
    },
        6753  +
    "expiration_in_seconds": 3600,
        6754  +
    "normalize": true,
        6755  +
    "region": "us-east-1",
        6756  +
    "service": "service",
        6757  +
    "sign_body": false,
        6758  +
    "timestamp": "2015-08-30T12:36:00Z"
        6759  +
}
              \
 No newline at end of file
 5217   6760   
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
 5218   6761   
similarity index 99%
 5219   6762   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 5220   6763   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 5221   6764   
index f14defd..0e9ad42 100644
 5222         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
        6765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 5223   6766   
@@ -1,10 +1,10 @@
 5224   6767   
GET
 5225   6768   
/
 5226   6769   
 5227   6770   
host:example.amazonaws.com
 5228   6771   
x-amz-date:20150830T123600Z
 5229   6772   
x-amz-region-set:us-east-1
 5230   6773   
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
 5231   6774   
 5232   6775   
host;x-amz-date;x-amz-region-set;x-amz-security-token
 5233         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6776  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5234   6777   
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
 5235   6778   
new file mode 100644
 5236   6779   
index 0000000..a7673b5
 5237         -
-- /dev/null
        6780  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 5238   6781   
@@ -0,0 +1 @@
        6782  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 5239   6783   
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
 5240   6784   
new file mode 100644
 5241   6785   
index 0000000..ed16e76
 5242         -
-- /dev/null
        6786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 5243   6787   
@@ -0,0 +1,7 @@
        6788  +
GET / HTTP/1.1
        6789  +
Host:example.amazonaws.com
        6790  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        6791  +
X-Amz-Date:20150830T123600Z
        6792  +
X-Amz-Region-Set:us-east-1
        6793  +
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
        6794  +
 5244   6795   
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
 5245   6796   
similarity index 99%
 5246   6797   
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
 5247   6798   
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
 5248   6799   
index 4edece5..6c1ec65 100644
 5249         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-string-to-sign.txt
        6800  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-string-to-sign.txt
 5250   6801   
@@ -1,4 +1,4 @@
 5251   6802   
AWS4-ECDSA-P256-SHA256
 5252   6803   
20150830T123600Z
 5253   6804   
20150830/service/aws4_request
 5254         -
79893373104239a0547df489af395ec3c1b8873a8601f07f11ffd3f1ac557e7d
        6805  +
79893373104239a0547df489af395ec3c1b8873a8601f07f11ffd3f1ac557e7d
              \
 No newline at end of file
 5255   6806   
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
 5256   6807   
new file mode 100644
 5257   6808   
index 0000000..379dcb2
 5258         -
-- /dev/null
        6809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 5259   6810   
@@ -0,0 +1,4 @@
        6811  +
{
        6812  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6813  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6814  +
}
 5260   6815   
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
 5261   6816   
similarity index 99%
 5262   6817   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 5263   6818   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 5264   6819   
index 7c042af..1876b42 100644
 5265         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
        6820  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 5266   6821   
@@ -1,7 +1,7 @@
 5267   6822   
GET
 5268   6823   
/
 5269   6824   
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
 5270   6825   
host:example.amazonaws.com
 5271   6826   
 5272   6827   
host
 5273         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6828  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5274   6829   
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
 5275   6830   
new file mode 100644
 5276   6831   
index 0000000..903dfb4
 5277         -
-- /dev/null
        6832  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 5278   6833   
@@ -0,0 +1 @@
        6834  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 5279   6835   
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
 5280   6836   
new file mode 100644
 5281   6837   
index 0000000..bf1d246
 5282         -
-- /dev/null
        6838  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 5283   6839   
@@ -0,0 +1,3 @@
        6840  +
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
        6841  +
Host:example.amazonaws.com
        6842  +
 5284   6843   
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
 5285   6844   
similarity index 99%
 5286   6845   
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
 5287   6846   
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
 5288   6847   
index 0fd066a..f1b1790 100644
 5289         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-string-to-sign.txt
        6848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-string-to-sign.txt
 5290   6849   
@@ -1,4 +1,4 @@
 5291   6850   
AWS4-ECDSA-P256-SHA256
 5292   6851   
20150830T123600Z
 5293   6852   
20150830/service/aws4_request
 5294         -
496062b4c2ed2175fe08ad084158783fa8d013c694542af721d49b25d1ebd390
        6853  +
496062b4c2ed2175fe08ad084158783fa8d013c694542af721d49b25d1ebd390
              \
 No newline at end of file
 5295   6854   
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
 5296   6855   
similarity index 60%
 5297   6856   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 5298   6857   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 5299   6858   
index 0f7a9bf..e659c3b 100644
 5300         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6859  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 5301   6860   
@@ -1,3 +1,2 @@
 5302   6861   
GET / HTTP/1.1
 5303   6862   
Host:example.amazonaws.com
 5304         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5305   6863   
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
 5306   6864   
new file mode 100644
 5307   6865   
index 0000000..76db73d
 5308         -
-- /dev/null
        6866  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 5309   6867   
@@ -0,0 +1,9 @@
        6868  +
GET
        6869  +
/
        6870  +
        6871  +
host:example.amazonaws.com
        6872  +
x-amz-date:20150830T123600Z
        6873  +
x-amz-region-set:us-east-1
        6874  +
        6875  +
host;x-amz-date;x-amz-region-set
        6876  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5310   6877   
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
 5311   6878   
new file mode 100644
 5312   6879   
index 0000000..0468d80
 5313         -
-- /dev/null
        6880  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 5314   6881   
@@ -0,0 +1,12 @@
        6882  +
{
        6883  +
    "credentials": {
        6884  +
        "access_key_id": "AKIDEXAMPLE",
        6885  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6886  +
    },
        6887  +
    "expiration_in_seconds": 3600,
        6888  +
    "normalize": true,
        6889  +
    "region": "us-east-1",
        6890  +
    "service": "service",
        6891  +
    "sign_body": false,
        6892  +
    "timestamp": "2015-08-30T12:36:00Z"
        6893  +
}
              \
 No newline at end of file
 5315   6894   
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
 5316   6895   
new file mode 100644
 5317   6896   
index 0000000..76db73d
 5318         -
-- /dev/null
        6897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 5319   6898   
@@ -0,0 +1,9 @@
        6899  +
GET
        6900  +
/
        6901  +
        6902  +
host:example.amazonaws.com
        6903  +
x-amz-date:20150830T123600Z
        6904  +
x-amz-region-set:us-east-1
        6905  +
        6906  +
host;x-amz-date;x-amz-region-set
        6907  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5320   6908   
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
 5321   6909   
new file mode 100644
 5322   6910   
index 0000000..a96ff24
 5323         -
-- /dev/null
        6911  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 5324   6912   
@@ -0,0 +1 @@
        6913  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 5325   6914   
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
 5326   6915   
new file mode 100644
 5327   6916   
index 0000000..689078b
 5328         -
-- /dev/null
        6917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 5329   6918   
@@ -0,0 +1,6 @@
        6919  +
GET / HTTP/1.1
        6920  +
Host:example.amazonaws.com
        6921  +
X-Amz-Date:20150830T123600Z
        6922  +
X-Amz-Region-Set:us-east-1
        6923  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6924  +
 5330   6925   
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
 5331   6926   
new file mode 100644
 5332   6927   
index 0000000..600f1d8
 5333         -
-- /dev/null
        6928  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 5334   6929   
@@ -0,0 +1,4 @@
        6930  +
AWS4-ECDSA-P256-SHA256
        6931  +
20150830T123600Z
        6932  +
20150830/service/aws4_request
        6933  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5335   6934   
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
 5336   6935   
new file mode 100644
 5337   6936   
index 0000000..379dcb2
 5338         -
-- /dev/null
        6937  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 5339   6938   
@@ -0,0 +1,4 @@
        6939  +
{
        6940  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6941  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6942  +
}
 5340   6943   
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
 5341   6944   
new file mode 100644
 5342   6945   
index 0000000..779c51c
 5343         -
-- /dev/null
        6946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 5344   6947   
@@ -0,0 +1,7 @@
        6948  +
GET
        6949  +
/
        6950  +
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
        6951  +
host:example.amazonaws.com
        6952  +
        6953  +
host
        6954  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5345   6955   
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
 5346   6956   
new file mode 100644
 5347   6957   
index 0000000..cc42158
 5348         -
-- /dev/null
        6958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 5349   6959   
@@ -0,0 +1 @@
        6960  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 5350   6961   
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
 5351   6962   
new file mode 100644
 5352   6963   
index 0000000..dc6d01d
 5353         -
-- /dev/null
        6964  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 5354   6965   
@@ -0,0 +1,3 @@
        6966  +
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
        6967  +
Host:example.amazonaws.com
        6968  +
 5355   6969   
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
 5356   6970   
new file mode 100644
 5357   6971   
index 0000000..6e29a7e
 5358         -
-- /dev/null
        6972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 5359   6973   
@@ -0,0 +1,4 @@
        6974  +
AWS4-ECDSA-P256-SHA256
        6975  +
20150830T123600Z
        6976  +
20150830/service/aws4_request
        6977  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 5360   6978   
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
 5361   6979   
new file mode 100644
 5362   6980   
index 0000000..e659c3b
 5363         -
-- /dev/null
        6981  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 5364   6982   
@@ -0,0 +1,2 @@
        6983  +
GET / HTTP/1.1
        6984  +
Host:example.amazonaws.com
 5365   6985   
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
 5366   6986   
new file mode 100644
 5367   6987   
index 0000000..600f1d8
 5368         -
-- /dev/null
        6988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 5369   6989   
@@ -0,0 +1,4 @@
        6990  +
AWS4-ECDSA-P256-SHA256
        6991  +
20150830T123600Z
        6992  +
20150830/service/aws4_request
        6993  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5370   6994   
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
 5371   6995   
new file mode 100644
 5372   6996   
index 0000000..0468d80
 5373         -
-- /dev/null
        6997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 5374   6998   
@@ -0,0 +1,12 @@
        6999  +
{
        7000  +
    "credentials": {
        7001  +
        "access_key_id": "AKIDEXAMPLE",
        7002  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7003  +
    },
        7004  +
    "expiration_in_seconds": 3600,
        7005  +
    "normalize": true,
        7006  +
    "region": "us-east-1",
        7007  +
    "service": "service",
        7008  +
    "sign_body": false,
        7009  +
    "timestamp": "2015-08-30T12:36:00Z"
        7010  +
}
              \
 No newline at end of file
 5375   7011   
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
 5376   7012   
similarity index 99%
 5377   7013   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 5378   7014   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 5379   7015   
index a6942c1..e881ac7 100644
 5380         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
        7016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 5381   7017   
@@ -1,9 +1,9 @@
 5382   7018   
POST
 5383   7019   
/
 5384   7020   
 5385   7021   
host:example.amazonaws.com
 5386   7022   
x-amz-date:20150830T123600Z
 5387   7023   
x-amz-region-set:us-east-1
 5388   7024   
 5389   7025   
host;x-amz-date;x-amz-region-set
 5390         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7026  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5391   7027   
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
 5392   7028   
new file mode 100644
 5393   7029   
index 0000000..4210210
 5394         -
-- /dev/null
        7030  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 5395   7031   
@@ -0,0 +1 @@
        7032  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 5396   7033   
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
 5397   7034   
new file mode 100644
 5398   7035   
index 0000000..257b110
 5399         -
-- /dev/null
        7036  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 5400   7037   
@@ -0,0 +1,6 @@
        7038  +
POST / HTTP/1.1
        7039  +
Host:example.amazonaws.com
        7040  +
X-Amz-Date:20150830T123600Z
        7041  +
X-Amz-Region-Set:us-east-1
        7042  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        7043  +
 5401   7044   
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
 5402   7045   
similarity index 99%
 5403   7046   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 5404   7047   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 5405   7048   
index d5650cb..f8adf13 100644
 5406         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
        7049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 5407   7050   
@@ -1,4 +1,4 @@
 5408   7051   
AWS4-ECDSA-P256-SHA256
 5409   7052   
20150830T123600Z
 5410   7053   
20150830/service/aws4_request
 5411         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7054  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 5412   7055   
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
 5413   7056   
new file mode 100644
 5414   7057   
index 0000000..379dcb2
 5415         -
-- /dev/null
        7058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 5416   7059   
@@ -0,0 +1,4 @@
        7060  +
{
        7061  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7062  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7063  +
}
 5417   7064   
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
 5418   7065   
similarity index 99%
 5419   7066   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 5420   7067   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 5421   7068   
index e48ce07..5ea8e3c 100644
 5422         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
        7069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 5423   7070   
@@ -1,7 +1,7 @@
 5424   7071   
POST
 5425   7072   
/
 5426   7073   
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
 5427   7074   
host:example.amazonaws.com
 5428   7075   
 5429   7076   
host
 5430         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7077  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5431   7078   
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
 5432   7079   
new file mode 100644
 5433   7080   
index 0000000..9e2069e
 5434         -
-- /dev/null
        7081  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 5435   7082   
@@ -0,0 +1 @@
        7083  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 5436   7084   
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
 5437   7085   
new file mode 100644
 5438   7086   
index 0000000..67f5d29
 5439         -
-- /dev/null
        7087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 5440   7088   
@@ -0,0 +1,3 @@
        7089  +
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
        7090  +
Host:example.amazonaws.com
        7091  +
 5441   7092   
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
 5442   7093   
similarity index 99%
 5443   7094   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 5444   7095   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 5445   7096   
index 34e3382..711c162 100644
 5446         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
        7097  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 5447   7098   
@@ -1,4 +1,4 @@
 5448   7099   
AWS4-ECDSA-P256-SHA256
 5449   7100   
20150830T123600Z
 5450   7101   
20150830/service/aws4_request
 5451         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7102  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 5452   7103   
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
 5453   7104   
similarity index 61%
 5454   7105   
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
 5455   7106   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 5456   7107   
index 3dc4179..3f0a82a 100644
 5457         -
-- 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
        7108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 5458   7109   
@@ -1,3 +1,2 @@
 5459   7110   
POST / HTTP/1.1
 5460   7111   
Host:example.amazonaws.com
 5461         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5462   7112   
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
 5463   7113   
new file mode 100644
 5464   7114   
index 0000000..0468d80
 5465         -
-- /dev/null
        7115  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 5466   7116   
@@ -0,0 +1,12 @@
        7117  +
{
        7118  +
    "credentials": {
        7119  +
        "access_key_id": "AKIDEXAMPLE",
        7120  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7121  +
    },
        7122  +
    "expiration_in_seconds": 3600,
        7123  +
    "normalize": true,
        7124  +
    "region": "us-east-1",
        7125  +
    "service": "service",
        7126  +
    "sign_body": false,
        7127  +
    "timestamp": "2015-08-30T12:36:00Z"
        7128  +
}
              \
 No newline at end of file
 5467   7129   
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
 5468   7130   
similarity index 99%
 5469   7131   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 5470   7132   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 5471   7133   
index a8e1727..2883822 100644
 5472         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
        7134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 5473   7135   
@@ -1,10 +1,10 @@
 5474   7136   
POST
 5475   7137   
/
 5476   7138   
 5477   7139   
host:example.amazonaws.com
 5478   7140   
my-header1:value1
 5479   7141   
x-amz-date:20150830T123600Z
 5480   7142   
x-amz-region-set:us-east-1
 5481   7143   
 5482   7144   
host;my-header1;x-amz-date;x-amz-region-set
 5483         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7145  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5484   7146   
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
 5485   7147   
new file mode 100644
 5486   7148   
index 0000000..e3c2e6e
 5487         -
-- /dev/null
        7149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 5488   7150   
@@ -0,0 +1 @@
        7151  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 5489   7152   
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
 5490   7153   
new file mode 100644
 5491   7154   
index 0000000..1d6e288
 5492         -
-- /dev/null
        7155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 5493   7156   
@@ -0,0 +1,7 @@
        7157  +
POST / HTTP/1.1
        7158  +
Host:example.amazonaws.com
        7159  +
My-Header1:value1
        7160  +
X-Amz-Date:20150830T123600Z
        7161  +
X-Amz-Region-Set:us-east-1
        7162  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        7163  +
 5494   7164   
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
 5495   7165   
similarity index 99%
 5496   7166   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 5497   7167   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 5498   7168   
index f6e3e9b..7c5236a 100644
 5499         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
        7169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 5500   7170   
@@ -1,4 +1,4 @@
 5501   7171   
AWS4-ECDSA-P256-SHA256
 5502   7172   
20150830T123600Z
 5503   7173   
20150830/service/aws4_request
 5504         -
b92b1e85236a12f9d118f85fb6686c83b0e83fb3428f8d4da3cc9acb2851fcfa
        7174  +
b92b1e85236a12f9d118f85fb6686c83b0e83fb3428f8d4da3cc9acb2851fcfa
              \
 No newline at end of file
 5505   7175   
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
 5506   7176   
new file mode 100644
 5507   7177   
index 0000000..379dcb2
 5508         -
-- /dev/null
        7178  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 5509   7179   
@@ -0,0 +1,4 @@
        7180  +
{
        7181  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7182  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7183  +
}
 5510   7184   
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
 5511   7185   
similarity index 99%
 5512   7186   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 5513   7187   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 5514   7188   
index 0ae73e1..2cf3f29 100644
 5515         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
        7189  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 5516   7190   
@@ -1,8 +1,8 @@
 5517   7191   
POST
 5518   7192   
/
 5519   7193   
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
 5520   7194   
host:example.amazonaws.com
 5521   7195   
my-header1:value1
 5522   7196   
 5523   7197   
host;my-header1
 5524         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7198  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5525   7199   
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
 5526   7200   
new file mode 100644
 5527   7201   
index 0000000..2a08401
 5528         -
-- /dev/null
        7202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 5529   7203   
@@ -0,0 +1 @@
        7204  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 5530   7205   
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
 5531   7206   
new file mode 100644
 5532   7207   
index 0000000..8d2343f
 5533         -
-- /dev/null
        7208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 5534   7209   
@@ -0,0 +1,4 @@
        7210  +
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
        7211  +
Host:example.amazonaws.com
        7212  +
My-Header1:value1
        7213  +
 5535   7214   
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
 5536   7215   
similarity index 99%
 5537   7216   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 5538   7217   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 5539   7218   
index 8cb96bf..2c4db7a 100644
 5540         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
        7219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 5541   7220   
@@ -1,4 +1,4 @@
 5542   7221   
AWS4-ECDSA-P256-SHA256
 5543   7222   
20150830T123600Z
 5544   7223   
20150830/service/aws4_request
 5545         -
336638ab840d4785edc7db35ab9c036bc15ffb2dc1a4e05b04f3a7cd7407593f
        7224  +
336638ab840d4785edc7db35ab9c036bc15ffb2dc1a4e05b04f3a7cd7407593f
              \
 No newline at end of file
 5546   7225   
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
 5547   7226   
similarity index 69%
 5548   7227   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 5549   7228   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 5550   7229   
index 0253f19..917720e 100644
 5551         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        7230  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 5552   7231   
@@ -1,4 +1,3 @@
 5553   7232   
POST / HTTP/1.1
 5554   7233   
Host:example.amazonaws.com
 5555   7234   
My-Header1:value1
 5556         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5557   7235   
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
 5558   7236   
new file mode 100644
 5559   7237   
index 0000000..0468d80
 5560         -
-- /dev/null
        7238  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 5561   7239   
@@ -0,0 +1,12 @@
        7240  +
{
        7241  +
    "credentials": {
        7242  +
        "access_key_id": "AKIDEXAMPLE",
        7243  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7244  +
    },
        7245  +
    "expiration_in_seconds": 3600,
        7246  +
    "normalize": true,
        7247  +
    "region": "us-east-1",
        7248  +
    "service": "service",
        7249  +
    "sign_body": false,
        7250  +
    "timestamp": "2015-08-30T12:36:00Z"
        7251  +
}
              \
 No newline at end of file
 5562   7252   
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
 5563   7253   
similarity index 99%
 5564   7254   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 5565   7255   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 5566   7256   
index 1dc3ef8..164e65c 100644
 5567         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
        7257  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 5568   7258   
@@ -1,10 +1,10 @@
 5569   7259   
POST
 5570   7260   
/
 5571   7261   
 5572   7262   
host:example.amazonaws.com
 5573   7263   
my-header1:VALUE1
 5574   7264   
x-amz-date:20150830T123600Z
 5575   7265   
x-amz-region-set:us-east-1
 5576   7266   
 5577   7267   
host;my-header1;x-amz-date;x-amz-region-set
 5578         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7268  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5579   7269   
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
 5580   7270   
new file mode 100644
 5581   7271   
index 0000000..7072b0e
 5582         -
-- /dev/null
        7272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 5583   7273   
@@ -0,0 +1 @@
        7274  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 5584   7275   
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
 5585   7276   
new file mode 100644
 5586   7277   
index 0000000..17f5e3e
 5587         -
-- /dev/null
        7278  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 5588   7279   
@@ -0,0 +1,7 @@
        7280  +
POST / HTTP/1.1
        7281  +
Host:example.amazonaws.com
        7282  +
My-Header1:VALUE1
        7283  +
X-Amz-Date:20150830T123600Z
        7284  +
X-Amz-Region-Set:us-east-1
        7285  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        7286  +
 5589   7287   
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
 5590   7288   
similarity index 99%
 5591   7289   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 5592   7290   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 5593   7291   
index 59c7e45..620f54e 100644
 5594         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
        7292  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 5595   7293   
@@ -1,4 +1,4 @@
 5596   7294   
AWS4-ECDSA-P256-SHA256
 5597   7295   
20150830T123600Z
 5598   7296   
20150830/service/aws4_request
 5599         -
7de5a74bc45fb5c8a90faada2ab9538e69e4a5eb7f330f62387715669cecd492
        7297  +
7de5a74bc45fb5c8a90faada2ab9538e69e4a5eb7f330f62387715669cecd492
              \
 No newline at end of file
 5600   7298   
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
 5601   7299   
new file mode 100644
 5602   7300   
index 0000000..379dcb2
 5603         -
-- /dev/null
        7301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 5604   7302   
@@ -0,0 +1,4 @@
        7303  +
{
        7304  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7305  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7306  +
}
 5605   7307   
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
 5606   7308   
similarity index 99%
 5607   7309   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 5608   7310   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 5609   7311   
index 377e6f3..23e0da3 100644
 5610         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
        7312  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 5611   7313   
@@ -1,8 +1,8 @@
 5612   7314   
POST
 5613   7315   
/
 5614   7316   
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
 5615   7317   
host:example.amazonaws.com
 5616   7318   
my-header1:VALUE1
 5617   7319   
 5618   7320   
host;my-header1
 5619         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7321  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5620   7322   
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
 5621   7323   
new file mode 100644
 5622   7324   
index 0000000..a18acb8
 5623         -
-- /dev/null
        7325  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 5624   7326   
@@ -0,0 +1 @@
        7327  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 5625   7328   
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
 5626   7329   
new file mode 100644
 5627   7330   
index 0000000..7cbdcfa
 5628         -
-- /dev/null
        7331  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 5629   7332   
@@ -0,0 +1,4 @@
        7333  +
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
        7334  +
Host:example.amazonaws.com
        7335  +
My-Header1:VALUE1
        7336  +
 5630   7337   
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
 5631   7338   
similarity index 99%
 5632   7339   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 5633   7340   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 5634   7341   
index 84a7afd..0c90627 100644
 5635         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
        7342  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 5636   7343   
@@ -1,4 +1,4 @@
 5637   7344   
AWS4-ECDSA-P256-SHA256
 5638   7345   
20150830T123600Z
 5639   7346   
20150830/service/aws4_request
 5640         -
949fb555e05d3289760ff0f0566ad73a69ed865000d9843b93a15b916dbc8b6f
        7347  +
949fb555e05d3289760ff0f0566ad73a69ed865000d9843b93a15b916dbc8b6f
              \
 No newline at end of file
 5641   7348   
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
 5642   7349   
similarity index 69%
 5643   7350   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 5644   7351   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 5645   7352   
index 3f9987a..5f14c91 100644
 5646         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        7353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 5647   7354   
@@ -1,4 +1,3 @@
 5648   7355   
POST / HTTP/1.1
 5649   7356   
Host:example.amazonaws.com
 5650   7357   
My-Header1:VALUE1
 5651         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5652   7358   
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
 5653   7359   
new file mode 100644
 5654   7360   
index 0000000..8f1d5ce
 5655         -
-- /dev/null
        7361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 5656   7362   
@@ -0,0 +1,14 @@
        7363  +
{
        7364  +
    "credentials": {
        7365  +
        "access_key_id": "AKIDEXAMPLE",
        7366  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        7367  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        7368  +
    },
        7369  +
    "expiration_in_seconds": 3600,
        7370  +
    "normalize": true,
        7371  +
    "region": "us-east-1",
        7372  +
    "service": "service",
        7373  +
    "sign_body": false,
        7374  +
    "timestamp": "2015-08-30T12:36:00Z",
        7375  +
    "omit_session_token": true
        7376  +
}
 5657   7377   
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
 5658   7378   
similarity index 99%
 5659   7379   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 5660   7380   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 5661   7381   
index a6942c1..e881ac7 100644
 5662         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
        7382  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 5663   7383   
@@ -1,9 +1,9 @@
 5664   7384   
POST
 5665   7385   
/
 5666   7386   
 5667   7387   
host:example.amazonaws.com
 5668   7388   
x-amz-date:20150830T123600Z
 5669   7389   
x-amz-region-set:us-east-1
 5670   7390   
 5671   7391   
host;x-amz-date;x-amz-region-set
 5672         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7392  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5673   7393   
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
 5674   7394   
new file mode 100644
 5675   7395   
index 0000000..9c5ecb9
 5676         -
-- /dev/null
        7396  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 5677   7397   
@@ -0,0 +1 @@
        7398  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 5678   7399   
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
 5679   7400   
similarity index 52%
 5680   7401   
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
 5681   7402   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 5682   7403   
index 9d91775..61b6527 100644
 5683         -
-- 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
        7404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 5684   7405   
@@ -1,4 +1,7 @@
 5685   7406   
POST / HTTP/1.1
 5686   7407   
Host:example.amazonaws.com
        7408  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 5687   7409   
X-Amz-Date:20150830T123600Z
 5688         -
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 No newline at end of file
        7410  +
X-Amz-Region-Set:us-east-1
        7411  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        7412  +
 5689   7413   
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
 5690   7414   
similarity index 99%
 5691   7415   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 5692   7416   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 5693   7417   
index d5650cb..f8adf13 100644
 5694         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
        7418  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 5695   7419   
@@ -1,4 +1,4 @@
 5696   7420   
AWS4-ECDSA-P256-SHA256
 5697   7421   
20150830T123600Z
 5698   7422   
20150830/service/aws4_request
 5699         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7423  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 5700   7424   
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
 5701   7425   
new file mode 100644
 5702   7426   
index 0000000..379dcb2
 5703         -
-- /dev/null
        7427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 5704   7428   
@@ -0,0 +1,4 @@
        7429  +
{
        7430  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7431  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7432  +
}
 5705   7433   
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
 5706   7434   
similarity index 99%
 5707   7435   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 5708   7436   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 5709   7437   
index e48ce07..5ea8e3c 100644
 5710         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
        7438  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 5711   7439   
@@ -1,7 +1,7 @@
 5712   7440   
POST
 5713   7441   
/
 5714   7442   
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
 5715   7443   
host:example.amazonaws.com
 5716   7444   
 5717   7445   
host
 5718         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7446  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5719   7447   
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
 5720   7448   
new file mode 100644
 5721   7449   
index 0000000..ff8823a
 5722         -
-- /dev/null
        7450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 5723   7451   
@@ -0,0 +1 @@
        7452  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 5724   7453   
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
 5725   7454   
new file mode 100644
 5726   7455   
index 0000000..cfac41b
 5727         -
-- /dev/null
        7456  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 5728   7457   
@@ -0,0 +1,3 @@
        7458  +
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
        7459  +
Host:example.amazonaws.com
        7460  +
 5729   7461   
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
 5730   7462   
similarity index 99%
 5731   7463   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 5732   7464   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 5733   7465   
index 34e3382..711c162 100644
 5734         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
        7466  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 5735   7467   
@@ -1,4 +1,4 @@
 5736   7468   
AWS4-ECDSA-P256-SHA256
 5737   7469   
20150830T123600Z
 5738   7470   
20150830/service/aws4_request
 5739         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7471  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 5740   7472   
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
 5741   7473   
similarity index 61%
 5742   7474   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 5743   7475   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5744   7476   
index 3dc4179..3f0a82a 100644
 5745         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        7477  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5746   7478   
@@ -1,3 +1,2 @@
 5747   7479   
POST / HTTP/1.1
 5748   7480   
Host:example.amazonaws.com
 5749         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5750   7481   
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
 5751   7482   
new file mode 100644
 5752   7483   
index 0000000..5187392
 5753         -
-- /dev/null
        7484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 5754   7485   
@@ -0,0 +1,14 @@
        7486  +
{
        7487  +
    "credentials": {
        7488  +
        "access_key_id": "AKIDEXAMPLE",
        7489  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        7490  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        7491  +
    },
        7492  +
    "expiration_in_seconds": 3600,
        7493  +
    "normalize": true,
        7494  +
    "region": "us-east-1",
        7495  +
    "service": "service",
        7496  +
    "sign_body": false,
        7497  +
    "timestamp": "2015-08-30T12:36:00Z",
        7498  +
    "omit_session_token": false
        7499  +
}
 5755   7500   
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
 5756   7501   
similarity index 99%
 5757   7502   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 5758   7503   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 5759   7504   
index dd408c8..e95924e 100644
 5760         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
        7505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 5761   7506   
@@ -1,10 +1,10 @@
 5762   7507   
POST
 5763   7508   
/
 5764   7509   
 5765   7510   
host:example.amazonaws.com
 5766   7511   
x-amz-date:20150830T123600Z
 5767   7512   
x-amz-region-set:us-east-1
 5768   7513   
x-amz-security-token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 5769   7514   
 5770   7515   
host;x-amz-date;x-amz-region-set;x-amz-security-token
 5771         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7516  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5772   7517   
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
 5773   7518   
new file mode 100644
 5774   7519   
index 0000000..1573f07
 5775         -
-- /dev/null
        7520  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 5776   7521   
@@ -0,0 +1 @@
        7522  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 5777   7523   
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
 5778   7524   
new file mode 100644
 5779   7525   
index 0000000..6ef9a08
 5780         -
-- /dev/null
        7526  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 5781   7527   
@@ -0,0 +1,7 @@
        7528  +
POST / HTTP/1.1
        7529  +
Host:example.amazonaws.com
        7530  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        7531  +
X-Amz-Date:20150830T123600Z
        7532  +
X-Amz-Region-Set:us-east-1
        7533  +
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
        7534  +
 5782   7535   
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
 5783   7536   
similarity index 99%
 5784   7537   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 5785   7538   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 5786   7539   
index f352b54..3c3235f 100644
 5787         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
        7540  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 5788   7541   
@@ -1,4 +1,4 @@
 5789   7542   
AWS4-ECDSA-P256-SHA256
 5790   7543   
20150830T123600Z
 5791   7544   
20150830/service/aws4_request
 5792         -
964c15d46a67b327b877c02d680c81cb75df04e85144142e190da565ff0d029f
        7545  +
964c15d46a67b327b877c02d680c81cb75df04e85144142e190da565ff0d029f
              \
 No newline at end of file
 5793   7546   
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
 5794   7547   
new file mode 100644
 5795   7548   
index 0000000..379dcb2
 5796         -
-- /dev/null
        7549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 5797   7550   
@@ -0,0 +1,4 @@
        7551  +
{
        7552  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7553  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7554  +
}
 5798   7555   
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
 5799   7556   
similarity index 99%
 5800   7557   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 5801   7558   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 5802   7559   
index 832cdc0..63b7de5 100644
 5803         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
        7560  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 5804   7561   
@@ -1,7 +1,7 @@
 5805   7562   
POST
 5806   7563   
/
 5807   7564   
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
 5808   7565   
host:example.amazonaws.com
 5809   7566   
 5810   7567   
host
 5811         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7568  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5812   7569   
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
 5813   7570   
new file mode 100644
 5814   7571   
index 0000000..713f57c
 5815         -
-- /dev/null
        7572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 5816   7573   
@@ -0,0 +1 @@
        7574  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 5817   7575   
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
 5818   7576   
new file mode 100644
 5819   7577   
index 0000000..32c3bb3
 5820         -
-- /dev/null
        7578  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 5821   7579   
@@ -0,0 +1,3 @@
        7580  +
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
        7581  +
Host:example.amazonaws.com
        7582  +
 5822   7583   
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
 5823   7584   
similarity index 99%
 5824   7585   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 5825   7586   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5826   7587   
index d7f3668..b46cd8c 100644
 5827         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
        7588  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5828   7589   
@@ -1,4 +1,4 @@
 5829   7590   
AWS4-ECDSA-P256-SHA256
 5830   7591   
20150830T123600Z
 5831   7592   
20150830/service/aws4_request
 5832         -
c3a8ba26c461df46b5010b756fb8644fd922a2aea95d77b56295e5e4d3bb155f
        7593  +
c3a8ba26c461df46b5010b756fb8644fd922a2aea95d77b56295e5e4d3bb155f
              \
 No newline at end of file
 5833   7594   
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
 5834   7595   
similarity index 60%
 5835   7596   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 5836   7597   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5837   7598   
index 8b5efc8..3f0a82a 100644
 5838         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        7599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5839   7600   
@@ -1,3 +1,2 @@
 5840   7601   
POST / HTTP/1.1
 5841   7602   
Host:example.amazonaws.com
 5842         -
X-Amz-Date:20150830T123600Z
 5843   7603   
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
 5844   7604   
new file mode 100644
 5845   7605   
index 0000000..0468d80
 5846         -
-- /dev/null
        7606  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 5847   7607   
@@ -0,0 +1,12 @@
        7608  +
{
        7609  +
    "credentials": {
        7610  +
        "access_key_id": "AKIDEXAMPLE",
        7611  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7612  +
    },
        7613  +
    "expiration_in_seconds": 3600,
        7614  +
    "normalize": true,
        7615  +
    "region": "us-east-1",
        7616  +
    "service": "service",
        7617  +
    "sign_body": false,
        7618  +
    "timestamp": "2015-08-30T12:36:00Z"
        7619  +
}
              \
 No newline at end of file
 5848   7620   
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
 5849   7621   
similarity index 99%
 5850   7622   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 5851   7623   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5852   7624   
index 02af60f..34b8c11 100644
 5853         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
        7625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5854   7626   
@@ -1,9 +1,9 @@
 5855   7627   
POST
 5856   7628   
/
 5857   7629   
Param1=value1
 5858   7630   
host:example.amazonaws.com
 5859   7631   
x-amz-date:20150830T123600Z
 5860   7632   
x-amz-region-set:us-east-1
 5861   7633   
 5862   7634   
host;x-amz-date;x-amz-region-set
 5863         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7635  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5864   7636   
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
 5865   7637   
new file mode 100644
 5866   7638   
index 0000000..aac6427
 5867         -
-- /dev/null
        7639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 5868   7640   
@@ -0,0 +1 @@
        7641  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 5869   7642   
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
 5870   7643   
new file mode 100644
 5871   7644   
index 0000000..a611436
 5872         -
-- /dev/null
        7645  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 5873   7646   
@@ -0,0 +1,6 @@
        7647  +
POST /?Param1=value1 HTTP/1.1
        7648  +
Host:example.amazonaws.com
        7649  +
X-Amz-Date:20150830T123600Z
        7650  +
X-Amz-Region-Set:us-east-1
        7651  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        7652  +
 5874   7653   
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
 5875   7654   
similarity index 99%
 5876   7655   
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
 5877   7656   
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
 5878   7657   
index 4256b4f..ad88dff 100644
 5879         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-string-to-sign.txt
        7658  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-string-to-sign.txt
 5880   7659   
@@ -1,4 +1,4 @@
 5881   7660   
AWS4-ECDSA-P256-SHA256
 5882   7661   
20150830T123600Z
 5883   7662   
20150830/service/aws4_request
 5884         -
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
        7663  +
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
              \
 No newline at end of file
 5885   7664   
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
 5886   7665   
new file mode 100644
 5887   7666   
index 0000000..379dcb2
 5888         -
-- /dev/null
        7667  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 5889   7668   
@@ -0,0 +1,4 @@
        7669  +
{
        7670  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7671  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7672  +
}
 5890   7673   
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
 5891   7674   
similarity index 99%
 5892   7675   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 5893   7676   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5894   7677   
index fa84bbd..76d5ad6 100644
 5895         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
        7678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5896   7679   
@@ -1,7 +1,7 @@
 5897   7680   
POST
 5898   7681   
/
 5899   7682   
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
 5900   7683   
host:example.amazonaws.com
 5901   7684   
 5902   7685   
host
 5903         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7686  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5904   7687   
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
 5905   7688   
new file mode 100644
 5906   7689   
index 0000000..4cb1c94
 5907         -
-- /dev/null
        7690  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 5908   7691   
@@ -0,0 +1 @@
        7692  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 5909   7693   
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
 5910   7694   
new file mode 100644
 5911   7695   
index 0000000..bd22b97
 5912         -
-- /dev/null
        7696  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 5913   7697   
@@ -0,0 +1,3 @@
        7698  +
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
        7699  +
Host:example.amazonaws.com
        7700  +
 5914   7701   
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
 5915   7702   
similarity index 99%
 5916   7703   
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
 5917   7704   
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
 5918   7705   
index de270ef..8c9d319 100644
 5919         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-string-to-sign.txt
        7706  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-string-to-sign.txt
 5920   7707   
@@ -1,4 +1,4 @@
 5921   7708   
AWS4-ECDSA-P256-SHA256
 5922   7709   
20150830T123600Z
 5923   7710   
20150830/service/aws4_request
 5924         -
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
        7711  +
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
              \
 No newline at end of file
 5925   7712   
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
 5926   7713   
similarity index 67%
 5927   7714   
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
 5928   7715   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5929   7716   
index 9157bc7..c9d6e5d 100644
 5930         -
-- 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
        7717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5931   7718   
@@ -1,3 +1,2 @@
 5932   7719   
POST /?Param1=value1 HTTP/1.1
 5933   7720   
Host:example.amazonaws.com
 5934         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5935   7721   
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
 5936   7722   
new file mode 100644
 5937   7723   
index 0000000..0468d80
 5938         -
-- /dev/null
        7724  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 5939   7725   
@@ -0,0 +1,12 @@
        7726  +
{
        7727  +
    "credentials": {
        7728  +
        "access_key_id": "AKIDEXAMPLE",
        7729  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7730  +
    },
        7731  +
    "expiration_in_seconds": 3600,
        7732  +
    "normalize": true,
        7733  +
    "region": "us-east-1",
        7734  +
    "service": "service",
        7735  +
    "sign_body": false,
        7736  +
    "timestamp": "2015-08-30T12:36:00Z"
        7737  +
}
              \
 No newline at end of file
 5940   7738   
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
 5941   7739   
similarity index 99%
 5942   7740   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 5943   7741   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5944   7742   
index 02af60f..34b8c11 100644
 5945         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
        7743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5946   7744   
@@ -1,9 +1,9 @@
 5947   7745   
POST
 5948   7746   
/
 5949   7747   
Param1=value1
 5950   7748   
host:example.amazonaws.com
 5951   7749   
x-amz-date:20150830T123600Z
 5952   7750   
x-amz-region-set:us-east-1
 5953   7751   
 5954   7752   
host;x-amz-date;x-amz-region-set
 5955         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7753  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5956   7754   
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
 5957   7755   
new file mode 100644
 5958   7756   
index 0000000..34f75c8
 5959         -
-- /dev/null
        7757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 5960   7758   
@@ -0,0 +1 @@
        7759  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 5961   7760   
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
 5962   7761   
new file mode 100644
 5963   7762   
index 0000000..c731408
 5964         -
-- /dev/null
        7763  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 5965   7764   
@@ -0,0 +1,6 @@
        7765  +
POST /?Param1=value1 HTTP/1.1
        7766  +
Host:example.amazonaws.com
        7767  +
X-Amz-Date:20150830T123600Z
        7768  +
X-Amz-Region-Set:us-east-1
        7769  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        7770  +
 5966   7771   
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
 5967   7772   
similarity index 99%
 5968   7773   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 5969   7774   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5970   7775   
index 4256b4f..ad88dff 100644
 5971         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
        7776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5972   7777   
@@ -1,4 +1,4 @@
 5973   7778   
AWS4-ECDSA-P256-SHA256
 5974   7779   
20150830T123600Z
 5975   7780   
20150830/service/aws4_request
 5976         -
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
        7781  +
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
              \
 No newline at end of file
 5977   7782   
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
 5978   7783   
new file mode 100644
 5979   7784   
index 0000000..379dcb2
 5980         -
-- /dev/null
        7785  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 5981   7786   
@@ -0,0 +1,4 @@
        7787  +
{
        7788  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7789  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7790  +
}
 5982   7791   
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
 5983   7792   
similarity index 99%
 5984   7793   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 5985   7794   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 5986   7795   
index fa84bbd..76d5ad6 100644
 5987         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
        7796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 5988   7797   
@@ -1,7 +1,7 @@
 5989   7798   
POST
 5990   7799   
/
 5991   7800   
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
 5992   7801   
host:example.amazonaws.com
 5993   7802   
 5994   7803   
host
 5995         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7804  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5996   7805   
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
 5997   7806   
new file mode 100644
 5998   7807   
index 0000000..ae000d6
 5999         -
-- /dev/null
        7808  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 6000   7809   
@@ -0,0 +1 @@
        7810  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 6001   7811   
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
 6002   7812   
new file mode 100644
 6003   7813   
index 0000000..a868f7d
 6004         -
-- /dev/null
        7814  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 6005   7815   
@@ -0,0 +1,3 @@
        7816  +
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
        7817  +
Host:example.amazonaws.com
        7818  +
 6006   7819   
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
 6007   7820   
similarity index 99%
 6008   7821   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 6009   7822   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 6010   7823   
index de270ef..8c9d319 100644
 6011         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
        7824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 6012   7825   
@@ -1,4 +1,4 @@
 6013   7826   
AWS4-ECDSA-P256-SHA256
 6014   7827   
20150830T123600Z
 6015   7828   
20150830/service/aws4_request
 6016         -
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
        7829  +
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
              \
 No newline at end of file
 6017   7830   
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
 6018   7831   
similarity index 67%
 6019   7832   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 6020   7833   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 6021   7834   
index 9157bc7..c9d6e5d 100644
 6022         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        7835  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 6023   7836   
@@ -1,3 +1,2 @@
 6024   7837   
POST /?Param1=value1 HTTP/1.1
 6025   7838   
Host:example.amazonaws.com
 6026         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 6027   7839   
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
 6028   7840   
new file mode 100644
 6029   7841   
index 0000000..0468d80
 6030         -
-- /dev/null
        7842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 6031   7843   
@@ -0,0 +1,12 @@
        7844  +
{
        7845  +
    "credentials": {
        7846  +
        "access_key_id": "AKIDEXAMPLE",
        7847  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7848  +
    },
        7849  +
    "expiration_in_seconds": 3600,
        7850  +
    "normalize": true,
        7851  +
    "region": "us-east-1",
        7852  +
    "service": "service",
        7853  +
    "sign_body": false,
        7854  +
    "timestamp": "2015-08-30T12:36:00Z"
        7855  +
}
              \
 No newline at end of file
 6032   7856   
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
 6033   7857   
similarity index 99%
 6034   7858   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 6035   7859   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 6036   7860   
index a6942c1..e881ac7 100644
 6037         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
        7861  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 6038   7862   
@@ -1,9 +1,9 @@
 6039   7863   
POST
 6040   7864   
/
 6041   7865   
 6042   7866   
host:example.amazonaws.com
 6043   7867   
x-amz-date:20150830T123600Z
 6044   7868   
x-amz-region-set:us-east-1
 6045   7869   
 6046   7870   
host;x-amz-date;x-amz-region-set
 6047         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7871  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 6048   7872   
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
 6049   7873   
new file mode 100644
 6050   7874   
index 0000000..7c5e47b
 6051         -
-- /dev/null
        7875  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 6052   7876   
@@ -0,0 +1 @@
        7877  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 6053   7878   
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
 6054   7879   
new file mode 100644
 6055   7880   
index 0000000..c0e50a0
 6056         -
-- /dev/null
        7881  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 6057   7882   
@@ -0,0 +1,6 @@
        7883  +
POST / HTTP/1.1
        7884  +
Host:example.amazonaws.com
        7885  +
X-Amz-Date:20150830T123600Z
        7886  +
X-Amz-Region-Set:us-east-1
        7887  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        7888  +
 6058   7889   
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
 6059   7890   
similarity index 99%
 6060   7891   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 6061   7892   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 6062   7893   
index d5650cb..f8adf13 100644
 6063         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
        7894  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 6064   7895   
@@ -1,4 +1,4 @@
 6065   7896   
AWS4-ECDSA-P256-SHA256
 6066   7897   
20150830T123600Z
 6067   7898   
20150830/service/aws4_request
 6068         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7899  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 6069   7900   
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
 6070   7901   
new file mode 100644
 6071   7902   
index 0000000..379dcb2
 6072         -
-- /dev/null
        7903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 6073   7904   
@@ -0,0 +1,4 @@
        7905  +
{
        7906  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7907  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7908  +
}
 6074   7909   
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
 6075   7910   
similarity index 99%
 6076   7911   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 6077   7912   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 6078   7913   
index e48ce07..5ea8e3c 100644
 6079         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
        7914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 6080   7915   
@@ -1,7 +1,7 @@
 6081   7916   
POST
 6082   7917   
/
 6083   7918   
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
 6084   7919   
host:example.amazonaws.com
 6085   7920   
 6086   7921   
host
 6087         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7922  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 6088   7923   
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
 6089   7924   
new file mode 100644
 6090   7925   
index 0000000..ea8e3b4
 6091         -
-- /dev/null
        7926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 6092   7927   
@@ -0,0 +1 @@
        7928  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 6093   7929   
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
 6094   7930   
new file mode 100644
 6095   7931   
index 0000000..616973f
 6096         -
-- /dev/null
        7932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 6097   7933   
@@ -0,0 +1,3 @@
        7934  +
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
        7935  +
Host:example.amazonaws.com
        7936  +
 6098   7937   
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
 6099   7938   
similarity index 99%
 6100   7939   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 6101   7940   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 6102   7941   
index 34e3382..711c162 100644
 6103         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
        7942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 6104   7943   
@@ -1,4 +1,4 @@
 6105   7944   
AWS4-ECDSA-P256-SHA256
 6106   7945   
20150830T123600Z
 6107   7946   
20150830/service/aws4_request
 6108         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7947  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 6109   7948   
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
 6110   7949   
new file mode 100644
 6111   7950   
index 0000000..3f0a82a
 6112         -
-- /dev/null
        7951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 6113   7952   
@@ -0,0 +1,2 @@
        7953  +
POST / HTTP/1.1
        7954  +
Host:example.amazonaws.com
 6114   7955   
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
 6115   7956   
new file mode 100644
 6116   7957   
index 0000000..0db1df1
 6117         -
-- /dev/null
        7958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 6118   7959   
@@ -0,0 +1,12 @@
        7960  +
{
        7961  +
    "credentials": {
        7962  +
        "access_key_id": "AKIDEXAMPLE",
        7963  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7964  +
    },
        7965  +
    "expiration_in_seconds": 3600,
        7966  +
    "normalize": true,
        7967  +
    "region": "us-east-1",
        7968  +
    "service": "service",
        7969  +
    "sign_body": true,
        7970  +
    "timestamp": "2015-08-30T12:36:00Z"
        7971  +
}
              \
 No newline at end of file
 6119   7972   
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
 6120   7973   
similarity index 62%
 6121   7974   
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
 6122   7975   
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
 6123   7976   
index 05ab787..62639b2 100644
 6124         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        7977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 6125   7978   
@@ -1,12 +1,12 @@
 6126   7979   
POST
 6127   7980   
/
 6128   7981   
 6129   7982   
content-length:13
 6130   7983   
content-type:application/x-www-form-urlencoded; charset=utf-8
 6131   7984   
host:example.amazonaws.com
 6132         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7985  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 6133   7986   
x-amz-date:20150830T123600Z
 6134   7987   
x-amz-region-set:us-east-1
 6135   7988   
 6136   7989   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 6137         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7990  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6138   7991   
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
 6139   7992   
new file mode 100644
 6140   7993   
index 0000000..006ec2e
 6141         -
-- /dev/null
        7994  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 6142   7995   
@@ -0,0 +1 @@
        7996  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 6143   7997   
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
 6144   7998   
new file mode 100644
 6145   7999   
index 0000000..87a11f2
 6146         -
-- /dev/null
        8000  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 6147   8001   
@@ -0,0 +1,10 @@
        8002  +
POST / HTTP/1.1
        8003  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        8004  +
Host:example.amazonaws.com
        8005  +
Content-Length:13
        8006  +
X-Amz-Date:20150830T123600Z
        8007  +
X-Amz-Region-Set:us-east-1
        8008  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        8009  +
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
        8010  +
        8011  +
Param1=value1
              \
 No newline at end of file
 6148   8012   
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
 6149   8013   
new file mode 100644
 6150   8014   
index 0000000..c047afb
 6151         -
-- /dev/null
        8015  +
++ 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
 6152   8016   
@@ -0,0 +1,4 @@
        8017  +
AWS4-ECDSA-P256-SHA256
        8018  +
20150830T123600Z
        8019  +
20150830/service/aws4_request
        8020  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 6153   8021   
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
 6154   8022   
new file mode 100644
 6155   8023   
index 0000000..379dcb2
 6156         -
-- /dev/null
        8024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 6157   8025   
@@ -0,0 +1,4 @@
        8026  +
{
        8027  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        8028  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        8029  +
}
 6158   8030   
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
 6159   8031   
similarity index 85%
 6160   8032   
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
 6161   8033   
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
 6162   8034   
index fcc454f..6933a8c 100644
 6163         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        8035  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 6164   8036   
@@ -1,9 +1,9 @@
 6165   8037   
POST
 6166   8038   
/
 6167   8039   
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
 6168   8040   
content-length:13
 6169   8041   
content-type:application/x-www-form-urlencoded; charset=utf-8
 6170   8042   
host:example.amazonaws.com
 6171   8043   
 6172   8044   
content-length;content-type;host
 6173         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8045  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6174   8046   
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
 6175   8047   
new file mode 100644
 6176   8048   
index 0000000..34a2e12
 6177         -
-- /dev/null
        8049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 6178   8050   
@@ -0,0 +1 @@
        8051  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 6179   8052   
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
 6180   8053   
new file mode 100644
 6181   8054   
index 0000000..197b99e
 6182         -
-- /dev/null
        8055  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 6183   8056   
@@ -0,0 +1,6 @@
        8057  +
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
        8058  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        8059  +
Host:example.amazonaws.com
        8060  +
Content-Length:13
        8061  +
        8062  +
Param1=value1
              \
 No newline at end of file
 6184   8063   
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
 6185   8064   
new file mode 100644
 6186   8065   
index 0000000..9d2bc74
 6187         -
-- /dev/null
        8066  +
++ 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
 6188   8067   
@@ -0,0 +1,4 @@
        8068  +
AWS4-ECDSA-P256-SHA256
        8069  +
20150830T123600Z
        8070  +
20150830/service/aws4_request
        8071  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 6189   8072   
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
 6190   8073   
similarity index 80%
 6191   8074   
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
 6192   8075   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 6193   8076   
index 36015f1..8289eaa 100644
 6194         -
-- 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
        8077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 6195   8078   
@@ -1,6 +1,6 @@
 6196   8079   
POST / HTTP/1.1
 6197   8080   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 6198   8081   
Host:example.amazonaws.com
 6199         -
X-Amz-Date:20150830T123600Z
        8082  +
Content-Length:13
 6200   8083   
 6201   8084   
Param1=value1
              \
 No newline at end of file
 6202   8085   
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
 6203   8086   
new file mode 100644
 6204   8087   
index 0000000..0db1df1
 6205         -
-- /dev/null
        8088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 6206   8089   
@@ -0,0 +1,12 @@
        8090  +
{
        8091  +
    "credentials": {
        8092  +
        "access_key_id": "AKIDEXAMPLE",
        8093  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        8094  +
    },
        8095  +
    "expiration_in_seconds": 3600,
        8096  +
    "normalize": true,
        8097  +
    "region": "us-east-1",
        8098  +
    "service": "service",
        8099  +
    "sign_body": true,
        8100  +
    "timestamp": "2015-08-30T12:36:00Z"
        8101  +
}
              \
 No newline at end of file
 6207   8102   
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
 6208   8103   
similarity index 61%
 6209   8104   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 6210   8105   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 6211   8106   
index 69009dc..797632b 100644
 6212         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        8107  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 6213   8108   
@@ -1,12 +1,12 @@
 6214   8109   
POST
 6215   8110   
/
 6216   8111   
 6217   8112   
content-length:13
 6218   8113   
content-type:application/x-www-form-urlencoded
 6219   8114   
host:example.amazonaws.com
 6220         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8115  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 6221   8116   
x-amz-date:20150830T123600Z
 6222   8117   
x-amz-region-set:us-east-1
 6223   8118   
 6224   8119   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 6225         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8120  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6226   8121   
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
 6227   8122   
new file mode 100644
 6228   8123   
index 0000000..f5a641c
 6229         -
-- /dev/null
        8124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 6230   8125   
@@ -0,0 +1 @@
        8126  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 6231   8127   
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
 6232   8128   
new file mode 100644
 6233   8129   
index 0000000..7bd94a7
 6234         -
-- /dev/null
        8130  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 6235   8131   
@@ -0,0 +1,10 @@
        8132  +
POST / HTTP/1.1
        8133  +
Content-Type:application/x-www-form-urlencoded
        8134  +
Host:example.amazonaws.com
        8135  +
Content-Length:13
        8136  +
X-Amz-Date:20150830T123600Z
        8137  +
X-Amz-Region-Set:us-east-1
        8138  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        8139  +
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
        8140  +
        8141  +
Param1=value1
              \
 No newline at end of file
 6236   8142   
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
 6237   8143   
new file mode 100644
 6238   8144   
index 0000000..8d25ba9
 6239         -
-- /dev/null
        8145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 6240   8146   
@@ -0,0 +1,4 @@
        8147  +
AWS4-ECDSA-P256-SHA256
        8148  +
20150830T123600Z
        8149  +
20150830/service/aws4_request
        8150  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 6241   8151   
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
 6242   8152   
new file mode 100644
 6243   8153   
index 0000000..379dcb2
 6244         -
-- /dev/null
        8154  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 6245   8155   
@@ -0,0 +1,4 @@
        8156  +
{
        8157  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        8158  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        8159  +
}
 6246   8160   
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
 6247   8161   
similarity index 99%
 6248   8162   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 6249   8163   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 6250   8164   
index 9ed065b..563ff58 100644
 6251         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
        8165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 6252   8166   
@@ -1,9 +1,9 @@
 6253   8167   
POST
 6254   8168   
/
 6255   8169   
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
 6256   8170   
content-length:13
 6257   8171   
content-type:application/x-www-form-urlencoded
 6258   8172   
host:example.amazonaws.com
 6259   8173   
 6260   8174   
content-length;content-type;host
 6261         -
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        8175  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6262   8176   
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
 6263   8177   
new file mode 100644
 6264   8178   
index 0000000..0c77daf
 6265         -
-- /dev/null
        8179  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 6266   8180   
@@ -0,0 +1 @@
        8181  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 6267   8182   
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
 6268   8183   
new file mode 100644
 6269   8184   
index 0000000..71d6de9
 6270         -
-- /dev/null
        8185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 6271   8186   
@@ -0,0 +1,6 @@
        8187  +
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
        8188  +
Content-Type:application/x-www-form-urlencoded
        8189  +
Host:example.amazonaws.com
        8190  +
Content-Length:13
        8191  +
        8192  +
Param1=value1
              \
 No newline at end of file
 6272   8193   
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
 6273   8194   
similarity index 99%
 6274   8195   
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
 6275   8196   
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
 6276   8197   
index bef3143..cc7a224 100644
 6277         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-string-to-sign.txt
        8198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-string-to-sign.txt
 6278   8199   
@@ -1,4 +1,4 @@
 6279   8200   
AWS4-ECDSA-P256-SHA256
 6280   8201   
20150830T123600Z
 6281   8202   
20150830/service/aws4_request
 6282         -
4e4122984d30d13170a298ece62cc30f8da12578fb3b482616b1f11036b13934
        8203  +
4e4122984d30d13170a298ece62cc30f8da12578fb3b482616b1f11036b13934
              \
 No newline at end of file
 6283   8204   
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
 6284   8205   
new file mode 100644
 6285   8206   
index 0000000..760b2d3
 6286         -
-- /dev/null
        8207  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 6287   8208   
@@ -0,0 +1,6 @@
        8209  +
POST / HTTP/1.1
        8210  +
Content-Type:application/x-www-form-urlencoded
        8211  +
Host:example.amazonaws.com
        8212  +
Content-Length:13
        8213  +
        8214  +
Param1=value1
              \
 No newline at end of file
 6288   8215   
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
 6289   8216   
index 9bd636f..b53f33f 100644
 6290         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        8217  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 6291   8218   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 6292   8219   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 6293   8220   
        }
 6294   8221   
 6295   8222   
        if let SignatureValues::QueryParams(values) = values {
 6296   8223   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 6297   8224   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 6298   8225   
 6299   8226   
            #[cfg(feature = "sigv4a")]
 6300   8227   
            if let Some(regions) = values.region_set {
 6301   8228   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 6302   8229   
            }
 6303   8230   
 6304   8231   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 6305   8232   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 6306   8233   
            add_param(
 6307   8234   
                &mut params,
 6308   8235   
                param::X_AMZ_SIGNED_HEADERS,
 6309   8236   
                values.signed_headers.as_str(),
 6310   8237   
            );
 6311   8238   
 6312   8239   
            if let Some(security_token) = values.security_token {
 6313   8240   
                add_param(
 6314   8241   
                    &mut params,
 6315   8242   
                    settings
 6316   8243   
                        .session_token_name_override
 6317   8244   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 6318   8245   
                    security_token,
 6319   8246   
                );
 6320   8247   
            }
 6321   8248   
        }
 6322         -
        // Sort by param name, and then by param value
        8249  +
        8250  +
        // Sort on the _encoded_ key/value pairs
        8251  +
        let mut params: Vec<(String, String)> = params
        8252  +
            .into_iter()
        8253  +
            .map(|x| {
        8254  +
                use aws_smithy_http::query::fmt_string;
        8255  +
                let enc_k = fmt_string(&x.0);
        8256  +
                let enc_v = fmt_string(&x.1);
        8257  +
                (enc_k, enc_v)
        8258  +
            })
        8259  +
            .collect();
        8260  +
 6323   8261   
        params.sort();
 6324   8262   
 6325   8263   
        let mut query = QueryWriter::new(uri);
 6326   8264   
        query.clear_params();
 6327   8265   
        for (key, value) in params {
 6328         -
            query.insert(&key, &value);
        8266  +
            query.insert_encoded(&key, &value);
 6329   8267   
        }
 6330   8268   
 6331   8269   
        let query = query.build_query();
 6332   8270   
        if query.is_empty() {
 6333   8271   
            None
 6334   8272   
        } else {
 6335   8273   
            Some(query)
 6336   8274   
        }
 6337   8275   
    }
 6338   8276   
 6339   8277   
    fn insert_host_header(
 6340   8278   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 6341   8279   
        uri: &Uri,
 6342   8280   
    ) -> HeaderValue {
 6343   8281   
        match canonical_headers.get(&HOST) {
 6344   8282   
            Some(header) => header.clone(),
 6345   8283   
            None => {
 6346   8284   
                let port = uri.port();
 6347   8285   
                let scheme = uri.scheme();
 6348   8286   
                let authority = uri
 6349   8287   
                    .authority()
 6350   8288   
                    .expect("request uri authority must be set for signing")
 6351   8289   
                    .as_str();
 6352   8290   
                let host = uri
 6353   8291   
                    .host()
 6354   8292   
                    .expect("request uri host must be set for signing");
 6355   8293   
 6356   8294   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 6357   8295   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 6358   8296   
                // sent in the Host header (and Hyper strips default ports if they are present)
 6359   8297   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 6360   8298   
            service,
 6361   8299   
            hashed_creq,
 6362   8300   
            signature_version: SignatureVersion::V4a,
 6363   8301   
        }
 6364   8302   
    }
 6365   8303   
}
 6366   8304   
 6367   8305   
impl fmt::Display for StringToSign<'_> {
 6368   8306   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 6369   8307   
        write!(
 6370   8308   
            f,
 6371   8309   
            "{}\n{}\n{}\n{}",
 6372   8310   
            self.algorithm,
 6373   8311   
            format_date_time(self.time),
 6374   8312   
            match self.signature_version {
 6375   8313   
                SignatureVersion::V4 => self.scope.to_string(),
 6376   8314   
                SignatureVersion::V4a => self.scope.v4a_display(),
 6377   8315   
            },
 6378   8316   
            self.hashed_creq
 6379   8317   
        )
 6380   8318   
    }
 6381   8319   
}
 6382   8320   
 6383   8321   
#[cfg(test)]
 6384   8322   
mod tests {
 6385   8323   
    use crate::date_time::test_parsers::parse_date_time;
 6386   8324   
    use crate::http_request::canonical_request::{
 6387   8325   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 6388   8326   
    };
 6389   8327   
    use crate::http_request::test;
        8328  +
    use crate::http_request::test::SigningSuiteTest;
 6390   8329   
    use crate::http_request::{
 6391   8330   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 6392   8331   
        SigningParams, SigningSettings,
 6393   8332   
    };
 6394   8333   
    use crate::sign::v4;
 6395   8334   
    use crate::sign::v4::sha256_hex_string;
 6396   8335   
    use aws_credential_types::Credentials;
 6397   8336   
    use aws_smithy_http::query_writer::QueryWriter;
 6398   8337   
    use aws_smithy_runtime_api::client::identity::Identity;
 6399   8338   
    use http0::{HeaderValue, Uri};
 6400   8339   
    use pretty_assertions::assert_eq;
 6401   8340   
    use proptest::{prelude::*, proptest};
 6402   8341   
    use std::borrow::Cow;
 6403   8342   
    use std::time::Duration;
 6404   8343   
 6405   8344   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 6406   8345   
        v4::signing_params::Builder::default()
 6407   8346   
            .identity(identity)
 6408   8347   
            .region("test-region")
 6409   8348   
            .name("testservicename")
 6410   8349   
            .time(parse_date_time("20210511T154045Z").unwrap())
 6411   8350   
            .settings(settings)
 6412   8351   
            .build()
 6413   8352   
            .unwrap()
 6414   8353   
            .into()
 6415   8354   
    }
 6416   8355   
 6417   8356   
    #[test]
 6418   8357   
    fn test_repeated_header() {
 6419         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8358  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8359  +
        let mut req = test.request();
 6420   8360   
        req.headers.push((
 6421   8361   
            "x-amz-object-attributes".to_string(),
 6422   8362   
            "Checksum".to_string(),
 6423   8363   
        ));
 6424   8364   
        req.headers.push((
 6425   8365   
            "x-amz-object-attributes".to_string(),
 6426   8366   
            "ObjectSize".to_string(),
 6427   8367   
        ));
 6428   8368   
        let req = SignableRequest::from(&req);
 6429   8369   
        let settings = SigningSettings {
 6430   8370   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6431   8371   
            session_token_mode: SessionTokenMode::Exclude,
 6432   8372   
            ..Default::default()
 6433   8373   
        };
 6434   8374   
        let identity = Credentials::for_tests().into();
 6435   8375   
        let signing_params = signing_params(&identity, settings);
 6436   8376   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6437   8377   
 6438   8378   
        assert_eq!(
 6439   8379   
            creq.values.signed_headers().to_string(),
 6440   8380   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 6441   8381   
        );
 6442   8382   
        assert_eq!(
 6443   8383   
            creq.header_values_for("x-amz-object-attributes"),
 6444   8384   
            "Checksum,ObjectSize",
 6445   8385   
        );
 6446   8386   
    }
 6447   8387   
 6448   8388   
    #[test]
 6449   8389   
    fn test_host_header_properly_handles_ports() {
 6450   8390   
        fn host_header_test_setup(endpoint: String) -> String {
 6451         -
            let mut req = test::v4::test_request("get-vanilla");
        8391  +
            let test = SigningSuiteTest::v4("get-vanilla");
        8392  +
            let mut req = test.request();
 6452   8393   
            req.uri = endpoint;
 6453   8394   
            let req = SignableRequest::from(&req);
 6454   8395   
            let settings = SigningSettings {
 6455   8396   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6456   8397   
                session_token_mode: SessionTokenMode::Exclude,
 6457   8398   
                ..Default::default()
 6458   8399   
            };
 6459   8400   
            let identity = Credentials::for_tests().into();
 6460   8401   
            let signing_params = signing_params(&identity, settings);
 6461   8402   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6462   8403   
            creq.header_values_for("host")
 6463   8404   
        }
 6464   8405   
 6465   8406   
        // HTTP request with 80 port should not be signed with that port
 6466   8407   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 6467   8408   
        assert_eq!(http_80_host_header, "localhost",);
 6468   8409   
 6469   8410   
        // HTTP request with non-80 port should be signed with that port
 6470   8411   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 6471   8412   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 6472   8413   
 6473   8414   
        // HTTPS request with 443 port should not be signed with that port
 6474   8415   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 6475   8416   
        assert_eq!(https_443_host_header, "localhost",);
 6476   8417   
 6477   8418   
        // HTTPS request with non-443 port should be signed with that port
 6478   8419   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 6479   8420   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 6480   8421   
    }
 6481   8422   
 6482   8423   
    #[test]
 6483   8424   
    fn test_set_xamz_sha_256() {
 6484         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        8425  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8426  +
        let req = test.request();
 6485   8427   
        let req = SignableRequest::from(&req);
 6486   8428   
        let settings = SigningSettings {
 6487   8429   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6488   8430   
            session_token_mode: SessionTokenMode::Exclude,
 6489   8431   
            ..Default::default()
 6490   8432   
        };
 6491   8433   
        let identity = Credentials::for_tests().into();
 6492   8434   
        let mut signing_params = signing_params(&identity, settings);
 6493   8435   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6494   8436   
        assert_eq!(
 6495   8437   
            creq.values.content_sha256(),
 6496   8438   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 6497   8439   
        );
 6498   8440   
        // assert that the sha256 header was added
 6499   8441   
        assert_eq!(
 6500   8442   
            creq.values.signed_headers().as_str(),
 6501   8443   
            "host;x-amz-content-sha256;x-amz-date"
 6502   8444   
        );
 6503   8445   
 6504   8446   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 6505   8447   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6506   8448   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 6507   8449   
    }
 6508   8450   
 6509   8451   
    #[test]
 6510   8452   
    fn test_unsigned_payload() {
 6511         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8453  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8454  +
        let mut req = test.request();
 6512   8455   
        req.set_body(SignableBody::UnsignedPayload);
 6513   8456   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 6514   8457   
 6515   8458   
        let settings = SigningSettings {
 6516   8459   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6517   8460   
            ..Default::default()
 6518   8461   
        };
 6519   8462   
        let identity = Credentials::for_tests().into();
 6520   8463   
        let signing_params = signing_params(&identity, settings);
 6521   8464   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6522   8465   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 6523   8466   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 6524   8467   
    }
 6525   8468   
 6526   8469   
    #[test]
 6527   8470   
    fn test_precomputed_payload() {
 6528   8471   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 6529         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8472  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8473  +
        let mut req = test.request();
 6530   8474   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 6531   8475   
        let req = SignableRequest::from(&req);
 6532   8476   
        let settings = SigningSettings {
 6533   8477   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6534   8478   
            ..Default::default()
 6535   8479   
        };
 6536   8480   
        let identity = Credentials::for_tests().into();
 6537   8481   
        let signing_params = signing_params(&identity, settings);
 6538   8482   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6539   8483   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 6540   8484   
        assert!(creq.to_string().ends_with(payload_hash));
 6541   8485   
    }
 6542   8486   
 6543   8487   
    #[test]
 6544   8488   
    fn test_generate_scope() {
 6545   8489   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 6546   8490   
        let scope = SigningScope {
 6547   8491   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6548   8492   
            region: "us-east-1",
 6549   8493   
            service: "iam",
 6550   8494   
        };
 6551   8495   
        assert_eq!(format!("{}\n", scope), expected);
 6552   8496   
    }
 6553   8497   
 6554   8498   
    #[test]
 6555   8499   
    fn test_string_to_sign() {
 6556   8500   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6557         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 6558         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        8501  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8502  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        8503  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 6559   8504   
        let encoded = sha256_hex_string(creq.as_bytes());
 6560   8505   
 6561   8506   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 6562   8507   
        assert_eq!(expected_sts, actual.to_string());
 6563   8508   
    }
 6564   8509   
 6565   8510   
    #[test]
 6566   8511   
    fn test_digest_of_canonical_request() {
 6567         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        8512  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8513  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 6568   8514   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 6569   8515   
        let actual = sha256_hex_string(creq.as_bytes());
 6570   8516   
        assert_eq!(expected, actual);
 6571   8517   
    }
 6572   8518   
 6573   8519   
    #[test]
 6574   8520   
    fn test_double_url_encode_path() {
 6575         -
        let req = test::v4::test_request("double-encode-path");
        8521  +
        let test = SigningSuiteTest::v4("double-encode-path");
        8522  +
        let req = test.request();
 6576   8523   
        let req = SignableRequest::from(&req);
 6577   8524   
        let identity = Credentials::for_tests().into();
 6578   8525   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6579   8526   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6580   8527   
 6581         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        8528  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 6582   8529   
        let actual = format!("{}", creq);
 6583   8530   
        assert_eq!(actual, expected);
 6584   8531   
    }
 6585   8532   
 6586   8533   
    #[test]
 6587   8534   
    fn test_double_url_encode() {
 6588         -
        let req = test::v4::test_request("double-url-encode");
        8535  +
        let test = SigningSuiteTest::v4("double-url-encode");
        8536  +
        let req = test.request();
 6589   8537   
        let req = SignableRequest::from(&req);
 6590   8538   
        let identity = Credentials::for_tests().into();
 6591   8539   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6592   8540   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6593         -
 6594         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        8541  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 6595   8542   
        let actual = format!("{}", creq);
 6596   8543   
        assert_eq!(actual, expected);
 6597   8544   
    }
 6598   8545   
 6599   8546   
    #[test]
 6600   8547   
    fn test_tilde_in_uri() {
 6601   8548   
        let req = http0::Request::builder()
 6602   8549   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 6603   8550   
        let req = SignableRequest::from(&req);
 6604   8551   
        let identity = Credentials::for_tests().into();
 6605   8552   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6606   8553   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6607   8554   
        assert_eq!(
 6608   8555   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 6609   8556   
            creq.params.as_deref(),
 6610   8557   
        );
 6611   8558   
    }
 6612   8559   
 6613   8560   
    #[test]
 6614   8561   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 6615   8562   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 6616   8563   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 6617   8564   
 6618   8565   
        let mut query_writer = QueryWriter::new(&uri);
 6619   8566   
        query_writer.insert("list-type", "2");
 6620   8567   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 6621   8568   
 6622   8569   
        let req = http0::Request::builder()
 6623   8570   
            .uri(query_writer.build_uri())
 6624   8571   
            .body("")
 6625   8572   
            .unwrap()
 6626   8573   
            .into();
 6627   8574   
        let req = SignableRequest::from(&req);
 6628   8575   
        let identity = Credentials::for_tests().into();
 6629   8576   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6630   8577   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6631   8578   
 6632   8579   
        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~";
 6633   8580   
        let actual = creq.params.unwrap();
 6634   8581   
        assert_eq!(expected, actual);
 6635   8582   
    }
 6636   8583   
 6637   8584   
    #[test]
 6638   8585   
    fn test_omit_session_token() {
 6639         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        8586  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8587  +
        let req = test.request();
 6640   8588   
        let req = SignableRequest::from(&req);
 6641   8589   
        let settings = SigningSettings {
 6642   8590   
            session_token_mode: SessionTokenMode::Include,
 6643   8591   
            ..Default::default()
 6644   8592   
        };
 6645   8593   
        let identity = Credentials::for_tests_with_session_token().into();
 6646   8594   
        let mut signing_params = signing_params(&identity, settings);
 6647   8595   
 6648   8596   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6649   8597   
        assert_eq!(
 6650   8598   
            creq.values.signed_headers().as_str(),
 6651   8599   
            "host;x-amz-date;x-amz-security-token"
 6652   8600   
        );
 6653   8601   
        assert_eq!(
 6654   8602   
            creq.headers.get("x-amz-security-token").unwrap(),
 6655   8603   
            "notarealsessiontoken"
 6656   8604   
        );
 6657   8605   
 6658   8606   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 6659   8607   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6660   8608   
        assert_eq!(
 6661   8609   
            creq.headers.get("x-amz-security-token").unwrap(),
 6662   8610   
            "notarealsessiontoken"
 6663   8611   
        );
 6664   8612   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 6665   8613   
    }
 6666   8614   
 6667   8615   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 6668   8616   
    #[test]
 6669   8617   
    fn non_presigning_header_exclusion() {
 6670   8618   
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
 6671   8619   
index c4bbbee..363fc2c 100644
 6672         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        8620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 6673   8621   
@@ -6,60 +6,62 @@
 6674   8622   
use super::error::SigningError;
 6675   8623   
use super::{PayloadChecksumKind, SignatureLocation};
 6676   8624   
use crate::http_request::canonical_request::header;
 6677   8625   
use crate::http_request::canonical_request::param;
 6678   8626   
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 6679   8627   
use crate::http_request::error::CanonicalRequestError;
 6680   8628   
use crate::http_request::SigningParams;
 6681   8629   
use crate::sign::v4;
 6682   8630   
#[cfg(feature = "sigv4a")]
 6683   8631   
use crate::sign::v4a;
 6684   8632   
use crate::{SignatureVersion, SigningOutput};
 6685   8633   
use http0::Uri;
 6686   8634   
use std::borrow::Cow;
 6687   8635   
use std::fmt::{Debug, Formatter};
 6688   8636   
use std::str;
 6689   8637   
 6690   8638   
const LOG_SIGNABLE_BODY: &str = "LOG_SIGNABLE_BODY";
 6691   8639   
 6692   8640   
/// Represents all of the information necessary to sign an HTTP request.
 6693   8641   
#[derive(Debug)]
 6694   8642   
#[non_exhaustive]
 6695   8643   
pub struct SignableRequest<'a> {
 6696   8644   
    method: &'a str,
 6697   8645   
    uri: Uri,
 6698   8646   
    headers: Vec<(&'a str, &'a str)>,
 6699   8647   
    body: SignableBody<'a>,
 6700   8648   
}
 6701   8649   
 6702   8650   
impl<'a> SignableRequest<'a> {
 6703   8651   
    /// Creates a new `SignableRequest`.
        8652  +
    ///
        8653  +
    /// NOTE: The `uri` is expected to already in encoded form.
 6704   8654   
    pub fn new(
 6705   8655   
        method: &'a str,
 6706   8656   
        uri: impl Into<Cow<'a, str>>,
 6707   8657   
        headers: impl Iterator<Item = (&'a str, &'a str)>,
 6708   8658   
        body: SignableBody<'a>,
 6709   8659   
    ) -> Result<Self, SigningError> {
 6710   8660   
        let uri = uri
 6711   8661   
            .into()
 6712   8662   
            .parse()
 6713   8663   
            .map_err(|e| SigningError::from(CanonicalRequestError::from(e)))?;
 6714   8664   
        let headers = headers.collect();
 6715   8665   
        Ok(Self {
 6716   8666   
            method,
 6717   8667   
            uri,
 6718   8668   
            headers,
 6719   8669   
            body,
 6720   8670   
        })
 6721   8671   
    }
 6722   8672   
 6723   8673   
    /// Returns the signable URI
 6724   8674   
    pub(crate) fn uri(&self) -> &Uri {
 6725   8675   
        &self.uri
 6726   8676   
    }
 6727   8677   
 6728   8678   
    /// Returns the signable HTTP method
 6729   8679   
    pub(crate) fn method(&self) -> &str {
 6730   8680   
        self.method
 6731   8681   
    }
 6732   8682   
 6733   8683   
    /// Returns the request headers
 6734   8684   
@@ -478,436 +480,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 6735   8685   
        sensitive,
 6736   8686   
    });
 6737   8687   
}
 6738   8688   
 6739   8689   
// add signature to authorization header
 6740   8690   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 6741   8691   
fn build_authorization_header(
 6742   8692   
    access_key: &str,
 6743   8693   
    creq: &CanonicalRequest<'_>,
 6744   8694   
    sts: StringToSign<'_>,
 6745   8695   
    signature: &str,
 6746   8696   
    signature_version: SignatureVersion,
 6747   8697   
) -> String {
 6748   8698   
    let scope = match signature_version {
 6749   8699   
        SignatureVersion::V4 => sts.scope.to_string(),
 6750   8700   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 6751   8701   
    };
 6752   8702   
    format!(
 6753   8703   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 6754   8704   
        sts.algorithm,
 6755   8705   
        access_key,
 6756   8706   
        scope,
 6757   8707   
        creq.values.signed_headers().as_str(),
 6758   8708   
        signature
 6759   8709   
    )
 6760   8710   
}
 6761   8711   
#[cfg(test)]
 6762   8712   
mod tests {
 6763   8713   
    use crate::date_time::test_parsers::parse_date_time;
 6764   8714   
    use crate::http_request::sign::{add_header, SignableRequest};
        8715  +
    use crate::http_request::test::SigningSuiteTest;
 6765   8716   
    use crate::http_request::{
 6766         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        8717  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 6767   8718   
        SigningSettings,
 6768   8719   
    };
 6769   8720   
    use crate::sign::v4;
 6770   8721   
    use aws_credential_types::Credentials;
 6771   8722   
    use http0::{HeaderValue, Request};
 6772   8723   
    use pretty_assertions::assert_eq;
 6773   8724   
    use proptest::proptest;
 6774   8725   
    use std::borrow::Cow;
 6775   8726   
    use std::iter;
 6776         -
    use std::time::Duration;
 6777   8727   
 6778   8728   
    macro_rules! assert_req_eq {
 6779   8729   
        (http: $expected:expr, $actual:expr) => {
 6780   8730   
            let mut expected = ($expected).map(|_b|"body");
 6781   8731   
            let mut actual = ($actual).map(|_b|"body");
 6782   8732   
            make_headers_comparable(&mut expected);
 6783   8733   
            make_headers_comparable(&mut actual);
 6784   8734   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 6785   8735   
        };
 6786   8736   
        ($expected:tt, $actual:tt) => {
 6787   8737   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 6788   8738   
        };
 6789   8739   
    }
 6790   8740   
 6791   8741   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 6792   8742   
        for (_name, value) in request.headers_mut() {
 6793   8743   
            value.set_sensitive(false);
 6794   8744   
        }
 6795   8745   
    }
 6796   8746   
 6797         -
    #[test]
 6798         -
    fn test_sign_vanilla_with_headers() {
 6799         -
        let settings = SigningSettings::default();
 6800         -
        let identity = &Credentials::for_tests().into();
 6801         -
        let params = v4::SigningParams {
 6802         -
            identity,
 6803         -
            region: "us-east-1",
 6804         -
            name: "service",
 6805         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 6806         -
            settings,
 6807         -
        }
 6808         -
        .into();
 6809         -
 6810         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 6811         -
        let signable = SignableRequest::from(&original);
 6812         -
        let out = sign(signable, &params).unwrap();
 6813         -
        assert_eq!(
 6814         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 6815         -
            out.signature
 6816         -
        );
 6817         -
 6818         -
        let mut signed = original.as_http_request();
 6819         -
        out.output.apply_to_request_http0x(&mut signed);
 6820         -
 6821         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 6822         -
        assert_req_eq!(expected, signed);
 6823         -
    }
 6824         -
        8747  +
    // Sigv4A suite tests
 6825   8748   
    #[cfg(feature = "sigv4a")]
 6826         -
    mod sigv4a_tests {
 6827         -
        use super::*;
 6828         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 6829         -
        use crate::http_request::{sign, test, SigningParams};
 6830         -
        use crate::sign::v4a;
 6831         -
        use p256::ecdsa::signature::{Signature, Verifier};
 6832         -
        use p256::ecdsa::{DerSignature, SigningKey};
 6833         -
        use pretty_assertions::assert_eq;
 6834         -
 6835         -
        fn new_v4a_signing_params_from_context(
 6836         -
            test_context: &'_ test::v4a::TestContext,
 6837         -
            signature_location: SignatureLocation,
 6838         -
        ) -> SigningParams<'_> {
 6839         -
            let mut params = v4a::SigningParams::from(test_context);
 6840         -
            params.settings.signature_location = signature_location;
 6841         -
 6842         -
            params.into()
 6843         -
        }
 6844         -
 6845         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 6846         -
            let tc = test::v4a::test_context(test_name);
 6847         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 6848         -
 6849         -
            let req = test::v4a::test_request(test_name);
 6850         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 6851         -
            let signable_req = SignableRequest::from(&req);
 6852         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
 6853         -
 6854         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 6855         -
 6856         -
            let expected_string_to_sign =
 6857         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 6858         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 6859         -
            let actual_string_to_sign = StringToSign::new_v4a(
 6860         -
                *params.time(),
 6861         -
                params.region_set().unwrap(),
 6862         -
                params.name(),
 6863         -
                hashed_creq,
 6864         -
            )
 6865         -
            .to_string();
        8749  +
    mod v4a_suite {
        8750  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 6866   8751   
 6867         -
            assert_eq!(
 6868         -
                expected_string_to_sign, actual_string_to_sign,
 6869         -
                "'string to sign' didn't match"
 6870         -
            );
 6871         -
 6872         -
            let out = sign(signable_req, &params).unwrap();
 6873         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 6874         -
            out.output
 6875         -
                .apply_to_request_http0x(&mut req.as_http_request());
 6876         -
 6877         -
            let creds = params.credentials().unwrap();
 6878         -
            let signing_key =
 6879         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 6880         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 6881         -
            let sig = sig
 6882         -
                .try_into()
 6883         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 6884         -
 6885         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 6886         -
            let peer_public_key = signing_key.verifying_key();
 6887         -
            let sts = actual_string_to_sign.as_bytes();
 6888         -
            peer_public_key.verify(sts, &sig).unwrap();
        8752  +
        #[test]
        8753  +
        fn test_get_header_key_duplicate() {
        8754  +
            run_test_suite_v4a("get-header-key-duplicate")
 6889   8755   
        }
 6890   8756   
 6891   8757   
        #[test]
 6892         -
        fn test_get_header_key_duplicate() {
 6893         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        8758  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        8759  +
        fn test_get_header_value_multiline() {
        8760  +
            run_test_suite_v4a("get-header-value-multiline")
 6894   8761   
        }
 6895   8762   
 6896   8763   
        #[test]
 6897   8764   
        fn test_get_header_value_order() {
 6898         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        8765  +
            run_test_suite_v4a("get-header-value-order")
 6899   8766   
        }
 6900   8767   
 6901   8768   
        #[test]
 6902   8769   
        fn test_get_header_value_trim() {
 6903         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        8770  +
            run_test_suite_v4a("get-header-value-trim");
 6904   8771   
        }
 6905   8772   
 6906   8773   
        #[test]
 6907   8774   
        fn test_get_relative_normalized() {
 6908         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        8775  +
            run_test_suite_v4a("get-relative-normalized");
 6909   8776   
        }
 6910   8777   
 6911   8778   
        #[test]
 6912   8779   
        fn test_get_relative_relative_normalized() {
 6913         -
            run_v4a_test_suite(
 6914         -
                "get-relative-relative-normalized",
 6915         -
                SignatureLocation::Headers,
 6916         -
            );
        8780  +
            run_test_suite_v4a("get-relative-relative-normalized");
 6917   8781   
        }
 6918   8782   
 6919   8783   
        #[test]
 6920   8784   
        fn test_get_relative_relative_unnormalized() {
 6921         -
            run_v4a_test_suite(
 6922         -
                "get-relative-relative-unnormalized",
 6923         -
                SignatureLocation::Headers,
 6924         -
            );
        8785  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 6925   8786   
        }
 6926   8787   
 6927   8788   
        #[test]
 6928   8789   
        fn test_get_relative_unnormalized() {
 6929         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        8790  +
            run_test_suite_v4a("get-relative-unnormalized");
 6930   8791   
        }
 6931   8792   
 6932   8793   
        #[test]
 6933   8794   
        fn test_get_slash_dot_slash_normalized() {
 6934         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        8795  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 6935   8796   
        }
 6936   8797   
 6937   8798   
        #[test]
 6938   8799   
        fn test_get_slash_dot_slash_unnormalized() {
 6939         -
            run_v4a_test_suite(
 6940         -
                "get-slash-dot-slash-unnormalized",
 6941         -
                SignatureLocation::Headers,
 6942         -
            );
        8800  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 6943   8801   
        }
 6944   8802   
 6945   8803   
        #[test]
 6946   8804   
        fn test_get_slash_normalized() {
 6947         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        8805  +
            run_test_suite_v4a("get-slash-normalized");
 6948   8806   
        }
 6949   8807   
 6950   8808   
        #[test]
 6951   8809   
        fn test_get_slash_pointless_dot_normalized() {
 6952         -
            run_v4a_test_suite(
 6953         -
                "get-slash-pointless-dot-normalized",
 6954         -
                SignatureLocation::Headers,
 6955         -
            );
        8810  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 6956   8811   
        }
 6957   8812   
 6958   8813   
        #[test]
 6959   8814   
        fn test_get_slash_pointless_dot_unnormalized() {
 6960         -
            run_v4a_test_suite(
 6961         -
                "get-slash-pointless-dot-unnormalized",
 6962         -
                SignatureLocation::Headers,
 6963         -
            );
        8815  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 6964   8816   
        }
 6965   8817   
 6966   8818   
        #[test]
 6967   8819   
        fn test_get_slash_unnormalized() {
 6968         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        8820  +
            run_test_suite_v4a("get-slash-unnormalized");
 6969   8821   
        }
 6970   8822   
 6971   8823   
        #[test]
 6972   8824   
        fn test_get_slashes_normalized() {
 6973         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        8825  +
            run_test_suite_v4a("get-slashes-normalized");
 6974   8826   
        }
 6975   8827   
 6976   8828   
        #[test]
 6977   8829   
        fn test_get_slashes_unnormalized() {
 6978         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        8830  +
            run_test_suite_v4a("get-slashes-unnormalized");
        8831  +
        }
        8832  +
        8833  +
        #[test]
        8834  +
        #[ignore = "relies on single encode of path segments"]
        8835  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        8836  +
        // skipped until we add control over double_uri_encode in context.json
        8837  +
        fn test_get_space_normalized() {
        8838  +
            run_test_suite_v4a("get-space-normalized");
        8839  +
        }
        8840  +
        8841  +
        #[test]
        8842  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        8843  +
        // the input request has unencoded space ' ' in the path which fails to parse
        8844  +
        fn test_get_space_unnormalized() {
        8845  +
            run_test_suite_v4a("get-space-unnormalized");
 6979   8846   
        }
 6980   8847   
 6981   8848   
        #[test]
 6982   8849   
        fn test_get_unreserved() {
 6983         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        8850  +
            run_test_suite_v4a("get-unreserved");
        8851  +
        }
        8852  +
        8853  +
        #[test]
        8854  +
        #[ignore = "httparse fails on invalid uri character"]
        8855  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8856  +
        fn test_get_utf8() {
        8857  +
            run_test_suite_v4a("get-utf8");
 6984   8858   
        }
 6985   8859   
 6986   8860   
        #[test]
 6987   8861   
        fn test_get_vanilla() {
 6988         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        8862  +
            run_test_suite_v4a("get-vanilla");
 6989   8863   
        }
 6990   8864   
 6991   8865   
        #[test]
 6992   8866   
        fn test_get_vanilla_empty_query_key() {
 6993         -
            run_v4a_test_suite(
 6994         -
                "get-vanilla-empty-query-key",
 6995         -
                SignatureLocation::QueryParams,
 6996         -
            );
        8867  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 6997   8868   
        }
 6998   8869   
 6999   8870   
        #[test]
 7000   8871   
        fn test_get_vanilla_query() {
 7001         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        8872  +
            run_test_suite_v4a("get-vanilla-query");
        8873  +
        }
        8874  +
        8875  +
        #[test]
        8876  +
        fn test_get_vanilla_query_order_encoded() {
        8877  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 7002   8878   
        }
 7003   8879   
 7004   8880   
        #[test]
 7005   8881   
        fn test_get_vanilla_query_order_key_case() {
 7006         -
            run_v4a_test_suite(
 7007         -
                "get-vanilla-query-order-key-case",
 7008         -
                SignatureLocation::QueryParams,
 7009         -
            );
        8882  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 7010   8883   
        }
 7011   8884   
 7012   8885   
        #[test]
 7013   8886   
        fn test_get_vanilla_query_unreserved() {
 7014         -
            run_v4a_test_suite(
 7015         -
                "get-vanilla-query-unreserved",
 7016         -
                SignatureLocation::QueryParams,
 7017         -
            );
        8887  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        8888  +
        }
        8889  +
        8890  +
        #[test]
        8891  +
        #[ignore = "httparse fails on invalid uri character"]
        8892  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8893  +
        fn test_get_vanilla_utf8_query() {
        8894  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 7018   8895   
        }
 7019   8896   
 7020   8897   
        #[test]
 7021   8898   
        fn test_get_vanilla_with_session_token() {
 7022         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        8899  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 7023   8900   
        }
 7024   8901   
 7025   8902   
        #[test]
 7026   8903   
        fn test_post_header_key_case() {
 7027         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        8904  +
            run_test_suite_v4a("post-header-key-case");
 7028   8905   
        }
 7029   8906   
 7030   8907   
        #[test]
 7031   8908   
        fn test_post_header_key_sort() {
 7032         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        8909  +
            run_test_suite_v4a("post-header-key-sort");
 7033   8910   
        }
 7034   8911   
 7035   8912   
        #[test]
 7036   8913   
        fn test_post_header_value_case() {
 7037         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        8914  +
            run_test_suite_v4a("post-header-value-case");
 7038   8915   
        }
 7039   8916   
 7040   8917   
        #[test]
 7041   8918   
        fn test_post_sts_header_after() {
 7042         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        8919  +
            run_test_suite_v4a("post-sts-header-after");
 7043   8920   
        }
 7044   8921   
 7045   8922   
        #[test]
 7046   8923   
        fn test_post_sts_header_before() {
 7047         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        8924  +
            run_test_suite_v4a("post-sts-header-before");
 7048   8925   
        }
 7049   8926   
 7050   8927   
        #[test]
 7051   8928   
        fn test_post_vanilla() {
 7052         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        8929  +
            run_test_suite_v4a("post-vanilla");
 7053   8930   
        }
 7054   8931   
 7055   8932   
        #[test]
 7056   8933   
        fn test_post_vanilla_empty_query_value() {
 7057         -
            run_v4a_test_suite(
 7058         -
                "post-vanilla-empty-query-value",
 7059         -
                SignatureLocation::QueryParams,
 7060         -
            );
        8934  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 7061   8935   
        }
 7062   8936   
 7063   8937   
        #[test]
 7064   8938   
        fn test_post_vanilla_query() {
 7065         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        8939  +
            run_test_suite_v4a("post-vanilla-query");
 7066   8940   
        }
 7067   8941   
 7068   8942   
        #[test]
 7069   8943   
        fn test_post_x_www_form_urlencoded() {
 7070         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        8944  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 7071   8945   
        }
 7072   8946   
 7073   8947   
        #[test]
 7074   8948   
        fn test_post_x_www_form_urlencoded_parameters() {
 7075         -
            run_v4a_test_suite(
 7076         -
                "post-x-www-form-urlencoded-parameters",
 7077         -
                SignatureLocation::QueryParams,
 7078         -
            );
        8949  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 7079   8950   
        }
 7080   8951   
    }
 7081   8952   
 7082   8953   
    #[test]
 7083   8954   
    fn test_sign_url_escape() {
 7084         -
        let test = "double-encode-path";
        8955  +
        let test = SigningSuiteTest::v4("double-encode-path");
 7085   8956   
        let settings = SigningSettings::default();
 7086   8957   
        let identity = &Credentials::for_tests().into();
 7087   8958   
        let params = v4::SigningParams {
 7088   8959   
            identity,
 7089   8960   
            region: "us-east-1",
 7090   8961   
            name: "service",
 7091   8962   
            time: parse_date_time("20150830T123600Z").unwrap(),
 7092   8963   
            settings,
 7093   8964   
        }
 7094   8965   
        .into();
 7095   8966   
 7096         -
        let original = test::v4::test_request(test);
        8967  +
        let original = test.request();
 7097   8968   
        let signable = SignableRequest::from(&original);
 7098   8969   
        let out = sign(signable, &params).unwrap();
 7099   8970   
        assert_eq!(
 7100   8971   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 7101   8972   
            out.signature
 7102   8973   
        );
 7103   8974   
 7104   8975   
        let mut signed = original.as_http_request();
 7105   8976   
        out.output.apply_to_request_http0x(&mut signed);
 7106   8977   
 7107         -
        let expected = test::v4::test_signed_request(test);
 7108         -
        assert_req_eq!(expected, signed);
 7109         -
    }
 7110         -
 7111         -
    #[test]
 7112         -
    fn test_sign_vanilla_with_query_params() {
 7113         -
        let settings = SigningSettings {
 7114         -
            signature_location: SignatureLocation::QueryParams,
 7115         -
            expires_in: Some(Duration::from_secs(35)),
 7116         -
            ..Default::default()
 7117         -
        };
 7118         -
        let identity = &Credentials::for_tests().into();
 7119         -
        let params = v4::SigningParams {
 7120         -
            identity,
 7121         -
            region: "us-east-1",
 7122         -
            name: "service",
 7123         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 7124         -
            settings,
 7125         -
        }
 7126         -
        .into();
 7127         -
 7128         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 7129         -
        let signable = SignableRequest::from(&original);
 7130         -
        let out = sign(signable, &params).unwrap();
 7131         -
        assert_eq!(
 7132         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 7133         -
            out.signature
 7134         -
        );
 7135         -
 7136         -
        let mut signed = original.as_http_request();
 7137         -
        out.output.apply_to_request_http0x(&mut signed);
 7138         -
 7139         -
        let expected =
 7140         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        8978  +
        let expected = test.signed_request(SignatureLocation::Headers);
 7141   8979   
        assert_req_eq!(expected, signed);
 7142   8980   
    }
 7143   8981   
 7144   8982   
    #[test]
 7145   8983   
    fn test_sign_headers_utf8() {
 7146   8984   
        let settings = SigningSettings::default();
 7147   8985   
        let identity = &Credentials::for_tests().into();
 7148   8986   
        let params = v4::SigningParams {
 7149   8987   
            identity,
 7150   8988   
            region: "us-east-1",
 7151   8989   
            name: "service",
 7152   8990   
            time: parse_date_time("20150830T123600Z").unwrap(),
 7153   8991   
            settings,
 7154   8992   
        }
 7155   8993   
        .into();
 7156   8994   
 7157   8995   
        let original = http0::Request::builder()
 7158   8996   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 7159   8997   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 7160   8998   
            .body("")
 7161   8999   
            .unwrap()
 7162   9000   
            .into();
 7163   9001   
        let signable = SignableRequest::from(&original);
 7164   9002   
        let out = sign(signable, &params).unwrap();
 7165   9003   
        assert_eq!(
 7166   9004   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 7167   9005   
            out.signature
 7168   9006   
        );
 7169   9007   
 7170   9008   
        let mut signed = original.as_http_request();
 7171   9009   
@@ -1138,31 +1028,236 @@ mod tests {
 7172   9010   
        let mut request = http::Request::builder()
 7173   9011   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 7174   9012   
            .body("")
 7175   9013   
            .unwrap();
 7176   9014   
 7177   9015   
        instructions.apply_to_request_http1x(&mut request);
 7178   9016   
 7179   9017   
        assert_eq!(
 7180   9018   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 7181   9019   
            request.uri().path_and_query().unwrap().to_string()
 7182   9020   
        );
 7183   9021   
    }
 7184   9022   
 7185   9023   
    #[test]
 7186   9024   
    fn test_debug_signable_body() {
 7187   9025   
        let sut = SignableBody::Bytes(b"hello signable body");
 7188   9026   
        assert_eq!(
 7189   9027   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 7190   9028   
            format!("{sut:?}")
 7191   9029   
        );
 7192   9030   
 7193   9031   
        let sut = SignableBody::UnsignedPayload;
 7194   9032   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 7195   9033   
 7196   9034   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 7197   9035   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 7198   9036   
 7199   9037   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 7200   9038   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 7201   9039   
    }
        9040  +
        9041  +
    // v4 test suite
        9042  +
    mod v4_suite {
        9043  +
        use crate::http_request::test::run_test_suite_v4;
        9044  +
        9045  +
        #[test]
        9046  +
        fn test_get_header_key_duplicate() {
        9047  +
            run_test_suite_v4("get-header-key-duplicate");
        9048  +
        }
        9049  +
        9050  +
        #[test]
        9051  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        9052  +
        fn test_get_header_value_multiline() {
        9053  +
            run_test_suite_v4("get-header-value-multiline");
        9054  +
        }
        9055  +
        9056  +
        #[test]
        9057  +
        fn test_get_header_value_order() {
        9058  +
            run_test_suite_v4("get-header-value-order");
        9059  +
        }
        9060  +
        9061  +
        #[test]
        9062  +
        fn test_get_header_value_trim() {
        9063  +
            run_test_suite_v4("get-header-value-trim");
        9064  +
        }
        9065  +
        9066  +
        #[test]
        9067  +
        fn test_get_relative_normalized() {
        9068  +
            run_test_suite_v4("get-relative-normalized");
        9069  +
        }
        9070  +
        9071  +
        #[test]
        9072  +
        fn test_get_relative_relative_normalized() {
        9073  +
            run_test_suite_v4("get-relative-relative-normalized");
        9074  +
        }
        9075  +
        9076  +
        #[test]
        9077  +
        fn test_get_relative_relative_unnormalized() {
        9078  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        9079  +
        }
        9080  +
        9081  +
        #[test]
        9082  +
        fn test_get_relative_unnormalized() {
        9083  +
            run_test_suite_v4("get-relative-unnormalized");
        9084  +
        }
        9085  +
        9086  +
        #[test]
        9087  +
        fn test_get_slash_dot_slash_normalized() {
        9088  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        9089  +
        }
        9090  +
        9091  +
        #[test]
        9092  +
        fn test_get_slash_dot_slash_unnormalized() {
        9093  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        9094  +
        }
        9095  +
        9096  +
        #[test]
        9097  +
        fn test_get_slash_normalized() {
        9098  +
            run_test_suite_v4("get-slash-normalized");
        9099  +
        }
        9100  +
        9101  +
        #[test]
        9102  +
        fn test_get_slash_pointless_dot_normalized() {
        9103  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        9104  +
        }
        9105  +
        9106  +
        #[test]
        9107  +
        fn test_get_slash_pointless_dot_unnormalized() {
        9108  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        9109  +
        }
        9110  +
        9111  +
        #[test]
        9112  +
        fn test_get_slash_unnormalized() {
        9113  +
            run_test_suite_v4("get-slash-unnormalized");
        9114  +
        }
        9115  +
        9116  +
        #[test]
        9117  +
        fn test_get_slashes_normalized() {
        9118  +
            run_test_suite_v4("get-slashes-normalized");
        9119  +
        }
        9120  +
        9121  +
        #[test]
        9122  +
        fn test_get_slashes_unnormalized() {
        9123  +
            run_test_suite_v4("get-slashes-unnormalized");
        9124  +
        }
        9125  +
        9126  +
        #[test]
        9127  +
        #[ignore = "relies on single encode of path segments"]
        9128  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        9129  +
        // skipped until we add control over double_uri_encode in context.json
        9130  +
        fn test_get_space_normalized() {
        9131  +
            run_test_suite_v4("get-space-normalized");
        9132  +
        }
        9133  +
        9134  +
        #[test]
        9135  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        9136  +
        // the input request has unencoded space ' ' in the path which fails to parse
        9137  +
        fn test_get_space_unnormalized() {
        9138  +
            run_test_suite_v4("get-space-unnormalized");
        9139  +
        }
        9140  +
        9141  +
        #[test]
        9142  +
        fn test_get_unreserved() {
        9143  +
            run_test_suite_v4("get-unreserved");
        9144  +
        }
        9145  +
        9146  +
        #[test]
        9147  +
        #[ignore = "httparse fails on invalid uri character"]
        9148  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        9149  +
        fn test_get_utf8() {
        9150  +
            run_test_suite_v4("get-utf8");
        9151  +
        }
        9152  +
        9153  +
        #[test]
        9154  +
        fn test_get_vanilla() {
        9155  +
            run_test_suite_v4("get-vanilla");
        9156  +
        }
        9157  +
        9158  +
        #[test]
        9159  +
        fn test_get_vanilla_empty_query_key() {
        9160  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        9161  +
        }
        9162  +
        9163  +
        #[test]
        9164  +
        fn test_get_vanilla_query() {
        9165  +
            run_test_suite_v4("get-vanilla-query");
        9166  +
        }
        9167  +
        9168  +
        #[test]
        9169  +
        fn test_get_vanilla_query_order_encoded() {
        9170  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        9171  +
        }
        9172  +
        9173  +
        #[test]
        9174  +
        fn test_get_vanilla_query_order_key_case() {
        9175  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        9176  +
        }
        9177  +
        9178  +
        #[test]
        9179  +
        fn test_get_vanilla_query_unreserved() {
        9180  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        9181  +
        }
        9182  +
        9183  +
        #[test]
        9184  +
        #[ignore = "httparse fails on invalid uri character"]
        9185  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        9186  +
        fn test_get_vanilla_utf8_query() {
        9187  +
            run_test_suite_v4("get-vanilla-utf8-query");
        9188  +
        }
        9189  +
        9190  +
        #[test]
        9191  +
        fn test_get_vanilla_with_session_token() {
        9192  +
            run_test_suite_v4("get-vanilla-with-session-token");
        9193  +
        }
        9194  +
        9195  +
        #[test]
        9196  +
        fn test_post_header_key_case() {
        9197  +
            run_test_suite_v4("post-header-key-case");
        9198  +
        }
        9199  +
        9200  +
        #[test]
        9201  +
        fn test_post_header_key_sort() {
        9202  +
            run_test_suite_v4("post-header-key-sort");
        9203  +
        }
        9204  +
        9205  +
        #[test]
        9206  +
        fn test_post_header_value_case() {
        9207  +
            run_test_suite_v4("post-header-value-case");
        9208  +
        }
        9209  +
        9210  +
        #[test]
        9211  +
        fn test_post_sts_header_after() {
        9212  +
            run_test_suite_v4("post-sts-header-after");
        9213  +
        }
        9214  +
        9215  +
        #[test]
        9216  +
        fn test_post_sts_header_before() {
        9217  +
            run_test_suite_v4("post-sts-header-before");
        9218  +
        }
        9219  +
        9220  +
        #[test]
        9221  +
        fn test_post_vanilla() {
        9222  +
            run_test_suite_v4("post-vanilla");
        9223  +
        }
        9224  +
        9225  +
        #[test]
        9226  +
        fn test_post_vanilla_empty_query_value() {
        9227  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        9228  +
        }
        9229  +
        9230  +
        #[test]
        9231  +
        fn test_post_vanilla_query() {
        9232  +
            run_test_suite_v4("post-vanilla-query");
        9233  +
        }
        9234  +
        9235  +
        #[test]
        9236  +
        fn test_post_x_www_form_urlencoded() {
        9237  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        9238  +
        }
        9239  +
        9240  +
        #[test]
        9241  +
        fn test_post_x_www_form_urlencoded_parameters() {
        9242  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        9243  +
        }
        9244  +
    }
 7202   9245   
}
 7203   9246   
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
 7204   9247   
index be6c496..86eec20 100644
 7205         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        9248  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 7206   9249   
@@ -1,242 +1,453 @@
 7207   9250   
/*
 7208   9251   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 7209   9252   
 * SPDX-License-Identifier: Apache-2.0
 7210   9253   
 */
 7211   9254   
 7212   9255   
//! Functions shared between the tests of several modules.
 7213   9256   
 7214         -
use crate::http_request::{SignableBody, SignableRequest};
        9257  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        9258  +
use crate::http_request::{
        9259  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        9260  +
    SigningSettings,
        9261  +
};
        9262  +
use aws_credential_types::Credentials;
        9263  +
use aws_smithy_runtime_api::client::identity::Identity;
 7215   9264   
use http0::{Method, Uri};
        9265  +
use std::borrow::Cow;
 7216   9266   
use std::error::Error as StdError;
        9267  +
use std::time::{Duration, SystemTime};
        9268  +
use time::format_description::well_known::Rfc3339;
        9269  +
use time::OffsetDateTime;
        9270  +
        9271  +
/// Common test suite collection
        9272  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        9273  +
enum Collection {
        9274  +
    V4,
        9275  +
    V4A,
        9276  +
}
 7217   9277   
 7218         -
pub(crate) mod v4 {
 7219         -
    use super::*;
        9278  +
/// A test from the common CRT test suite
        9279  +
#[derive(Debug, Clone)]
        9280  +
pub(crate) struct SigningSuiteTest {
        9281  +
    test_name: &'static str,
        9282  +
    collection: Collection,
        9283  +
}
 7220   9284   
 7221         -
    fn path(name: &str, ext: &str) -> String {
 7222         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        9285  +
impl SigningSuiteTest {
        9286  +
    /// Create a new test from the V4 test suite
        9287  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        9288  +
        Self {
        9289  +
            test_name,
        9290  +
            collection: Collection::V4,
        9291  +
        }
 7223   9292   
    }
 7224   9293   
 7225         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 7226         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 7227         -
        read(&path(name, "creq")).trim().to_string()
        9294  +
    /// Create a new test from the V4a test suite
        9295  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        9296  +
        Self {
        9297  +
            test_name,
        9298  +
            collection: Collection::V4A,
        9299  +
        }
 7228   9300   
    }
 7229   9301   
 7230         -
    pub(crate) fn test_sts(name: &str) -> String {
 7231         -
        read(&path(name, "sts"))
        9302  +
    /// Get the path to a file in this test suite directory
        9303  +
    fn path(&self, filename: &str) -> String {
        9304  +
        let dir = match self.collection {
        9305  +
            Collection::V4 => "v4",
        9306  +
            Collection::V4A => "v4a",
        9307  +
        };
        9308  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 7232   9309   
    }
 7233   9310   
 7234         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 7235         -
        test_parsed_request(name, "req")
        9311  +
    /// Get the HTTP request for the test
        9312  +
    pub(crate) fn request(&self) -> TestRequest {
        9313  +
        test_parsed_request(&self.path("request.txt"))
 7236   9314   
    }
 7237   9315   
 7238         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 7239         -
        test_parsed_request(name, "sreq")
        9316  +
    /// Get the signed HTTP request for the test
        9317  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        9318  +
        match signature_location {
        9319  +
            SignatureLocation::QueryParams => {
        9320  +
                test_parsed_request(&self.path("query-signed-request.txt"))
        9321  +
            }
        9322  +
            SignatureLocation::Headers => {
        9323  +
                test_parsed_request(&self.path("header-signed-request.txt"))
        9324  +
            }
        9325  +
        }
 7240   9326   
    }
 7241   9327   
 7242         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 7243         -
        test_parsed_request(name, "qpsreq")
        9328  +
    /// Get the canonical request for the test
        9329  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        9330  +
        match signature_location {
        9331  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        9332  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
        9333  +
        }
 7244   9334   
    }
 7245   9335   
 7246         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 7247         -
        let path = path(name, ext);
 7248         -
        match parse_request(read(&path).as_bytes()) {
 7249         -
            Ok(parsed) => parsed,
 7250         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        9336  +
    /// Get the string to sign for the test
        9337  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
        9338  +
        match signature_location {
        9339  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        9340  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 7251   9341   
        }
 7252   9342   
    }
 7253   9343   
 7254         -
    #[test]
 7255         -
    fn test_parse() {
 7256         -
        test_request("post-header-key-case");
        9344  +
    /// Get the signature for the test
        9345  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
        9346  +
        match signature_location {
        9347  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        9348  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        9349  +
        }
 7257   9350   
    }
 7258   9351   
 7259         -
    #[test]
 7260         -
    fn test_read_query_params() {
 7261         -
        test_request("get-vanilla-query-order-key-case");
        9352  +
    /// Get the test context for the test
        9353  +
    pub(crate) fn context(&self) -> TestContext {
        9354  +
        let context = read(&self.path("context.json"));
        9355  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        9356  +
        tc_builder.build()
 7262   9357   
    }
 7263   9358   
}
 7264   9359   
 7265         -
#[cfg(feature = "sigv4a")]
 7266         -
pub(crate) mod v4a {
 7267         -
    use super::*;
 7268         -
    use crate::http_request::{
 7269         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 7270         -
    };
 7271         -
    use aws_credential_types::Credentials;
 7272         -
    use aws_smithy_runtime_api::client::identity::Identity;
 7273         -
    use serde_derive::Deserialize;
 7274         -
    use std::time::{Duration, SystemTime};
 7275         -
    use time::format_description::well_known::Rfc3339;
 7276         -
    use time::OffsetDateTime;
 7277         -
 7278         -
    fn path(test_name: &str, definition_name: &str) -> String {
 7279         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        9360  +
fn test_parsed_request(path: &str) -> TestRequest {
        9361  +
    match parse_request(read(path).as_bytes()) {
        9362  +
        Ok(parsed) => parsed,
        9363  +
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 7280   9364   
    }
        9365  +
}
 7281   9366   
 7282         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 7283         -
        test_parsed_request(&path(name, "request"))
 7284         -
    }
        9367  +
fn new_v4_signing_params_from_context(
        9368  +
    test_context: &'_ TestContext,
        9369  +
    signature_location: SignatureLocation,
        9370  +
) -> crate::http_request::SigningParams<'_> {
        9371  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        9372  +
    params.settings.signature_location = signature_location;
        9373  +
    params.into()
        9374  +
}
 7285   9375   
 7286         -
    pub(crate) fn test_canonical_request(
 7287         -
        name: &str,
 7288         -
        signature_location: SignatureLocation,
 7289         -
    ) -> String {
 7290         -
        match signature_location {
 7291         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 7292         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        9376  +
/// Run the given test from the v4 suite for both header and query
        9377  +
/// signature locations
        9378  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        9379  +
    run_v4_test(test_name, SignatureLocation::Headers);
        9380  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        9381  +
}
        9382  +
        9383  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        9384  +
    assert_eq!(expected.scheme(), actual.scheme());
        9385  +
    assert_eq!(expected.authority(), actual.authority());
        9386  +
    assert_eq!(expected.path(), actual.path());
        9387  +
        9388  +
    // query params may be out of order
        9389  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        9390  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        9391  +
    expected_params.sort();
        9392  +
        9393  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        9394  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        9395  +
    actual_params.sort();
        9396  +
        9397  +
    assert_eq!(expected_params, actual_params);
        9398  +
}
        9399  +
        9400  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        9401  +
    let expected = expected.as_http_request();
        9402  +
    let actual = actual;
        9403  +
    assert_eq!(expected.method(), actual.method());
        9404  +
    assert_eq!(
        9405  +
        expected.headers().len(),
        9406  +
        actual.headers().len(),
        9407  +
        "extra or missing headers"
        9408  +
    );
        9409  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        9410  +
    assert_uri_eq(expected.uri(), actual.uri());
        9411  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        9412  +
}
        9413  +
        9414  +
/// Run the given test from the v4 suite for the given signature location
        9415  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        9416  +
    let test = SigningSuiteTest::v4(test_name);
        9417  +
    let tc = test.context();
        9418  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        9419  +
        9420  +
    let req = test.request();
        9421  +
    let expected_creq = test.canonical_request(signature_location);
        9422  +
    let signable_req = SignableRequest::from(&req);
        9423  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        9424  +
        9425  +
    // check canonical request
        9426  +
    assert_eq!(
        9427  +
        expected_creq,
        9428  +
        actual_creq.to_string(),
        9429  +
        "canonical request didn't match (signature location: {signature_location:?})"
        9430  +
    );
        9431  +
        9432  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        9433  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        9434  +
    let actual_string_to_sign = StringToSign::new_v4(
        9435  +
        *params.time(),
        9436  +
        params.region().unwrap(),
        9437  +
        params.name(),
        9438  +
        hashed_creq,
        9439  +
    )
        9440  +
    .to_string();
        9441  +
        9442  +
    // check string to sign
        9443  +
    assert_eq!(
        9444  +
        expected_string_to_sign, actual_string_to_sign,
        9445  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        9446  +
    );
        9447  +
        9448  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        9449  +
    let mut signed = req.as_http_request();
        9450  +
    out.output.apply_to_request_http0x(&mut signed);
        9451  +
        9452  +
    // check signature
        9453  +
    assert_eq!(
        9454  +
        test.signature(signature_location),
        9455  +
        out.signature,
        9456  +
        "signature didn't match (signature location: {signature_location:?})"
        9457  +
    );
        9458  +
        9459  +
    let expected = test.signed_request(signature_location);
        9460  +
    assert_requests_eq(expected, signed);
        9461  +
}
        9462  +
        9463  +
/// Test suite context.json
        9464  +
pub(crate) struct TestContext {
        9465  +
    pub(crate) identity: Identity,
        9466  +
    pub(crate) expiration_in_seconds: u64,
        9467  +
    pub(crate) normalize: bool,
        9468  +
    pub(crate) region: String,
        9469  +
    pub(crate) service: String,
        9470  +
    pub(crate) timestamp: String,
        9471  +
    pub(crate) omit_session_token: bool,
        9472  +
    pub(crate) sign_body: bool,
        9473  +
}
        9474  +
        9475  +
// Serde has limitations requiring this odd workaround.
        9476  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        9477  +
fn return_true() -> bool {
        9478  +
    true
        9479  +
}
        9480  +
        9481  +
#[derive(serde_derive::Deserialize)]
        9482  +
pub(crate) struct TestContextBuilder {
        9483  +
    credentials: TestContextCreds,
        9484  +
    expiration_in_seconds: u64,
        9485  +
    normalize: bool,
        9486  +
    region: String,
        9487  +
    service: String,
        9488  +
    timestamp: String,
        9489  +
    #[serde(default)]
        9490  +
    omit_session_token: bool,
        9491  +
    #[serde(default = "return_true")]
        9492  +
    sign_body: bool,
        9493  +
}
        9494  +
        9495  +
impl TestContextBuilder {
        9496  +
    pub(crate) fn build(self) -> TestContext {
        9497  +
        let identity = Identity::new(
        9498  +
            Credentials::from_keys(
        9499  +
                &self.credentials.access_key_id,
        9500  +
                &self.credentials.secret_access_key,
        9501  +
                self.credentials.token.clone(),
        9502  +
            ),
        9503  +
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
        9504  +
        );
        9505  +
        9506  +
        TestContext {
        9507  +
            identity,
        9508  +
            expiration_in_seconds: self.expiration_in_seconds,
        9509  +
            normalize: self.normalize,
        9510  +
            region: self.region,
        9511  +
            service: self.service,
        9512  +
            timestamp: self.timestamp,
        9513  +
            omit_session_token: self.omit_session_token,
        9514  +
            sign_body: self.sign_body,
 7293   9515   
        }
 7294   9516   
    }
        9517  +
}
 7295   9518   
 7296         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
 7297         -
        match signature_location {
 7298         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 7299         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        9519  +
#[derive(serde_derive::Deserialize)]
        9520  +
pub(crate) struct TestContextCreds {
        9521  +
    access_key_id: String,
        9522  +
    secret_access_key: String,
        9523  +
    token: Option<String>,
        9524  +
}
        9525  +
        9526  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        9527  +
    fn from(tc: &'a TestContext) -> Self {
        9528  +
        crate::sign::v4::SigningParams {
        9529  +
            identity: &tc.identity,
        9530  +
            region: &tc.region,
        9531  +
            name: &tc.service,
        9532  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        9533  +
                .unwrap()
        9534  +
                .into(),
        9535  +
            settings: SigningSettings {
        9536  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        9537  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        9538  +
                uri_path_normalization_mode: tc.normalize.into(),
        9539  +
                session_token_mode: if tc.omit_session_token {
        9540  +
                    SessionTokenMode::Exclude
        9541  +
                } else {
        9542  +
                    SessionTokenMode::Include
        9543  +
                },
        9544  +
                payload_checksum_kind: if tc.sign_body {
        9545  +
                    PayloadChecksumKind::XAmzSha256
        9546  +
                } else {
        9547  +
                    PayloadChecksumKind::NoHeader
        9548  +
                },
        9549  +
                ..Default::default()
        9550  +
            },
 7300   9551   
        }
 7301   9552   
    }
        9553  +
}
 7302   9554   
 7303         -
    fn test_parsed_request(path: &str) -> TestRequest {
 7304         -
        match parse_request(read(path).as_bytes()) {
 7305         -
            Ok(parsed) => parsed,
 7306         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
 7307         -
        }
        9555  +
#[cfg(feature = "sigv4a")]
        9556  +
pub(crate) mod v4a {
        9557  +
    use super::*;
        9558  +
    use crate::http_request::{
        9559  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        9560  +
    };
        9561  +
    use crate::sign::v4a;
        9562  +
    use p256::ecdsa::signature::{Signature, Verifier};
        9563  +
    use p256::ecdsa::{DerSignature, SigningKey};
        9564  +
    use std::time::Duration;
        9565  +
    use time::format_description::well_known::Rfc3339;
        9566  +
    use time::OffsetDateTime;
        9567  +
        9568  +
    fn new_v4a_signing_params_from_context(
        9569  +
        test_context: &'_ TestContext,
        9570  +
        signature_location: SignatureLocation,
        9571  +
    ) -> crate::http_request::SigningParams<'_> {
        9572  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        9573  +
        params.settings.signature_location = signature_location;
        9574  +
        params.into()
 7308   9575   
    }
 7309   9576   
 7310         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 7311         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 7312         -
        let context = read(&path);
 7313         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 7314         -
        tc_builder.build()
        9577  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        9578  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        9579  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
 7315   9580   
    }
 7316   9581   
 7317         -
    pub(crate) struct TestContext {
 7318         -
        pub(crate) identity: Identity,
 7319         -
        pub(crate) expiration_in_seconds: u64,
 7320         -
        pub(crate) normalize: bool,
 7321         -
        pub(crate) region: String,
 7322         -
        pub(crate) service: String,
 7323         -
        pub(crate) timestamp: String,
 7324         -
        pub(crate) omit_session_token: bool,
 7325         -
        pub(crate) sign_body: bool,
        9582  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        9583  +
        let test = SigningSuiteTest::v4a(test_name);
        9584  +
        let tc = test.context();
        9585  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        9586  +
        9587  +
        let req = test.request();
        9588  +
        let expected_creq = test.canonical_request(signature_location);
        9589  +
        let signable_req = SignableRequest::from(&req);
        9590  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        9591  +
        9592  +
        assert_eq!(
        9593  +
            expected_creq,
        9594  +
            actual_creq.to_string(),
        9595  +
            "canonical request didn't match (signature location: {signature_location:?})"
        9596  +
        );
        9597  +
        9598  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        9599  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        9600  +
        let actual_string_to_sign = StringToSign::new_v4a(
        9601  +
            *params.time(),
        9602  +
            params.region_set().unwrap(),
        9603  +
            params.name(),
        9604  +
            hashed_creq,
        9605  +
        )
        9606  +
        .to_string();
        9607  +
        9608  +
        assert_eq!(
        9609  +
            expected_string_to_sign, actual_string_to_sign,
        9610  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        9611  +
        );
        9612  +
        9613  +
        let out = sign(signable_req, &params).unwrap();
        9614  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        9615  +
        out.output
        9616  +
            .apply_to_request_http0x(&mut req.as_http_request());
        9617  +
        9618  +
        let creds = params.credentials().unwrap();
        9619  +
        let signing_key =
        9620  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        9621  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        9622  +
        let sig = sig
        9623  +
            .try_into()
        9624  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        9625  +
        9626  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        9627  +
        let peer_public_key = signing_key.verifying_key();
        9628  +
        let sts = actual_string_to_sign.as_bytes();
        9629  +
        peer_public_key.verify(sts, &sig).unwrap();
        9630  +
        // TODO(sigv4a) - use public.key.json as verifying key?
 7326   9631   
    }
 7327   9632   
 7328   9633   
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 7329   9634   
        fn from(tc: &'a TestContext) -> Self {
 7330   9635   
            crate::sign::v4a::SigningParams {
 7331   9636   
                identity: &tc.identity,
 7332   9637   
                region_set: &tc.region,
 7333   9638   
                name: &tc.service,
 7334   9639   
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 7335   9640   
                    .unwrap()
 7336   9641   
                    .into(),
 7337   9642   
                settings: SigningSettings {
 7338   9643   
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 7339   9644   
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 7340   9645   
                    uri_path_normalization_mode: tc.normalize.into(),
 7341   9646   
                    session_token_mode: if tc.omit_session_token {
 7342   9647   
                        SessionTokenMode::Exclude
 7343   9648   
                    } else {
 7344   9649   
                        SessionTokenMode::Include
 7345   9650   
                    },
 7346   9651   
                    payload_checksum_kind: if tc.sign_body {
 7347   9652   
                        PayloadChecksumKind::XAmzSha256
 7348   9653   
                    } else {
 7349   9654   
                        PayloadChecksumKind::NoHeader
 7350   9655   
                    },
 7351   9656   
                    ..Default::default()
 7352   9657   
                },
 7353   9658   
            }
 7354   9659   
        }
 7355   9660   
    }
 7356   9661   
 7357         -
    // Serde has limitations requiring this odd workaround.
 7358         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 7359         -
    fn return_true() -> bool {
 7360         -
        true
 7361         -
    }
 7362         -
 7363         -
    #[derive(Deserialize)]
 7364         -
    pub(crate) struct TestContextBuilder {
 7365         -
        credentials: TestContextCreds,
 7366         -
        expiration_in_seconds: u64,
 7367         -
        normalize: bool,
 7368         -
        region: String,
 7369         -
        service: String,
 7370         -
        timestamp: String,
 7371         -
        #[serde(default)]
 7372         -
        omit_session_token: bool,
 7373         -
        #[serde(default = "return_true")]
 7374         -
        sign_body: bool,
 7375         -
    }
 7376         -
 7377         -
    impl TestContextBuilder {
 7378         -
        pub(crate) fn build(self) -> TestContext {
 7379         -
            let identity = Identity::new(
 7380         -
                Credentials::from_keys(
 7381         -
                    &self.credentials.access_key_id,
 7382         -
                    &self.credentials.secret_access_key,
 7383         -
                    self.credentials.token.clone(),
 7384         -
                ),
 7385         -
                Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 7386         -
            );
 7387         -
 7388         -
            TestContext {
 7389         -
                identity,
 7390         -
                expiration_in_seconds: self.expiration_in_seconds,
 7391         -
                normalize: self.normalize,
 7392         -
                region: self.region,
 7393         -
                service: self.service,
 7394         -
                timestamp: self.timestamp,
 7395         -
                omit_session_token: self.omit_session_token,
 7396         -
                sign_body: self.sign_body,
 7397         -
            }
 7398         -
        }
 7399         -
    }
 7400         -
 7401         -
    #[derive(Deserialize)]
 7402         -
    pub(crate) struct TestContextCreds {
 7403         -
        access_key_id: String,
 7404         -
        secret_access_key: String,
 7405         -
        token: Option<String>,
 7406         -
    }
 7407         -
 7408   9662   
    #[test]
 7409   9663   
    fn test_parse() {
 7410         -
        let req = test_request("post-header-key-case");
        9664  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 7411   9665   
        assert_eq!(req.method, "POST");
 7412   9666   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 7413   9667   
        assert!(req.headers.is_empty());
 7414   9668   
    }
 7415   9669   
 7416   9670   
    #[test]
 7417   9671   
    fn test_read_query_params() {
 7418         -
        let req = test_request("get-header-value-trim");
        9672  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 7419   9673   
        assert_eq!(req.method, "GET");
 7420   9674   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 7421   9675   
        assert!(!req.headers.is_empty());
 7422   9676   
    }
 7423   9677   
}
 7424   9678   
 7425   9679   
fn read(path: &str) -> String {
 7426   9680   
    println!("Loading `{}` for test case...", path);
 7427   9681   
    let v = {
 7428   9682   
        match std::fs::read_to_string(path) {
 7429   9683   
            // This replacement is necessary for tests to pass on Windows, as reading the
 7430   9684   
            // test snapshots from the file system results in CRLF line endings being inserted.
 7431   9685   
            Ok(value) => value.replace("\r\n", "\n"),
 7432   9686   
            Err(err) => {
 7433   9687   
                panic!("failed to load test case `{}`: {}", path, err);
 7434   9688   
            }
 7435   9689   
        }
 7436   9690   
    };
 7437   9691   
 7438   9692   
    v.trim().to_string()
 7439   9693   
}
 7440   9694   
 7441   9695   
pub(crate) struct TestRequest {
 7442   9696   
    pub(crate) uri: String,
 7443   9697   
    pub(crate) method: String,
 7444   9698   
    pub(crate) headers: Vec<(String, String)>,
 7445   9699   
    pub(crate) body: TestSignedBody,
 7446   9700   
}
 7447   9701   
 7448   9702   
pub(crate) enum TestSignedBody {
 7449   9703   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 7450   9704   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 7451   9705   
                    )
 7452   9706   
                })
 7453   9707   
                .collect::<Vec<_>>(),
 7454   9708   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 7455   9709   
        }
 7456   9710   
    }
 7457   9711   
}
 7458   9712   
 7459   9713   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 7460   9714   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 7461   9715   
        SignableRequest::new(
 7462   9716   
            &request.method,
 7463   9717   
            &request.uri,
 7464   9718   
            request
 7465   9719   
                .headers
 7466   9720   
                .iter()
 7467   9721   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 7468   9722   
            request.body.as_signable_body(),
 7469   9723   
        )
 7470   9724   
        .expect("URI MUST be valid")
 7471   9725   
    }
 7472   9726   
}
 7473   9727   
 7474   9728   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 7475   9729   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 7476   9730   
    // httparse 1.5 requires two trailing newlines to head the header section.
 7477   9731   
    let mut with_newline = Vec::from(s);
 7478   9732   
    with_newline.push(b'\n');
 7479   9733   
    let mut req = httparse::Request::new(&mut headers);
 7480         -
    let _ = req.parse(&with_newline).unwrap();
        9734  +
    let status = req.parse(&with_newline).unwrap();
        9735  +
        9736  +
    let body = if status.is_complete() {
        9737  +
        let body_offset = status.unwrap();
        9738  +
        // ignore the newline we added, take from original
        9739  +
        &s[body_offset..]
        9740  +
    } else {
        9741  +
        &[]
        9742  +
    };
 7481   9743   
 7482   9744   
    let mut uri_builder = Uri::builder().scheme("https");
 7483   9745   
    if let Some(path) = req.path {
 7484   9746   
        uri_builder = uri_builder.path_and_query(path);
 7485   9747   
    }
 7486   9748   
 7487   9749   
    let mut headers = vec![];
 7488   9750   
    for header in req.headers {
 7489   9751   
        let name = header.name.to_lowercase();
 7490   9752   
        if name == "host" {
 7491   9753   
            uri_builder = uri_builder.authority(header.value);
 7492   9754   
        } else if !name.is_empty() {
 7493   9755   
            headers.push((
 7494   9756   
                header.name.to_string(),
 7495   9757   
                std::str::from_utf8(header.value)?.to_string(),
 7496   9758   
            ));
 7497   9759   
        }
 7498   9760   
    }
 7499   9761   
 7500   9762   
    Ok(TestRequest {
 7501   9763   
        uri: uri_builder.build()?.to_string(),
 7502   9764   
        method: req.method.unwrap().to_string(),
 7503   9765   
        headers,
 7504         -
        body: TestSignedBody::Bytes(vec![]),
        9766  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 7505   9767   
    })
 7506   9768   
}
 7507   9769   
 7508   9770   
#[test]
 7509   9771   
fn test_parse_headers() {
 7510   9772   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 7511   9773   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 7512   9774   
    assert_eq!(
 7513   9775   
        httparse::parse_headers(buf, &mut headers),
 7514   9776   
        Ok(httparse::Status::Complete((
 7515   9777   
            56,
 7516   9778   
            &[
 7517   9779   
                httparse::Header {
 7518   9780   
                    name: "Host",
 7519   9781   
                    value: b"example.amazonaws.com",
 7520   9782   
                },
 7521   9783   
                httparse::Header {
 7522   9784   
                    name: "X-Amz-Date",
 7523   9785   
                    value: b"20150830T123600Z",
 7524   9786   
                }
 7525   9787   
            ][..]
 7526   9788   
        )))
 7527   9789   
    );
 7528   9790   
}
 7529   9791   
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
 7530   9792   
index a208453..fc00249 100644
 7531         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        9793  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 7532   9794   
@@ -168,52 +168,54 @@ pub mod signing_params {
 7533   9795   
        );
 7534   9796   
 7535   9797   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 7536   9798   
        /// a required argument was not given.
 7537   9799   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 7538   9800   
            Ok(SigningParams {
 7539   9801   
                identity: self
 7540   9802   
                    .identity
 7541   9803   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 7542   9804   
                region: self
 7543   9805   
                    .region
 7544   9806   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 7545   9807   
                name: self
 7546   9808   
                    .name
 7547   9809   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 7548   9810   
                time: self
 7549   9811   
                    .time
 7550   9812   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 7551   9813   
                settings: self
 7552   9814   
                    .settings
 7553   9815   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 7554   9816   
            })
 7555   9817   
        }
 7556   9818   
    }
 7557   9819   
}
 7558   9820   
 7559   9821   
#[cfg(test)]
 7560   9822   
mod tests {
 7561   9823   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 7562   9824   
    use crate::date_time::test_parsers::parse_date_time;
 7563         -
    use crate::http_request::test;
 7564   9825   
 7565   9826   
    #[test]
 7566   9827   
    fn test_signature_calculation() {
 7567   9828   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 7568         -
        let creq = test::v4::test_canonical_request("iam");
        9829  +
        let creq = r#"AWS4-HMAC-SHA256
        9830  +
20150830T123600Z
        9831  +
20150830/us-east-1/iam/aws4_request
        9832  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 7569   9833   
        let time = parse_date_time("20150830T123600Z").unwrap();
 7570   9834   
 7571   9835   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 7572   9836   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 7573   9837   
 7574   9838   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 7575   9839   
        assert_eq!(expected, &signature);
 7576   9840   
    }
 7577   9841   
 7578   9842   
    #[test]
 7579   9843   
    fn sign_payload_empty_string() {
 7580   9844   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 7581   9845   
        let actual = sha256_hex_string([]);
 7582   9846   
        assert_eq!(expected, actual);
 7583   9847   
    }
 7584   9848   
}
 7585   9849   
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
 7586   9850   
index ce78c38..8c2f591 100644
 7587         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        9851  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 7588   9852   
@@ -1,43 +1,43 @@
 7589   9853   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7590   9854   
[package]
 7591   9855   
name = "aws-smithy-checksums"
 7592   9856   
version = "0.63.5"
 7593   9857   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 7594   9858   
description = "Checksum calculation and verification callbacks"
 7595   9859   
edition = "2021"
 7596   9860   
license = "Apache-2.0"
 7597   9861   
repository = "https://github.com/smithy-lang/smithy-rs"
 7598   9862   
[package.metadata.docs.rs]
 7599   9863   
all-features = true
 7600   9864   
targets = ["x86_64-unknown-linux-gnu"]
 7601   9865   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7602   9866   
rustdoc-args = ["--cfg", "docsrs"]
 7603   9867   
 7604   9868   
[dependencies]
 7605   9869   
bytes = "1.10.0"
 7606   9870   
crc-fast = "1.3.0"
 7607   9871   
hex = "0.4.3"
 7608   9872   
http = "0.2.9"
 7609   9873   
http-body = "0.4.5"
 7610   9874   
md-5 = "0.10"
 7611   9875   
pin-project-lite = "0.2.14"
 7612   9876   
sha1 = "0.10"
 7613   9877   
sha2 = "0.10"
 7614   9878   
tracing = "0.1.40"
 7615   9879   
 7616   9880   
[dependencies.aws-smithy-http]
 7617   9881   
path = "../aws-smithy-http"
 7618         -
version = "0.62.2"
        9882  +
version = "0.62.3"
 7619   9883   
 7620   9884   
[dependencies.aws-smithy-types]
 7621   9885   
path = "../aws-smithy-types"
 7622   9886   
version = "1.3.2"
 7623   9887   
 7624   9888   
[dev-dependencies]
 7625   9889   
bytes-utils = "0.1.2"
 7626   9890   
pretty_assertions = "1.3"
 7627   9891   
tracing-test = "0.2.1"
 7628   9892   
 7629   9893   
[dev-dependencies.tokio]
 7630   9894   
version = "1.23.1"
 7631   9895   
features = ["macros", "rt"]
 7632   9896   
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
 7633   9897   
index 970c99e..d3c7a49 100644
 7634         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        9898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 7635   9899   
@@ -1,34 +1,34 @@
 7636   9900   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7637   9901   
[package]
 7638   9902   
name = "aws-smithy-http"
 7639         -
version = "0.62.2"
        9903  +
version = "0.62.3"
 7640   9904   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7641   9905   
description = "Smithy HTTP logic for smithy-rs."
 7642   9906   
edition = "2021"
 7643   9907   
license = "Apache-2.0"
 7644   9908   
repository = "https://github.com/smithy-lang/smithy-rs"
 7645   9909   
[package.metadata.docs.rs]
 7646   9910   
all-features = true
 7647   9911   
targets = ["x86_64-unknown-linux-gnu"]
 7648   9912   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7649   9913   
rustdoc-args = ["--cfg", "docsrs"]
 7650   9914   
 7651   9915   
[features]
 7652   9916   
event-stream = ["aws-smithy-eventstream"]
 7653   9917   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 7654   9918   
 7655   9919   
[dependencies]
 7656   9920   
bytes = "1.10.0"
 7657   9921   
bytes-utils = "0.1"
 7658   9922   
percent-encoding = "2.3.1"
 7659   9923   
pin-project-lite = "0.2.14"
 7660   9924   
pin-utils = "0.1.0"
 7661   9925   
tracing = "0.1.40"
 7662   9926   
futures-core = "0.3.31"
 7663   9927   
 7664   9928   
[dependencies.aws-smithy-eventstream]
 7665   9929   
path = "../aws-smithy-eventstream"
 7666   9930   
optional = true
 7667   9931   
version = "0.60.10"
 7668   9932   
 7669   9933   
[dependencies.aws-smithy-runtime-api]
 7670   9934   
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
 7671   9935   
index 508f7a2..361545e 100644
 7672         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        9936  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 7673   9937   
@@ -1,27 +1,27 @@
 7674   9938   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7675   9939   
[[bin]]
 7676   9940   
name = "read_many_from_str"
 7677   9941   
path = "fuzz_targets/read_many_from_str.rs"
 7678   9942   
test = false
 7679   9943   
doc = false
 7680   9944   
 7681   9945   
[package]
 7682   9946   
name = "aws-smithy-http-fuzz"
 7683   9947   
version = "0.0.0"
 7684   9948   
authors = ["Automatically generated"]
 7685   9949   
publish = false
 7686   9950   
edition = "2021"
 7687   9951   
 7688   9952   
[package.metadata]
 7689   9953   
cargo-fuzz = true
 7690   9954   
 7691   9955   
[dependencies]
 7692   9956   
libfuzzer-sys = "=0.4.7"
 7693   9957   
http = "0.2.3"
 7694   9958   
 7695   9959   
[dependencies.aws-smithy-http]
 7696   9960   
path = ".."
 7697         -
version = "0.62.2"
        9961  +
version = "0.62.3"
 7698   9962   
 7699   9963   
[workspace]
 7700   9964   
members = ["."]
 7701   9965   
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
 7702   9966   
index fef41d0..7694da6 100644
 7703         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        9967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 7704   9968   
@@ -25,68 +25,73 @@ impl QueryWriter {
 7705   9969   
    pub fn new(uri: &Uri) -> Self {
 7706   9970   
        let new_path_and_query = uri
 7707   9971   
            .path_and_query()
 7708   9972   
            .map(|pq| pq.to_string())
 7709   9973   
            .unwrap_or_default();
 7710   9974   
        let prefix = if uri.query().is_none() {
 7711   9975   
            Some('?')
 7712   9976   
        } else if !uri.query().unwrap_or_default().is_empty() {
 7713   9977   
            Some('&')
 7714   9978   
        } else {
 7715   9979   
            None
 7716   9980   
        };
 7717   9981   
        QueryWriter {
 7718   9982   
            base_uri: uri.clone(),
 7719   9983   
            new_path_and_query,
 7720   9984   
            prefix,
 7721   9985   
        }
 7722   9986   
    }
 7723   9987   
 7724   9988   
    /// Clears all query parameters.
 7725   9989   
    pub fn clear_params(&mut self) {
 7726   9990   
        if let Some(index) = self.new_path_and_query.find('?') {
 7727   9991   
            self.new_path_and_query.truncate(index);
 7728   9992   
            self.prefix = Some('?');
 7729   9993   
        }
 7730   9994   
    }
 7731   9995   
 7732   9996   
    /// Inserts a new query parameter. The key and value are percent encoded
 7733   9997   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 7734   9998   
    pub fn insert(&mut self, k: &str, v: &str) {
        9999  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
       10000  +
    }
       10001  +
       10002  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
       10003  +
    /// as is.
       10004  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 7735  10005   
        if let Some(prefix) = self.prefix {
 7736  10006   
            self.new_path_and_query.push(prefix);
 7737  10007   
        }
 7738  10008   
        self.prefix = Some('&');
 7739         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
       10009  +
        self.new_path_and_query.push_str(encoded_k);
 7740  10010   
        self.new_path_and_query.push('=');
 7741         -
 7742         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
       10011  +
        self.new_path_and_query.push_str(encoded_v)
 7743  10012   
    }
 7744  10013   
 7745  10014   
    /// Returns just the built query string.
 7746  10015   
    pub fn build_query(self) -> String {
 7747  10016   
        self.build_uri().query().unwrap_or_default().to_string()
 7748  10017   
    }
 7749  10018   
 7750  10019   
    /// Returns a full [`Uri`] with the query string updated.
 7751  10020   
    pub fn build_uri(self) -> Uri {
 7752  10021   
        let mut parts = self.base_uri.into_parts();
 7753  10022   
        parts.path_and_query = Some(
 7754  10023   
            self.new_path_and_query
 7755  10024   
                .parse()
 7756  10025   
                .expect("adding query should not invalidate URI"),
 7757  10026   
        );
 7758  10027   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 7759  10028   
    }
 7760  10029   
}
 7761  10030   
 7762  10031   
#[cfg(test)]
 7763  10032   
mod test {
 7764  10033   
    use super::QueryWriter;
 7765  10034   
    use http_02x::Uri;
 7766  10035   
 7767  10036   
    #[test]
 7768  10037   
    fn empty_uri() {
 7769  10038   
        let uri = Uri::from_static("http://www.example.com");
 7770  10039   
        let mut query_writer = QueryWriter::new(&uri);
 7771  10040   
        query_writer.insert("key", "val%ue");
 7772  10041   
        query_writer.insert("another", "value");
 7773  10042   
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
 7774  10043   
index f108978..df7a9fe 100644
 7775         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
       10044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 7776  10045   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 7777  10046   
 7778  10047   
[package.metadata.smithy-rs-release-tooling]
 7779  10048   
stable = true
 7780  10049   
[package.metadata.cargo-udeps.ignore]
 7781  10050   
normal = ["aws-smithy-http"]
 7782  10051   
 7783  10052   
[features]
 7784  10053   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 7785  10054   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 7786  10055   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 7787  10056   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 7788  10057   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 7789  10058   
rt-tokio = ["tokio/rt"]
 7790  10059   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 7791  10060   
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"]
 7792  10061   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 7793  10062   
 7794  10063   
[dependencies]
 7795  10064   
bytes = "1.10.0"
 7796  10065   
fastrand = "2.3.0"
 7797  10066   
pin-project-lite = "0.2.14"
 7798  10067   
pin-utils = "0.1.0"
 7799  10068   
tracing = "0.1.40"
 7800  10069   
 7801  10070   
[dependencies.aws-smithy-async]
 7802  10071   
path = "../aws-smithy-async"
 7803  10072   
version = "1.2.5"
 7804  10073   
 7805  10074   
[dependencies.aws-smithy-http]
 7806  10075   
path = "../aws-smithy-http"
 7807         -
version = "0.62.2"
       10076  +
version = "0.62.3"
 7808  10077   
 7809  10078   
[dependencies.aws-smithy-observability]
 7810  10079   
path = "../aws-smithy-observability"
 7811  10080   
version = "0.1.3"
 7812  10081   
 7813  10082   
[dependencies.aws-smithy-runtime-api]
 7814  10083   
path = "../aws-smithy-runtime-api"
 7815  10084   
version = "1.8.5"
 7816  10085   
 7817  10086   
[dependencies.aws-smithy-types]
 7818  10087   
path = "../aws-smithy-types"
 7819  10088   
features = ["http-body-0-4-x"]
 7820  10089   
version = "1.3.2"
 7821  10090   
 7822  10091   
[dependencies.aws-smithy-http-client]
 7823  10092   
path = "../aws-smithy-http-client"
 7824  10093   
optional = true
 7825  10094   
version = "1.0.6"
 7826  10095   
 7827  10096   
[dependencies.http-02x]
 7828  10097   
package = "http"
 7829  10098   
version = "0.2.9"
 7830  10099   
 7831  10100   
[dependencies.http-1x]
 7832  10101   
package = "http"
 7833  10102   
version = "1"
 7834  10103   
 7835  10104   
[dependencies.http-body-04x]
 7836  10105   
package = "http-body"
 7837  10106   
version = "0.4.5"
 7838  10107   
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
 7839  10108   
index 4e050c6..f58eb1c 100644
 7840         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
       10109  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 7841  10110   
@@ -1,33 +1,33 @@
 7842  10111   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7843  10112   
[package]
 7844  10113   
name = "aws-smithy-wasm"
 7845  10114   
version = "0.1.4"
 7846  10115   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 7847  10116   
description = "Smithy WebAssembly configuration for smithy-rs."
 7848  10117   
edition = "2021"
 7849  10118   
license = "Apache-2.0"
 7850  10119   
repository = "https://github.com/awslabs/smithy-rs"
 7851  10120   
[package.metadata.docs.rs]
 7852  10121   
all-features = true
 7853  10122   
targets = ["x86_64-unknown-linux-gnu"]
 7854  10123   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7855  10124   
rustdoc-args = ["--cfg", "docsrs"]
 7856  10125   
 7857  10126   
[dependencies]
 7858  10127   
bytes = "1.10.0"
 7859  10128   
http = "1.0.0"
 7860  10129   
tracing = "0.1.40"
 7861  10130   
wasi = "0.12.1"
 7862  10131   
 7863  10132   
[dependencies.aws-smithy-runtime-api]
 7864  10133   
path = "../aws-smithy-runtime-api"
 7865  10134   
features = ["http-1x"]
 7866  10135   
version = "1.8.5"
 7867  10136   
 7868  10137   
[dependencies.aws-smithy-http]
 7869  10138   
path = "../aws-smithy-http"
 7870         -
version = "0.62.2"
       10139  +
version = "0.62.3"
 7871  10140   
 7872  10141   
[dependencies.aws-smithy-types]
 7873  10142   
path = "../aws-smithy-types"
 7874  10143   
version = "1.3.2"
 7875  10144   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 7876  10145   
index a880648..139e808 100644
 7877         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
       10146  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 7878  10147   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 7879  10148   
edition = "2021"
 7880  10149   
license = "Apache-2.0"
 7881  10150   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7882  10151   
rust-version = "1.86.0"
 7883  10152   
readme = "README.md"
 7884  10153   
[package.metadata.smithy]
 7885  10154   
codegen-version = "ci"
 7886  10155   
[package.metadata.docs.rs]
 7887  10156   
all-features = true
 7888  10157   
targets = ["x86_64-unknown-linux-gnu"]
 7889  10158   
[dependencies.aws-credential-types]
 7890  10159   
path = "../aws-credential-types"
 7891  10160   
version = "1.2.4"
 7892  10161   
 7893  10162   
[dependencies.aws-runtime]
 7894  10163   
path = "../aws-runtime"
 7895  10164   
features = ["event-stream"]
 7896  10165   
version = "1.5.9"
 7897  10166   
 7898  10167   
[dependencies.aws-smithy-async]
 7899  10168   
path = "../aws-smithy-async"
 7900  10169   
version = "1.2.5"
 7901  10170   
 7902  10171   
[dependencies.aws-smithy-eventstream]
 7903  10172   
path = "../aws-smithy-eventstream"
 7904  10173   
version = "0.60.10"
 7905  10174   
 7906  10175   
[dependencies.aws-smithy-http]
 7907  10176   
path = "../aws-smithy-http"
 7908  10177   
features = ["event-stream"]
 7909         -
version = "0.62.2"
       10178  +
version = "0.62.3"
 7910  10179   
 7911  10180   
[dependencies.aws-smithy-json]
 7912  10181   
path = "../aws-smithy-json"
 7913  10182   
version = "0.61.4"
 7914  10183   
 7915  10184   
[dependencies.aws-smithy-runtime]
 7916  10185   
path = "../aws-smithy-runtime"
 7917  10186   
features = ["client"]
 7918  10187   
version = "1.8.5"
 7919  10188   
 7920  10189   
[dependencies.aws-smithy-runtime-api]
 7921  10190   
path = "../aws-smithy-runtime-api"
 7922  10191   
features = ["client", "http-02x"]
 7923  10192   
version = "1.8.5"
 7924  10193   
 7925  10194   
[dependencies.aws-smithy-types]
 7926  10195   
path = "../aws-smithy-types"
 7927  10196   
version = "1.3.2"
 7928  10197   
 7929  10198   
[dependencies.aws-types]
 7930  10199   
path = "../aws-types"
 7931  10200   
version = "1.3.8"
 7932  10201   
 7933  10202   
[dependencies.bytes]
 7934  10203   
version = "1.4.0"
 7935  10204   
 7936  10205   
[dependencies.fastrand]
 7937  10206   
version = "2.0.0"
 7938  10207   
 7939  10208   
[dependencies.http]
 7940  10209   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 7941  10210   
index 415ecc9..667d12b 100644
 7942         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
       10211  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 7943  10212   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 7944  10213   
edition = "2021"
 7945  10214   
license = "Apache-2.0"
 7946  10215   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7947  10216   
rust-version = "1.86.0"
 7948  10217   
readme = "README.md"
 7949  10218   
[package.metadata.smithy]
 7950  10219   
codegen-version = "ci"
 7951  10220   
[package.metadata.docs.rs]
 7952  10221   
all-features = true
 7953  10222   
targets = ["x86_64-unknown-linux-gnu"]
 7954  10223   
[dependencies.aws-credential-types]
 7955  10224   
path = "../aws-credential-types"
 7956  10225   
version = "1.2.4"
 7957  10226   
 7958  10227   
[dependencies.aws-runtime]
 7959  10228   
path = "../aws-runtime"
 7960  10229   
features = ["event-stream"]
 7961  10230   
version = "1.5.9"
 7962  10231   
 7963  10232   
[dependencies.aws-smithy-async]
 7964  10233   
path = "../aws-smithy-async"
 7965  10234   
version = "1.2.5"
 7966  10235   
 7967  10236   
[dependencies.aws-smithy-eventstream]
 7968  10237   
path = "../aws-smithy-eventstream"
 7969  10238   
version = "0.60.10"
 7970  10239   
 7971  10240   
[dependencies.aws-smithy-http]
 7972  10241   
path = "../aws-smithy-http"
 7973  10242   
features = ["event-stream"]
 7974         -
version = "0.62.2"
       10243  +
version = "0.62.3"
 7975  10244   
 7976  10245   
[dependencies.aws-smithy-json]
 7977  10246   
path = "../aws-smithy-json"
 7978  10247   
version = "0.61.4"
 7979  10248   
 7980  10249   
[dependencies.aws-smithy-runtime]
 7981  10250   
path = "../aws-smithy-runtime"
 7982  10251   
features = ["client"]
 7983  10252   
version = "1.8.5"
 7984  10253   
 7985  10254   
[dependencies.aws-smithy-runtime-api]
 7986  10255   
path = "../aws-smithy-runtime-api"
 7987  10256   
features = ["client", "http-02x"]
 7988  10257   
version = "1.8.5"
 7989  10258   
 7990  10259   
[dependencies.aws-smithy-types]
 7991  10260   
path = "../aws-smithy-types"
 7992  10261   
version = "1.3.2"
 7993  10262   
 7994  10263   
[dependencies.aws-types]
 7995  10264   
path = "../aws-types"
 7996  10265   
version = "1.3.8"
 7997  10266   
 7998  10267   
[dependencies.bytes]
 7999  10268   
version = "1.4.0"
 8000  10269   
 8001  10270   
[dependencies.fastrand]
 8002  10271   
version = "2.0.0"
 8003  10272   
 8004  10273   
[dependencies.http]
 8005  10274   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 8006  10275   
index 8871cab..ed88de6 100644
 8007         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
       10276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 8008  10277   
@@ -1,61 +1,61 @@
 8009  10278   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8010  10279   
[package]
 8011  10280   
name = "aws-sdk-codecatalyst"
 8012  10281   
version = "0.0.0-local"
 8013  10282   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8014  10283   
description = "AWS SDK for Amazon CodeCatalyst"
 8015  10284   
edition = "2021"
 8016  10285   
license = "Apache-2.0"
 8017  10286   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8018  10287   
rust-version = "1.86.0"
 8019  10288   
readme = "README.md"
 8020  10289   
[package.metadata.smithy]
 8021  10290   
codegen-version = "ci"
 8022  10291   
[package.metadata.docs.rs]
 8023  10292   
all-features = true
 8024  10293   
targets = ["x86_64-unknown-linux-gnu"]
 8025  10294   
[dependencies.aws-credential-types]
 8026  10295   
path = "../aws-credential-types"
 8027  10296   
version = "1.2.4"
 8028  10297   
 8029  10298   
[dependencies.aws-runtime]
 8030  10299   
path = "../aws-runtime"
 8031  10300   
version = "1.5.9"
 8032  10301   
 8033  10302   
[dependencies.aws-smithy-async]
 8034  10303   
path = "../aws-smithy-async"
 8035  10304   
version = "1.2.5"
 8036  10305   
 8037  10306   
[dependencies.aws-smithy-http]
 8038  10307   
path = "../aws-smithy-http"
 8039         -
version = "0.62.2"
       10308  +
version = "0.62.3"
 8040  10309   
 8041  10310   
[dependencies.aws-smithy-json]
 8042  10311   
path = "../aws-smithy-json"
 8043  10312   
version = "0.61.4"
 8044  10313   
 8045  10314   
[dependencies.aws-smithy-runtime]
 8046  10315   
path = "../aws-smithy-runtime"
 8047  10316   
features = ["client", "http-auth"]
 8048  10317   
version = "1.8.5"
 8049  10318   
 8050  10319   
[dependencies.aws-smithy-runtime-api]
 8051  10320   
path = "../aws-smithy-runtime-api"
 8052  10321   
features = ["client", "http-02x", "http-auth"]
 8053  10322   
version = "1.8.5"
 8054  10323   
 8055  10324   
[dependencies.aws-smithy-types]
 8056  10325   
path = "../aws-smithy-types"
 8057  10326   
version = "1.3.2"
 8058  10327   
 8059  10328   
[dependencies.aws-types]
 8060  10329   
path = "../aws-types"
 8061  10330   
version = "1.3.8"
 8062  10331   
 8063  10332   
[dependencies.bytes]
 8064  10333   
version = "1.4.0"
 8065  10334   
 8066  10335   
[dependencies.fastrand]
 8067  10336   
version = "2.0.0"
 8068  10337   
 8069  10338   
[dependencies.http]
 8070  10339   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 8071  10340   
index 89573ff..05238af 100644
 8072         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
       10341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 8073  10342   
@@ -1,61 +1,61 @@
 8074  10343   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8075  10344   
[package]
 8076  10345   
name = "aws-sdk-config"
 8077  10346   
version = "0.0.0-local"
 8078  10347   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8079  10348   
description = "AWS SDK for AWS Config"
 8080  10349   
edition = "2021"
 8081  10350   
license = "Apache-2.0"
 8082  10351   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8083  10352   
rust-version = "1.86.0"
 8084  10353   
readme = "README.md"
 8085  10354   
[package.metadata.smithy]
 8086  10355   
codegen-version = "ci"
 8087  10356   
[package.metadata.docs.rs]
 8088  10357   
all-features = true
 8089  10358   
targets = ["x86_64-unknown-linux-gnu"]
 8090  10359   
[dependencies.aws-credential-types]
 8091  10360   
path = "../aws-credential-types"
 8092  10361   
version = "1.2.4"
 8093  10362   
 8094  10363   
[dependencies.aws-runtime]
 8095  10364   
path = "../aws-runtime"
 8096  10365   
version = "1.5.9"
 8097  10366   
 8098  10367   
[dependencies.aws-smithy-async]
 8099  10368   
path = "../aws-smithy-async"
 8100  10369   
version = "1.2.5"
 8101  10370   
 8102  10371   
[dependencies.aws-smithy-http]
 8103  10372   
path = "../aws-smithy-http"
 8104         -
version = "0.62.2"
       10373  +
version = "0.62.3"
 8105  10374   
 8106  10375   
[dependencies.aws-smithy-json]
 8107  10376   
path = "../aws-smithy-json"
 8108  10377   
version = "0.61.4"
 8109  10378   
 8110  10379   
[dependencies.aws-smithy-runtime]
 8111  10380   
path = "../aws-smithy-runtime"
 8112  10381   
features = ["client"]
 8113  10382   
version = "1.8.5"
 8114  10383   
 8115  10384   
[dependencies.aws-smithy-runtime-api]
 8116  10385   
path = "../aws-smithy-runtime-api"
 8117  10386   
features = ["client", "http-02x"]
 8118  10387   
version = "1.8.5"
 8119  10388   
 8120  10389   
[dependencies.aws-smithy-types]
 8121  10390   
path = "../aws-smithy-types"
 8122  10391   
version = "1.3.2"
 8123  10392   
 8124  10393   
[dependencies.aws-types]
 8125  10394   
path = "../aws-types"
 8126  10395   
version = "1.3.8"
 8127  10396   
 8128  10397   
[dependencies.bytes]
 8129  10398   
version = "1.4.0"
 8130  10399   
 8131  10400   
[dependencies.fastrand]
 8132  10401   
version = "2.0.0"
 8133  10402   
 8134  10403   
[dependencies.http]
 8135  10404   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 8136  10405   
index d397c58..2c1062b 100644
 8137         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
       10406  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 8138  10407   
@@ -1,61 +1,61 @@
 8139  10408   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8140  10409   
[package]
 8141  10410   
name = "aws-sdk-dynamodb"
 8142  10411   
version = "0.0.0-local"
 8143  10412   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8144  10413   
description = "AWS SDK for Amazon DynamoDB"
 8145  10414   
edition = "2021"
 8146  10415   
license = "Apache-2.0"
 8147  10416   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8148  10417   
rust-version = "1.86.0"
 8149  10418   
readme = "README.md"
 8150  10419   
[package.metadata.smithy]
 8151  10420   
codegen-version = "ci"
 8152  10421   
[package.metadata.docs.rs]
 8153  10422   
all-features = true
 8154  10423   
targets = ["x86_64-unknown-linux-gnu"]
 8155  10424   
[dependencies.aws-credential-types]
 8156  10425   
path = "../aws-credential-types"
 8157  10426   
version = "1.2.4"
 8158  10427   
 8159  10428   
[dependencies.aws-runtime]
 8160  10429   
path = "../aws-runtime"
 8161  10430   
version = "1.5.9"
 8162  10431   
 8163  10432   
[dependencies.aws-smithy-async]
 8164  10433   
path = "../aws-smithy-async"
 8165  10434   
version = "1.2.5"
 8166  10435   
 8167  10436   
[dependencies.aws-smithy-http]
 8168  10437   
path = "../aws-smithy-http"
 8169         -
version = "0.62.2"
       10438  +
version = "0.62.3"
 8170  10439   
 8171  10440   
[dependencies.aws-smithy-json]
 8172  10441   
path = "../aws-smithy-json"
 8173  10442   
version = "0.61.4"
 8174  10443   
 8175  10444   
[dependencies.aws-smithy-runtime]
 8176  10445   
path = "../aws-smithy-runtime"
 8177  10446   
features = ["client"]
 8178  10447   
version = "1.8.5"
 8179  10448   
 8180  10449   
[dependencies.aws-smithy-runtime-api]
 8181  10450   
path = "../aws-smithy-runtime-api"
 8182  10451   
features = ["client", "http-02x"]
 8183  10452   
version = "1.8.5"
 8184  10453   
 8185  10454   
[dependencies.aws-smithy-types]
 8186  10455   
path = "../aws-smithy-types"
 8187  10456   
version = "1.3.2"
 8188  10457   
 8189  10458   
[dependencies.aws-types]
 8190  10459   
path = "../aws-types"
 8191  10460   
version = "1.3.8"
 8192  10461   
 8193  10462   
[dependencies.bytes]
 8194  10463   
version = "1.4.0"
 8195  10464   
 8196  10465   
[dependencies.fastrand]
 8197  10466   
version = "2.0.0"
 8198  10467   
 8199  10468   
[dependencies.http]
 8200  10469   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 8201  10470   
index c0ba315..46168af 100644
 8202         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
       10471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 8203  10472   
@@ -1,61 +1,61 @@
 8204  10473   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8205  10474   
[package]
 8206  10475   
name = "aws-sdk-ec2"
 8207  10476   
version = "0.0.0-local"
 8208  10477   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8209  10478   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 8210  10479   
edition = "2021"
 8211  10480   
license = "Apache-2.0"
 8212  10481   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8213  10482   
rust-version = "1.86.0"
 8214  10483   
readme = "README.md"
 8215  10484   
[package.metadata.smithy]
 8216  10485   
codegen-version = "ci"
 8217  10486   
[package.metadata.docs.rs]
 8218  10487   
all-features = true
 8219  10488   
targets = ["x86_64-unknown-linux-gnu"]
 8220  10489   
[dependencies.aws-credential-types]
 8221  10490   
path = "../aws-credential-types"
 8222  10491   
version = "1.2.4"
 8223  10492   
 8224  10493   
[dependencies.aws-runtime]
 8225  10494   
path = "../aws-runtime"
 8226  10495   
version = "1.5.9"
 8227  10496   
 8228  10497   
[dependencies.aws-smithy-async]
 8229  10498   
path = "../aws-smithy-async"
 8230  10499   
version = "1.2.5"
 8231  10500   
 8232  10501   
[dependencies.aws-smithy-http]
 8233  10502   
path = "../aws-smithy-http"
 8234         -
version = "0.62.2"
       10503  +
version = "0.62.3"
 8235  10504   
 8236  10505   
[dependencies.aws-smithy-json]
 8237  10506   
path = "../aws-smithy-json"
 8238  10507   
version = "0.61.4"
 8239  10508   
 8240  10509   
[dependencies.aws-smithy-query]
 8241  10510   
path = "../aws-smithy-query"
 8242  10511   
version = "0.60.7"
 8243  10512   
 8244  10513   
[dependencies.aws-smithy-runtime]
 8245  10514   
path = "../aws-smithy-runtime"
 8246  10515   
features = ["client"]
 8247  10516   
version = "1.8.5"
 8248  10517   
 8249  10518   
[dependencies.aws-smithy-runtime-api]
 8250  10519   
path = "../aws-smithy-runtime-api"
 8251  10520   
features = ["client", "http-02x"]
 8252  10521   
version = "1.8.5"
 8253  10522   
 8254  10523   
[dependencies.aws-smithy-types]
 8255  10524   
path = "../aws-smithy-types"
 8256  10525   
version = "1.3.2"
 8257  10526   
 8258  10527   
[dependencies.aws-smithy-xml]
 8259  10528   
path = "../aws-smithy-xml"
 8260  10529   
version = "0.60.10"
 8261  10530   
 8262  10531   
[dependencies.aws-types]
 8263  10532   
path = "../aws-types"
 8264  10533   
version = "1.3.8"
 8265  10534   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 8266  10535   
index 4474d17..095d40e 100644
 8267         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
       10536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 8268  10537   
@@ -1,61 +1,61 @@
 8269  10538   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8270  10539   
[package]
 8271  10540   
name = "aws-sdk-ecs"
 8272  10541   
version = "0.0.0-local"
 8273  10542   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8274  10543   
description = "AWS SDK for Amazon EC2 Container Service"
 8275  10544   
edition = "2021"
 8276  10545   
license = "Apache-2.0"
 8277  10546   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8278  10547   
rust-version = "1.86.0"
 8279  10548   
readme = "README.md"
 8280  10549   
[package.metadata.smithy]
 8281  10550   
codegen-version = "ci"
 8282  10551   
[package.metadata.docs.rs]
 8283  10552   
all-features = true
 8284  10553   
targets = ["x86_64-unknown-linux-gnu"]
 8285  10554   
[dependencies.aws-credential-types]
 8286  10555   
path = "../aws-credential-types"
 8287  10556   
version = "1.2.4"
 8288  10557   
 8289  10558   
[dependencies.aws-runtime]
 8290  10559   
path = "../aws-runtime"
 8291  10560   
version = "1.5.9"
 8292  10561   
 8293  10562   
[dependencies.aws-smithy-async]
 8294  10563   
path = "../aws-smithy-async"
 8295  10564   
version = "1.2.5"
 8296  10565   
 8297  10566   
[dependencies.aws-smithy-http]
 8298  10567   
path = "../aws-smithy-http"
 8299         -
version = "0.62.2"
       10568  +
version = "0.62.3"
 8300  10569   
 8301  10570   
[dependencies.aws-smithy-json]
 8302  10571   
path = "../aws-smithy-json"
 8303  10572   
version = "0.61.4"
 8304  10573   
 8305  10574   
[dependencies.aws-smithy-runtime]
 8306  10575   
path = "../aws-smithy-runtime"
 8307  10576   
features = ["client"]
 8308  10577   
version = "1.8.5"
 8309  10578   
 8310  10579   
[dependencies.aws-smithy-runtime-api]
 8311  10580   
path = "../aws-smithy-runtime-api"
 8312  10581   
features = ["client", "http-02x"]
 8313  10582   
version = "1.8.5"
 8314  10583   
 8315  10584   
[dependencies.aws-smithy-types]
 8316  10585   
path = "../aws-smithy-types"
 8317  10586   
version = "1.3.2"
 8318  10587   
 8319  10588   
[dependencies.aws-types]
 8320  10589   
path = "../aws-types"
 8321  10590   
version = "1.3.8"
 8322  10591   
 8323  10592   
[dependencies.bytes]
 8324  10593   
version = "1.4.0"
 8325  10594   
 8326  10595   
[dependencies.fastrand]
 8327  10596   
version = "2.0.0"
 8328  10597   
 8329  10598   
[dependencies.http]
 8330  10599   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 8331  10600   
index 15b1d77..16d7d89 100644
 8332         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
       10601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 8333  10602   
@@ -1,65 +1,65 @@
 8334  10603   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8335  10604   
[package]
 8336  10605   
name = "aws-sdk-glacier"
 8337  10606   
version = "0.0.0-local"
 8338  10607   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8339  10608   
description = "AWS SDK for Amazon Glacier"
 8340  10609   
edition = "2021"
 8341  10610   
license = "Apache-2.0"
 8342  10611   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8343  10612   
rust-version = "1.86.0"
 8344  10613   
readme = "README.md"
 8345  10614   
[package.metadata.smithy]
 8346  10615   
codegen-version = "ci"
 8347  10616   
[package.metadata.docs.rs]
 8348  10617   
all-features = true
 8349  10618   
targets = ["x86_64-unknown-linux-gnu"]
 8350  10619   
[dependencies.aws-credential-types]
 8351  10620   
path = "../aws-credential-types"
 8352  10621   
version = "1.2.4"
 8353  10622   
 8354  10623   
[dependencies.aws-runtime]
 8355  10624   
path = "../aws-runtime"
 8356  10625   
version = "1.5.9"
 8357  10626   
 8358  10627   
[dependencies.aws-sigv4]
 8359  10628   
path = "../aws-sigv4"
 8360         -
version = "1.3.3"
       10629  +
version = "1.3.4"
 8361  10630   
 8362  10631   
[dependencies.aws-smithy-async]
 8363  10632   
path = "../aws-smithy-async"
 8364  10633   
version = "1.2.5"
 8365  10634   
 8366  10635   
[dependencies.aws-smithy-http]
 8367  10636   
path = "../aws-smithy-http"
 8368         -
version = "0.62.2"
       10637  +
version = "0.62.3"
 8369  10638   
 8370  10639   
[dependencies.aws-smithy-json]
 8371  10640   
path = "../aws-smithy-json"
 8372  10641   
version = "0.61.4"
 8373  10642   
 8374  10643   
[dependencies.aws-smithy-runtime]
 8375  10644   
path = "../aws-smithy-runtime"
 8376  10645   
features = ["client"]
 8377  10646   
version = "1.8.5"
 8378  10647   
 8379  10648   
[dependencies.aws-smithy-runtime-api]
 8380  10649   
path = "../aws-smithy-runtime-api"
 8381  10650   
features = ["client", "http-02x"]
 8382  10651   
version = "1.8.5"
 8383  10652   
 8384  10653   
[dependencies.aws-smithy-types]
 8385  10654   
path = "../aws-smithy-types"
 8386  10655   
version = "1.3.2"
 8387  10656   
 8388  10657   
[dependencies.aws-types]
 8389  10658   
path = "../aws-types"
 8390  10659   
version = "1.3.8"
 8391  10660   
 8392  10661   
[dependencies.bytes]
 8393  10662   
version = "1.4.0"
 8394  10663   
 8395  10664   
[dependencies.fastrand]
 8396  10665   
version = "2.0.0"
 8397  10666   
 8398  10667   
[dependencies.hex]
 8399  10668   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 8400  10669   
index d718a3a..65e6f24 100644
 8401         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
       10670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 8402  10671   
@@ -1,61 +1,61 @@
 8403  10672   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8404  10673   
[package]
 8405  10674   
name = "aws-sdk-iam"
 8406  10675   
version = "0.0.0-local"
 8407  10676   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8408  10677   
description = "AWS SDK for AWS Identity and Access Management"
 8409  10678   
edition = "2021"
 8410  10679   
license = "Apache-2.0"
 8411  10680   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8412  10681   
rust-version = "1.86.0"
 8413  10682   
readme = "README.md"
 8414  10683   
[package.metadata.smithy]
 8415  10684   
codegen-version = "ci"
 8416  10685   
[package.metadata.docs.rs]
 8417  10686   
all-features = true
 8418  10687   
targets = ["x86_64-unknown-linux-gnu"]
 8419  10688   
[dependencies.aws-credential-types]
 8420  10689   
path = "../aws-credential-types"
 8421  10690   
version = "1.2.4"
 8422  10691   
 8423  10692   
[dependencies.aws-runtime]
 8424  10693   
path = "../aws-runtime"
 8425  10694   
version = "1.5.9"
 8426  10695   
 8427  10696   
[dependencies.aws-smithy-async]
 8428  10697   
path = "../aws-smithy-async"
 8429  10698   
version = "1.2.5"
 8430  10699   
 8431  10700   
[dependencies.aws-smithy-http]
 8432  10701   
path = "../aws-smithy-http"
 8433         -
version = "0.62.2"
       10702  +
version = "0.62.3"
 8434  10703   
 8435  10704   
[dependencies.aws-smithy-json]
 8436  10705   
path = "../aws-smithy-json"
 8437  10706   
version = "0.61.4"
 8438  10707   
 8439  10708   
[dependencies.aws-smithy-query]
 8440  10709   
path = "../aws-smithy-query"
 8441  10710   
version = "0.60.7"
 8442  10711   
 8443  10712   
[dependencies.aws-smithy-runtime]
 8444  10713   
path = "../aws-smithy-runtime"
 8445  10714   
features = ["client"]
 8446  10715   
version = "1.8.5"
 8447  10716   
 8448  10717   
[dependencies.aws-smithy-runtime-api]
 8449  10718   
path = "../aws-smithy-runtime-api"
 8450  10719   
features = ["client", "http-02x"]
 8451  10720   
version = "1.8.5"
 8452  10721   
 8453  10722   
[dependencies.aws-smithy-types]
 8454  10723   
path = "../aws-smithy-types"
 8455  10724   
version = "1.3.2"
 8456  10725   
 8457  10726   
[dependencies.aws-smithy-xml]
 8458  10727   
path = "../aws-smithy-xml"
 8459  10728   
version = "0.60.10"
 8460  10729   
 8461  10730   
[dependencies.aws-types]
 8462  10731   
path = "../aws-types"
 8463  10732   
version = "1.3.8"
 8464  10733   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 8465  10734   
index 0ed4302..3d828a5 100644
 8466         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
       10735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 8467  10736   
@@ -1,61 +1,61 @@
 8468  10737   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8469  10738   
[package]
 8470  10739   
name = "aws-sdk-kms"
 8471  10740   
version = "0.0.0-local"
 8472  10741   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8473  10742   
description = "AWS SDK for AWS Key Management Service"
 8474  10743   
edition = "2021"
 8475  10744   
license = "Apache-2.0"
 8476  10745   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8477  10746   
rust-version = "1.86.0"
 8478  10747   
readme = "README.md"
 8479  10748   
[package.metadata.smithy]
 8480  10749   
codegen-version = "ci"
 8481  10750   
[package.metadata.docs.rs]
 8482  10751   
all-features = true
 8483  10752   
targets = ["x86_64-unknown-linux-gnu"]
 8484  10753   
[dependencies.aws-credential-types]
 8485  10754   
path = "../aws-credential-types"
 8486  10755   
version = "1.2.4"
 8487  10756   
 8488  10757   
[dependencies.aws-runtime]
 8489  10758   
path = "../aws-runtime"
 8490  10759   
version = "1.5.9"
 8491  10760   
 8492  10761   
[dependencies.aws-smithy-async]
 8493  10762   
path = "../aws-smithy-async"
 8494  10763   
version = "1.2.5"
 8495  10764   
 8496  10765   
[dependencies.aws-smithy-http]
 8497  10766   
path = "../aws-smithy-http"
 8498         -
version = "0.62.2"
       10767  +
version = "0.62.3"
 8499  10768   
 8500  10769   
[dependencies.aws-smithy-json]
 8501  10770   
path = "../aws-smithy-json"
 8502  10771   
version = "0.61.4"
 8503  10772   
 8504  10773   
[dependencies.aws-smithy-runtime]
 8505  10774   
path = "../aws-smithy-runtime"
 8506  10775   
features = ["client"]
 8507  10776   
version = "1.8.5"
 8508  10777   
 8509  10778   
[dependencies.aws-smithy-runtime-api]
 8510  10779   
path = "../aws-smithy-runtime-api"
 8511  10780   
features = ["client", "http-02x"]
 8512  10781   
version = "1.8.5"
 8513  10782   
 8514  10783   
[dependencies.aws-smithy-types]
 8515  10784   
path = "../aws-smithy-types"
 8516  10785   
version = "1.3.2"
 8517  10786   
 8518  10787   
[dependencies.aws-types]
 8519  10788   
path = "../aws-types"
 8520  10789   
version = "1.3.8"
 8521  10790   
 8522  10791   
[dependencies.bytes]
 8523  10792   
version = "1.4.0"
 8524  10793   
 8525  10794   
[dependencies.fastrand]
 8526  10795   
version = "2.0.0"
 8527  10796   
 8528  10797   
[dependencies.http]
 8529  10798   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 8530  10799   
index 6518dfc..6b94752 100644
 8531         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
       10800  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 8532  10801   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 8533  10802   
edition = "2021"
 8534  10803   
license = "Apache-2.0"
 8535  10804   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8536  10805   
rust-version = "1.86.0"
 8537  10806   
readme = "README.md"
 8538  10807   
[package.metadata.smithy]
 8539  10808   
codegen-version = "ci"
 8540  10809   
[package.metadata.docs.rs]
 8541  10810   
all-features = true
 8542  10811   
targets = ["x86_64-unknown-linux-gnu"]
 8543  10812   
[dependencies.aws-credential-types]
 8544  10813   
path = "../aws-credential-types"
 8545  10814   
version = "1.2.4"
 8546  10815   
 8547  10816   
[dependencies.aws-runtime]
 8548  10817   
path = "../aws-runtime"
 8549  10818   
features = ["event-stream"]
 8550  10819   
version = "1.5.9"
 8551  10820   
 8552  10821   
[dependencies.aws-smithy-async]
 8553  10822   
path = "../aws-smithy-async"
 8554  10823   
version = "1.2.5"
 8555  10824   
 8556  10825   
[dependencies.aws-smithy-eventstream]
 8557  10826   
path = "../aws-smithy-eventstream"
 8558  10827   
version = "0.60.10"
 8559  10828   
 8560  10829   
[dependencies.aws-smithy-http]
 8561  10830   
path = "../aws-smithy-http"
 8562  10831   
features = ["event-stream"]
 8563         -
version = "0.62.2"
       10832  +
version = "0.62.3"
 8564  10833   
 8565  10834   
[dependencies.aws-smithy-json]
 8566  10835   
path = "../aws-smithy-json"
 8567  10836   
version = "0.61.4"
 8568  10837   
 8569  10838   
[dependencies.aws-smithy-runtime]
 8570  10839   
path = "../aws-smithy-runtime"
 8571  10840   
features = ["client"]
 8572  10841   
version = "1.8.5"
 8573  10842   
 8574  10843   
[dependencies.aws-smithy-runtime-api]
 8575  10844   
path = "../aws-smithy-runtime-api"
 8576  10845   
features = ["client", "http-02x"]
 8577  10846   
version = "1.8.5"
 8578  10847   
 8579  10848   
[dependencies.aws-smithy-types]
 8580  10849   
path = "../aws-smithy-types"
 8581  10850   
version = "1.3.2"
 8582  10851   
 8583  10852   
[dependencies.aws-types]
 8584  10853   
path = "../aws-types"
 8585  10854   
version = "1.3.8"
 8586  10855   
 8587  10856   
[dependencies.bytes]
 8588  10857   
version = "1.4.0"
 8589  10858   
 8590  10859   
[dependencies.fastrand]
 8591  10860   
version = "2.0.0"
 8592  10861   
 8593  10862   
[dependencies.http]
 8594  10863   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 8595  10864   
index dabb0e0..34cbc15 100644
 8596         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
       10865  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 8597  10866   
@@ -1,65 +1,65 @@
 8598  10867   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8599  10868   
[package]
 8600  10869   
name = "aws-sdk-polly"
 8601  10870   
version = "0.0.0-local"
 8602  10871   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8603  10872   
description = "AWS SDK for Amazon Polly"
 8604  10873   
edition = "2021"
 8605  10874   
license = "Apache-2.0"
 8606  10875   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8607  10876   
rust-version = "1.86.0"
 8608  10877   
readme = "README.md"
 8609  10878   
[package.metadata.smithy]
 8610  10879   
codegen-version = "ci"
 8611  10880   
[package.metadata.docs.rs]
 8612  10881   
all-features = true
 8613  10882   
targets = ["x86_64-unknown-linux-gnu"]
 8614  10883   
[dependencies.aws-credential-types]
 8615  10884   
path = "../aws-credential-types"
 8616  10885   
version = "1.2.4"
 8617  10886   
 8618  10887   
[dependencies.aws-runtime]
 8619  10888   
path = "../aws-runtime"
 8620  10889   
version = "1.5.9"
 8621  10890   
 8622  10891   
[dependencies.aws-sigv4]
 8623  10892   
path = "../aws-sigv4"
 8624         -
version = "1.3.3"
       10893  +
version = "1.3.4"
 8625  10894   
 8626  10895   
[dependencies.aws-smithy-async]
 8627  10896   
path = "../aws-smithy-async"
 8628  10897   
version = "1.2.5"
 8629  10898   
 8630  10899   
[dependencies.aws-smithy-http]
 8631  10900   
path = "../aws-smithy-http"
 8632         -
version = "0.62.2"
       10901  +
version = "0.62.3"
 8633  10902   
 8634  10903   
[dependencies.aws-smithy-json]
 8635  10904   
path = "../aws-smithy-json"
 8636  10905   
version = "0.61.4"
 8637  10906   
 8638  10907   
[dependencies.aws-smithy-runtime]
 8639  10908   
path = "../aws-smithy-runtime"
 8640  10909   
features = ["client"]
 8641  10910   
version = "1.8.5"
 8642  10911   
 8643  10912   
[dependencies.aws-smithy-runtime-api]
 8644  10913   
path = "../aws-smithy-runtime-api"
 8645  10914   
features = ["client", "http-02x"]
 8646  10915   
version = "1.8.5"
 8647  10916   
 8648  10917   
[dependencies.aws-smithy-types]
 8649  10918   
path = "../aws-smithy-types"
 8650  10919   
version = "1.3.2"
 8651  10920   
 8652  10921   
[dependencies.aws-types]
 8653  10922   
path = "../aws-types"
 8654  10923   
version = "1.3.8"
 8655  10924   
 8656  10925   
[dependencies.bytes]
 8657  10926   
version = "1.4.0"
 8658  10927   
 8659  10928   
[dependencies.fastrand]
 8660  10929   
version = "2.0.0"
 8661  10930   
 8662  10931   
[dependencies.http]
 8663  10932   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 8664  10933   
index a884716..f3d8713 100644
 8665         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
       10934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 8666  10935   
@@ -1,61 +1,61 @@
 8667  10936   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8668  10937   
[package]
 8669  10938   
name = "aws-sdk-qldbsession"
 8670  10939   
version = "0.0.0-local"
 8671  10940   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8672  10941   
description = "AWS SDK for Amazon QLDB Session"
 8673  10942   
edition = "2021"
 8674  10943   
license = "Apache-2.0"
 8675  10944   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8676  10945   
rust-version = "1.86.0"
 8677  10946   
readme = "README.md"
 8678  10947   
[package.metadata.smithy]
 8679  10948   
codegen-version = "ci"
 8680  10949   
[package.metadata.docs.rs]
 8681  10950   
all-features = true
 8682  10951   
targets = ["x86_64-unknown-linux-gnu"]
 8683  10952   
[dependencies.aws-credential-types]
 8684  10953   
path = "../aws-credential-types"
 8685  10954   
version = "1.2.4"
 8686  10955   
 8687  10956   
[dependencies.aws-runtime]
 8688  10957   
path = "../aws-runtime"
 8689  10958   
version = "1.5.9"
 8690  10959   
 8691  10960   
[dependencies.aws-smithy-async]
 8692  10961   
path = "../aws-smithy-async"
 8693  10962   
version = "1.2.5"
 8694  10963   
 8695  10964   
[dependencies.aws-smithy-http]
 8696  10965   
path = "../aws-smithy-http"
 8697         -
version = "0.62.2"
       10966  +
version = "0.62.3"
 8698  10967   
 8699  10968   
[dependencies.aws-smithy-json]
 8700  10969   
path = "../aws-smithy-json"
 8701  10970   
version = "0.61.4"
 8702  10971   
 8703  10972   
[dependencies.aws-smithy-runtime]
 8704  10973   
path = "../aws-smithy-runtime"
 8705  10974   
features = ["client"]
 8706  10975   
version = "1.8.5"
 8707  10976   
 8708  10977   
[dependencies.aws-smithy-runtime-api]
 8709  10978   
path = "../aws-smithy-runtime-api"
 8710  10979   
features = ["client", "http-02x"]
 8711  10980   
version = "1.8.5"
 8712  10981   
 8713  10982   
[dependencies.aws-smithy-types]
 8714  10983   
path = "../aws-smithy-types"
 8715  10984   
version = "1.3.2"
 8716  10985   
 8717  10986   
[dependencies.aws-types]
 8718  10987   
path = "../aws-types"
 8719  10988   
version = "1.3.8"
 8720  10989   
 8721  10990   
[dependencies.bytes]
 8722  10991   
version = "1.4.0"
 8723  10992   
 8724  10993   
[dependencies.fastrand]
 8725  10994   
version = "2.0.0"
 8726  10995   
 8727  10996   
[dependencies.http]
 8728  10997   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 8729  10998   
index 32a7dc9..a2c752d 100644
 8730         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
       10999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 8731  11000   
@@ -1,61 +1,61 @@
 8732  11001   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8733  11002   
[package]
 8734  11003   
name = "aws-sdk-route53"
 8735  11004   
version = "0.0.0-local"
 8736  11005   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8737  11006   
description = "AWS SDK for Amazon Route 53"
 8738  11007   
edition = "2021"
 8739  11008   
license = "Apache-2.0"
 8740  11009   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8741  11010   
rust-version = "1.86.0"
 8742  11011   
readme = "README.md"
 8743  11012   
[package.metadata.smithy]
 8744  11013   
codegen-version = "ci"
 8745  11014   
[package.metadata.docs.rs]
 8746  11015   
all-features = true
 8747  11016   
targets = ["x86_64-unknown-linux-gnu"]
 8748  11017   
[dependencies.aws-credential-types]
 8749  11018   
path = "../aws-credential-types"
 8750  11019   
version = "1.2.4"
 8751  11020   
 8752  11021   
[dependencies.aws-runtime]
 8753  11022   
path = "../aws-runtime"
 8754  11023   
version = "1.5.9"
 8755  11024   
 8756  11025   
[dependencies.aws-smithy-async]
 8757  11026   
path = "../aws-smithy-async"
 8758  11027   
version = "1.2.5"
 8759  11028   
 8760  11029   
[dependencies.aws-smithy-http]
 8761  11030   
path = "../aws-smithy-http"
 8762         -
version = "0.62.2"
       11031  +
version = "0.62.3"
 8763  11032   
 8764  11033   
[dependencies.aws-smithy-json]
 8765  11034   
path = "../aws-smithy-json"
 8766  11035   
version = "0.61.4"
 8767  11036   
 8768  11037   
[dependencies.aws-smithy-runtime]
 8769  11038   
path = "../aws-smithy-runtime"
 8770  11039   
features = ["client"]
 8771  11040   
version = "1.8.5"
 8772  11041   
 8773  11042   
[dependencies.aws-smithy-runtime-api]
 8774  11043   
path = "../aws-smithy-runtime-api"
 8775  11044   
features = ["client", "http-02x"]
 8776  11045   
version = "1.8.5"
 8777  11046   
 8778  11047   
[dependencies.aws-smithy-types]
 8779  11048   
path = "../aws-smithy-types"
 8780  11049   
version = "1.3.2"
 8781  11050   
 8782  11051   
[dependencies.aws-smithy-xml]
 8783  11052   
path = "../aws-smithy-xml"
 8784  11053   
version = "0.60.10"
 8785  11054   
 8786  11055   
[dependencies.aws-types]
 8787  11056   
path = "../aws-types"
 8788  11057   
version = "1.3.8"
 8789  11058   
 8790  11059   
[dependencies.fastrand]
 8791  11060   
version = "2.0.0"
 8792  11061   
 8793  11062   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 8794  11063   
index f65e261..2f6bec0 100644
 8795         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
       11064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 8796  11065   
@@ -1,75 +1,75 @@
 8797  11066   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8798  11067   
[package]
 8799  11068   
name = "aws-sdk-s3"
 8800  11069   
version = "0.0.0-local"
 8801  11070   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8802  11071   
description = "AWS SDK for Amazon Simple Storage Service"
 8803  11072   
edition = "2021"
 8804  11073   
license = "Apache-2.0"
 8805  11074   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8806  11075   
rust-version = "1.86.0"
 8807  11076   
readme = "README.md"
 8808  11077   
[package.metadata.smithy]
 8809  11078   
codegen-version = "ci"
 8810  11079   
[package.metadata.docs.rs]
 8811  11080   
all-features = true
 8812  11081   
targets = ["x86_64-unknown-linux-gnu"]
 8813  11082   
[dependencies.aws-credential-types]
 8814  11083   
path = "../aws-credential-types"
 8815  11084   
version = "1.2.4"
 8816  11085   
 8817  11086   
[dependencies.aws-runtime]
 8818  11087   
path = "../aws-runtime"
 8819  11088   
features = ["event-stream", "http-02x"]
 8820  11089   
version = "1.5.9"
 8821  11090   
 8822  11091   
[dependencies.aws-sigv4]
 8823  11092   
path = "../aws-sigv4"
 8824         -
version = "1.3.3"
       11093  +
version = "1.3.4"
 8825  11094   
 8826  11095   
[dependencies.aws-smithy-async]
 8827  11096   
path = "../aws-smithy-async"
 8828  11097   
version = "1.2.5"
 8829  11098   
 8830  11099   
[dependencies.aws-smithy-checksums]
 8831  11100   
path = "../aws-smithy-checksums"
 8832  11101   
version = "0.63.5"
 8833  11102   
 8834  11103   
[dependencies.aws-smithy-eventstream]
 8835  11104   
path = "../aws-smithy-eventstream"
 8836  11105   
version = "0.60.10"
 8837  11106   
 8838  11107   
[dependencies.aws-smithy-http]
 8839  11108   
path = "../aws-smithy-http"
 8840  11109   
features = ["event-stream"]
 8841         -
version = "0.62.2"
       11110  +
version = "0.62.3"
 8842  11111   
 8843  11112   
[dependencies.aws-smithy-json]
 8844  11113   
path = "../aws-smithy-json"
 8845  11114   
version = "0.61.4"
 8846  11115   
 8847  11116   
[dependencies.aws-smithy-runtime]
 8848  11117   
path = "../aws-smithy-runtime"
 8849  11118   
features = ["client"]
 8850  11119   
version = "1.8.5"
 8851  11120   
 8852  11121   
[dependencies.aws-smithy-runtime-api]
 8853  11122   
path = "../aws-smithy-runtime-api"
 8854  11123   
features = ["client", "http-02x"]
 8855  11124   
version = "1.8.5"
 8856  11125   
 8857  11126   
[dependencies.aws-smithy-types]
 8858  11127   
path = "../aws-smithy-types"
 8859  11128   
version = "1.3.2"
 8860  11129   
 8861  11130   
[dependencies.aws-smithy-xml]
 8862  11131   
path = "../aws-smithy-xml"
 8863  11132   
version = "0.60.10"
 8864  11133   
 8865  11134   
[dependencies.aws-types]
 8866  11135   
path = "../aws-types"
 8867  11136   
version = "1.3.8"
 8868  11137   
 8869  11138   
[dependencies.bytes]
 8870  11139   
version = "1.4.0"
 8871  11140   
 8872  11141   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 8873  11142   
index b4d1cdd..861c0cc 100644
 8874         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       11143  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 8875  11144   
@@ -1,61 +1,61 @@
 8876  11145   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8877  11146   
[package]
 8878  11147   
name = "aws-sdk-s3control"
 8879  11148   
version = "0.0.0-local"
 8880  11149   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8881  11150   
description = "AWS SDK for AWS S3 Control"
 8882  11151   
edition = "2021"
 8883  11152   
license = "Apache-2.0"
 8884  11153   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8885  11154   
rust-version = "1.86.0"
 8886  11155   
readme = "README.md"
 8887  11156   
[package.metadata.smithy]
 8888  11157   
codegen-version = "ci"
 8889  11158   
[package.metadata.docs.rs]
 8890  11159   
all-features = true
 8891  11160   
targets = ["x86_64-unknown-linux-gnu"]
 8892  11161   
[dependencies.aws-credential-types]
 8893  11162   
path = "../aws-credential-types"
 8894  11163   
version = "1.2.4"
 8895  11164   
 8896  11165   
[dependencies.aws-runtime]
 8897  11166   
path = "../aws-runtime"
 8898  11167   
version = "1.5.9"
 8899  11168   
 8900  11169   
[dependencies.aws-smithy-async]
 8901  11170   
path = "../aws-smithy-async"
 8902  11171   
version = "1.2.5"
 8903  11172   
 8904  11173   
[dependencies.aws-smithy-http]
 8905  11174   
path = "../aws-smithy-http"
 8906         -
version = "0.62.2"
       11175  +
version = "0.62.3"
 8907  11176   
 8908  11177   
[dependencies.aws-smithy-json]
 8909  11178   
path = "../aws-smithy-json"
 8910  11179   
version = "0.61.4"
 8911  11180   
 8912  11181   
[dependencies.aws-smithy-runtime]
 8913  11182   
path = "../aws-smithy-runtime"
 8914  11183   
features = ["client"]
 8915  11184   
version = "1.8.5"
 8916  11185   
 8917  11186   
[dependencies.aws-smithy-runtime-api]
 8918  11187   
path = "../aws-smithy-runtime-api"
 8919  11188   
features = ["client", "http-02x"]
 8920  11189   
version = "1.8.5"
 8921  11190   
 8922  11191   
[dependencies.aws-smithy-types]
 8923  11192   
path = "../aws-smithy-types"
 8924  11193   
version = "1.3.2"
 8925  11194   
 8926  11195   
[dependencies.aws-smithy-xml]
 8927  11196   
path = "../aws-smithy-xml"
 8928  11197   
version = "0.60.10"
 8929  11198   
 8930  11199   
[dependencies.aws-types]
 8931  11200   
path = "../aws-types"
 8932  11201   
version = "1.3.8"
 8933  11202   
 8934  11203   
[dependencies.fastrand]
 8935  11204   
version = "2.0.0"
 8936  11205   
 8937  11206   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 8938  11207   
index 2cde182..fc367f4 100644
 8939         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       11208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 8940  11209   
@@ -1,61 +1,61 @@
 8941  11210   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8942  11211   
[package]
 8943  11212   
name = "aws-sdk-sso"
 8944  11213   
version = "0.0.0-local"
 8945  11214   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8946  11215   
description = "AWS SDK for AWS Single Sign-On"
 8947  11216   
edition = "2021"
 8948  11217   
license = "Apache-2.0"
 8949  11218   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8950  11219   
rust-version = "1.86.0"
 8951  11220   
readme = "README.md"
 8952  11221   
[package.metadata.smithy]
 8953  11222   
codegen-version = "ci"
 8954  11223   
[package.metadata.docs.rs]
 8955  11224   
all-features = true
 8956  11225   
targets = ["x86_64-unknown-linux-gnu"]
 8957  11226   
[dependencies.aws-credential-types]
 8958  11227   
path = "../aws-credential-types"
 8959  11228   
version = "1.2.4"
 8960  11229   
 8961  11230   
[dependencies.aws-runtime]
 8962  11231   
path = "../aws-runtime"
 8963  11232   
version = "1.5.9"
 8964  11233   
 8965  11234   
[dependencies.aws-smithy-async]
 8966  11235   
path = "../aws-smithy-async"
 8967  11236   
version = "1.2.5"
 8968  11237   
 8969  11238   
[dependencies.aws-smithy-http]
 8970  11239   
path = "../aws-smithy-http"
 8971         -
version = "0.62.2"
       11240  +
version = "0.62.3"
 8972  11241   
 8973  11242   
[dependencies.aws-smithy-json]
 8974  11243   
path = "../aws-smithy-json"
 8975  11244   
version = "0.61.4"
 8976  11245   
 8977  11246   
[dependencies.aws-smithy-runtime]
 8978  11247   
path = "../aws-smithy-runtime"
 8979  11248   
features = ["client"]
 8980  11249   
version = "1.8.5"
 8981  11250   
 8982  11251   
[dependencies.aws-smithy-runtime-api]
 8983  11252   
path = "../aws-smithy-runtime-api"
 8984  11253   
features = ["client", "http-02x"]
 8985  11254   
version = "1.8.5"
 8986  11255   
 8987  11256   
[dependencies.aws-smithy-types]
 8988  11257   
path = "../aws-smithy-types"
 8989  11258   
version = "1.3.2"
 8990  11259   
 8991  11260   
[dependencies.aws-types]
 8992  11261   
path = "../aws-types"
 8993  11262   
version = "1.3.8"
 8994  11263   
 8995  11264   
[dependencies.bytes]
 8996  11265   
version = "1.4.0"
 8997  11266   
 8998  11267   
[dependencies.fastrand]
 8999  11268   
version = "2.0.0"
 9000  11269   
 9001  11270   
[dependencies.http]
 9002  11271   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 9003  11272   
index 7a34c16..588d0bd 100644
 9004         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       11273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 9005  11274   
@@ -1,61 +1,61 @@
 9006  11275   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9007  11276   
[package]
 9008  11277   
name = "aws-sdk-ssooidc"
 9009  11278   
version = "0.0.0-local"
 9010  11279   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9011  11280   
description = "AWS SDK for AWS SSO OIDC"
 9012  11281   
edition = "2021"
 9013  11282   
license = "Apache-2.0"
 9014  11283   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9015  11284   
rust-version = "1.86.0"
 9016  11285   
readme = "README.md"
 9017  11286   
[package.metadata.smithy]
 9018  11287   
codegen-version = "ci"
 9019  11288   
[package.metadata.docs.rs]
 9020  11289   
all-features = true
 9021  11290   
targets = ["x86_64-unknown-linux-gnu"]
 9022  11291   
[dependencies.aws-credential-types]
 9023  11292   
path = "../aws-credential-types"
 9024  11293   
version = "1.2.4"
 9025  11294   
 9026  11295   
[dependencies.aws-runtime]
 9027  11296   
path = "../aws-runtime"
 9028  11297   
version = "1.5.9"
 9029  11298   
 9030  11299   
[dependencies.aws-smithy-async]
 9031  11300   
path = "../aws-smithy-async"
 9032  11301   
version = "1.2.5"
 9033  11302   
 9034  11303   
[dependencies.aws-smithy-http]
 9035  11304   
path = "../aws-smithy-http"
 9036         -
version = "0.62.2"
       11305  +
version = "0.62.3"
 9037  11306   
 9038  11307   
[dependencies.aws-smithy-json]
 9039  11308   
path = "../aws-smithy-json"
 9040  11309   
version = "0.61.4"
 9041  11310   
 9042  11311   
[dependencies.aws-smithy-runtime]
 9043  11312   
path = "../aws-smithy-runtime"
 9044  11313   
features = ["client"]
 9045  11314   
version = "1.8.5"
 9046  11315   
 9047  11316   
[dependencies.aws-smithy-runtime-api]
 9048  11317   
path = "../aws-smithy-runtime-api"
 9049  11318   
features = ["client", "http-02x"]
 9050  11319   
version = "1.8.5"
 9051  11320   
 9052  11321   
[dependencies.aws-smithy-types]
 9053  11322   
path = "../aws-smithy-types"
 9054  11323   
version = "1.3.2"
 9055  11324   
 9056  11325   
[dependencies.aws-types]
 9057  11326   
path = "../aws-types"
 9058  11327   
version = "1.3.8"
 9059  11328   
 9060  11329   
[dependencies.bytes]
 9061  11330   
version = "1.4.0"
 9062  11331   
 9063  11332   
[dependencies.fastrand]
 9064  11333   
version = "2.0.0"
 9065  11334   
 9066  11335   
[dependencies.http]
 9067  11336   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 9068  11337   
index 895dfb3..f2ce34e 100644
 9069         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       11338  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 9070  11339   
@@ -1,61 +1,61 @@
 9071  11340   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9072  11341   
[package]
 9073  11342   
name = "aws-sdk-sts"
 9074  11343   
version = "0.0.0-local"
 9075  11344   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9076  11345   
description = "AWS SDK for AWS Security Token Service"
 9077  11346   
edition = "2021"
 9078  11347   
license = "Apache-2.0"
 9079  11348   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9080  11349   
rust-version = "1.86.0"
 9081  11350   
readme = "README.md"
 9082  11351   
[package.metadata.smithy]
 9083  11352   
codegen-version = "ci"
 9084  11353   
[package.metadata.docs.rs]
 9085  11354   
all-features = true
 9086  11355   
targets = ["x86_64-unknown-linux-gnu"]
 9087  11356   
[dependencies.aws-credential-types]
 9088  11357   
path = "../aws-credential-types"
 9089  11358   
version = "1.2.4"
 9090  11359   
 9091  11360   
[dependencies.aws-runtime]
 9092  11361   
path = "../aws-runtime"
 9093  11362   
version = "1.5.9"
 9094  11363   
 9095  11364   
[dependencies.aws-smithy-async]
 9096  11365   
path = "../aws-smithy-async"
 9097  11366   
version = "1.2.5"
 9098  11367   
 9099  11368   
[dependencies.aws-smithy-http]
 9100  11369   
path = "../aws-smithy-http"
 9101         -
version = "0.62.2"
       11370  +
version = "0.62.3"
 9102  11371   
 9103  11372   
[dependencies.aws-smithy-json]
 9104  11373   
path = "../aws-smithy-json"
 9105  11374   
version = "0.61.4"
 9106  11375   
 9107  11376   
[dependencies.aws-smithy-query]
 9108  11377   
path = "../aws-smithy-query"
 9109  11378   
version = "0.60.7"
 9110  11379   
 9111  11380   
[dependencies.aws-smithy-runtime]
 9112  11381   
path = "../aws-smithy-runtime"
 9113  11382   
features = ["client"]
 9114  11383   
version = "1.8.5"
 9115  11384   
 9116  11385   
[dependencies.aws-smithy-runtime-api]
 9117  11386   
path = "../aws-smithy-runtime-api"
 9118  11387   
features = ["client", "http-02x"]
 9119  11388   
version = "1.8.5"
 9120  11389   
 9121  11390   
[dependencies.aws-smithy-types]
 9122  11391   
path = "../aws-smithy-types"
 9123  11392   
version = "1.3.2"
 9124  11393   
 9125  11394   
[dependencies.aws-smithy-xml]
 9126  11395   
path = "../aws-smithy-xml"
 9127  11396   
version = "0.60.10"
 9128  11397   
 9129  11398   
[dependencies.aws-types]
 9130  11399   
path = "../aws-types"
 9131  11400   
version = "1.3.8"
 9132  11401   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 9133  11402   
index d556561..91178b6 100644
 9134         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       11403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 9135  11404   
@@ -1,61 +1,61 @@
 9136  11405   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9137  11406   
[package]
 9138  11407   
name = "aws-sdk-timestreamquery"
 9139  11408   
version = "0.0.0-local"
 9140  11409   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9141  11410   
description = "AWS SDK for Amazon Timestream Query"
 9142  11411   
edition = "2021"
 9143  11412   
license = "Apache-2.0"
 9144  11413   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9145  11414   
rust-version = "1.86.0"
 9146  11415   
readme = "README.md"
 9147  11416   
[package.metadata.smithy]
 9148  11417   
codegen-version = "ci"
 9149  11418   
[package.metadata.docs.rs]
 9150  11419   
all-features = true
 9151  11420   
targets = ["x86_64-unknown-linux-gnu"]
 9152  11421   
[dependencies.aws-credential-types]
 9153  11422   
path = "../aws-credential-types"
 9154  11423   
version = "1.2.4"
 9155  11424   
 9156  11425   
[dependencies.aws-runtime]
 9157  11426   
path = "../aws-runtime"
 9158  11427   
version = "1.5.9"
 9159  11428   
 9160  11429   
[dependencies.aws-smithy-async]
 9161  11430   
path = "../aws-smithy-async"
 9162  11431   
version = "1.2.5"
 9163  11432   
 9164  11433   
[dependencies.aws-smithy-http]
 9165  11434   
path = "../aws-smithy-http"
 9166         -
version = "0.62.2"
       11435  +
version = "0.62.3"
 9167  11436   
 9168  11437   
[dependencies.aws-smithy-json]
 9169  11438   
path = "../aws-smithy-json"
 9170  11439   
version = "0.61.4"
 9171  11440   
 9172  11441   
[dependencies.aws-smithy-runtime]
 9173  11442   
path = "../aws-smithy-runtime"
 9174  11443   
features = ["client"]
 9175  11444   
version = "1.8.5"
 9176  11445   
 9177  11446   
[dependencies.aws-smithy-runtime-api]
 9178  11447   
path = "../aws-smithy-runtime-api"
 9179  11448   
features = ["client", "http-02x"]
 9180  11449   
version = "1.8.5"
 9181  11450   
 9182  11451   
[dependencies.aws-smithy-types]
 9183  11452   
path = "../aws-smithy-types"
 9184  11453   
version = "1.3.2"
 9185  11454   
 9186  11455   
[dependencies.aws-types]
 9187  11456   
path = "../aws-types"
 9188  11457   
version = "1.3.8"
 9189  11458   
 9190  11459   
[dependencies.bytes]
 9191  11460   
version = "1.4.0"
 9192  11461   
 9193  11462   
[dependencies.fastrand]
 9194  11463   
version = "2.0.0"
 9195  11464   
 9196  11465   
[dependencies.http]
 9197  11466   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 9198  11467   
index 0c56e4c..95731e3 100644
 9199         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       11468  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 9200  11469   
@@ -1,61 +1,61 @@
 9201  11470   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9202  11471   
[package]
 9203  11472   
name = "aws-sdk-timestreamwrite"
 9204  11473   
version = "0.0.0-local"
 9205  11474   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9206  11475   
description = "AWS SDK for Amazon Timestream Write"
 9207  11476   
edition = "2021"
 9208  11477   
license = "Apache-2.0"
 9209  11478   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9210  11479   
rust-version = "1.86.0"
 9211  11480   
readme = "README.md"
 9212  11481   
[package.metadata.smithy]
 9213  11482   
codegen-version = "ci"
 9214  11483   
[package.metadata.docs.rs]
 9215  11484   
all-features = true
 9216  11485   
targets = ["x86_64-unknown-linux-gnu"]
 9217  11486   
[dependencies.aws-credential-types]
 9218  11487   
path = "../aws-credential-types"
 9219  11488   
version = "1.2.4"
 9220  11489   
 9221  11490   
[dependencies.aws-runtime]
 9222  11491   
path = "../aws-runtime"
 9223  11492   
version = "1.5.9"
 9224  11493   
 9225  11494   
[dependencies.aws-smithy-async]
 9226  11495   
path = "../aws-smithy-async"
 9227  11496   
version = "1.2.5"
 9228  11497   
 9229  11498   
[dependencies.aws-smithy-http]
 9230  11499   
path = "../aws-smithy-http"
 9231         -
version = "0.62.2"
       11500  +
version = "0.62.3"
 9232  11501   
 9233  11502   
[dependencies.aws-smithy-json]
 9234  11503   
path = "../aws-smithy-json"
 9235  11504   
version = "0.61.4"
 9236  11505   
 9237  11506   
[dependencies.aws-smithy-runtime]
 9238  11507   
path = "../aws-smithy-runtime"
 9239  11508   
features = ["client"]
 9240  11509   
version = "1.8.5"
 9241  11510   
 9242  11511   
[dependencies.aws-smithy-runtime-api]
 9243  11512   
path = "../aws-smithy-runtime-api"
 9244  11513   
features = ["client", "http-02x"]
 9245  11514   
version = "1.8.5"
 9246  11515   
 9247  11516   
[dependencies.aws-smithy-types]
 9248  11517   
path = "../aws-smithy-types"
 9249  11518   
version = "1.3.2"
 9250  11519   
 9251  11520   
[dependencies.aws-types]
 9252  11521   
path = "../aws-types"
 9253  11522   
version = "1.3.8"
 9254  11523   
 9255  11524   
[dependencies.bytes]
 9256  11525   
version = "1.4.0"
 9257  11526   
 9258  11527   
[dependencies.fastrand]
 9259  11528   
version = "2.0.0"
 9260  11529   
 9261  11530   
[dependencies.http]
 9262  11531   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 9263  11532   
index 5b35037..9fb220a 100644
 9264         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       11533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 9265  11534   
@@ -1,71 +1,71 @@
 9266  11535   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9267  11536   
[package]
 9268  11537   
name = "aws-sdk-transcribestreaming"
 9269  11538   
version = "0.0.0-local"
 9270  11539   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9271  11540   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 9272  11541   
edition = "2021"
 9273  11542   
license = "Apache-2.0"
 9274  11543   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9275  11544   
rust-version = "1.86.0"
 9276  11545   
readme = "README.md"
 9277  11546   
[package.metadata.smithy]
 9278  11547   
codegen-version = "ci"
 9279  11548   
[package.metadata.docs.rs]
 9280  11549   
all-features = true
 9281  11550   
targets = ["x86_64-unknown-linux-gnu"]
 9282  11551   
[dependencies.aws-credential-types]
 9283  11552   
path = "../aws-credential-types"
 9284  11553   
version = "1.2.4"
 9285  11554   
 9286  11555   
[dependencies.aws-runtime]
 9287  11556   
path = "../aws-runtime"
 9288  11557   
features = ["event-stream"]
 9289  11558   
version = "1.5.9"
 9290  11559   
 9291  11560   
[dependencies.aws-sigv4]
 9292  11561   
path = "../aws-sigv4"
 9293         -
version = "1.3.3"
       11562  +
version = "1.3.4"
 9294  11563   
 9295  11564   
[dependencies.aws-smithy-async]
 9296  11565   
path = "../aws-smithy-async"
 9297  11566   
version = "1.2.5"
 9298  11567   
 9299  11568   
[dependencies.aws-smithy-eventstream]
 9300  11569   
path = "../aws-smithy-eventstream"
 9301  11570   
version = "0.60.10"
 9302  11571   
 9303  11572   
[dependencies.aws-smithy-http]
 9304  11573   
path = "../aws-smithy-http"
 9305  11574   
features = ["event-stream"]
 9306         -
version = "0.62.2"
       11575  +
version = "0.62.3"
 9307  11576   
 9308  11577   
[dependencies.aws-smithy-json]
 9309  11578   
path = "../aws-smithy-json"
 9310  11579   
version = "0.61.4"
 9311  11580   
 9312  11581   
[dependencies.aws-smithy-runtime]
 9313  11582   
path = "../aws-smithy-runtime"
 9314  11583   
features = ["client"]
 9315  11584   
version = "1.8.5"
 9316  11585