AWS SDK

AWS SDK

rev. 628eeeeeed390f5efdbfe607c18848c033debd3e (ignoring whitespace)

Files changed:

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-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 +8239,10508 @@
    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    380   
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
 1003    381   
similarity index 100%
 1004    382   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
 1005    383   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
 1006    384   
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
 1007    385   
new file mode 100644
 1008    386   
index 0000000..7fc5d7a
 1009         -
-- /dev/null
         387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
 1010    388   
@@ -0,0 +1 @@
         389  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
 1011    390   
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
 1012    391   
new file mode 100644
 1013    392   
index 0000000..36a1205
 1014         -
-- /dev/null
         393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
 1015    394   
@@ -0,0 +1,8 @@
         395  +
GET / HTTP/1.1
         396  +
Host:example.amazonaws.com
         397  +
My-Header1:value2
         398  +
My-Header1:value2
         399  +
My-Header1:value1
         400  +
X-Amz-Date:20150830T123600Z
         401  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         402  +
 1016    403   
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
 1017    404   
similarity index 100%
 1018    405   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
 1019    406   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
 1020    407   
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
 1021    408   
new file mode 100644
 1022    409   
index 0000000..f9f4190
 1023         -
-- /dev/null
         410  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
 1024    411   
@@ -0,0 +1,8 @@
         412  +
GET
         413  +
/
         414  +
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
         415  +
host:example.amazonaws.com
         416  +
my-header1:value2,value2,value1
         417  +
         418  +
host;my-header1
         419  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1025    420   
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
 1026    421   
new file mode 100644
 1027    422   
index 0000000..5d0d87f
 1028         -
-- /dev/null
         423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
 1029    424   
@@ -0,0 +1 @@
         425  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
 1030    426   
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
 1031    427   
new file mode 100644
 1032    428   
index 0000000..c1dfcf4
 1033         -
-- /dev/null
         429  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1034    430   
@@ -0,0 +1,6 @@
         431  +
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
         432  +
Host:example.amazonaws.com
         433  +
My-Header1:value2
         434  +
My-Header1:value2
         435  +
My-Header1:value1
         436  +
 1035    437   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1036    438   
similarity index 53%
 1037    439   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
 1038    440   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1039    441   
index 0a3350a..077c1bb 100644
 1040         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1041    443   
@@ -1,4 +1,4 @@
 1042    444   
AWS4-HMAC-SHA256
 1043    445   
20150830T123600Z
 1044    446   
20150830/us-east-1/service/aws4_request
 1045         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         447  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1046    448   
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
 1047    449   
similarity index 100%
 1048    450   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1049    451   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1050    452   
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
 1051    453   
similarity index 99%
 1052    454   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1053    455   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1054    456   
index 45771c7..0468d80 100644
 1055    457   
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
 1056    458   
similarity index 82%
 1057    459   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1058    460   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1059    461   
index 721a39f..8cb5476 100644
 1060         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         462  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1061    463   
@@ -1,9 +1,9 @@
 1062    464   
GET
 1063    465   
/
 1064    466   
 1065    467   
host:example.amazonaws.com
 1066         -
my-header1:value1,value2,value3
         468  +
my-header1:value1 value2 value3
 1067    469   
x-amz-date:20150830T123600Z
 1068    470   
 1069    471   
host;my-header1;x-amz-date
 1070    472   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1071    473   
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
 1072    474   
new file mode 100644
 1073    475   
index 0000000..e6ff7a9
 1074         -
-- /dev/null
         476  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1075    477   
@@ -0,0 +1 @@
         478  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1076    479   
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
 1077    480   
new file mode 100644
 1078    481   
index 0000000..b5ef6a0
 1079         -
-- /dev/null
         482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1080    483   
@@ -0,0 +1,8 @@
         484  +
GET / HTTP/1.1
         485  +
Host:example.amazonaws.com
         486  +
My-Header1:value1
         487  +
  value2
         488  +
     value3
         489  +
X-Amz-Date:20150830T123600Z
         490  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         491  +
 1081    492   
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
 1082    493   
similarity index 53%
 1083    494   
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
 1084    495   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1085    496   
index fd43a41..97c7430 100644
 1086         -
-- 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
         497  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1087    498   
@@ -1,4 +1,4 @@
 1088    499   
AWS4-HMAC-SHA256
 1089    500   
20150830T123600Z
 1090    501   
20150830/us-east-1/service/aws4_request
 1091         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         502  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1092    503   
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
 1093    504   
new file mode 100644
 1094    505   
index 0000000..aac46de
 1095         -
-- /dev/null
         506  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1096    507   
@@ -0,0 +1,8 @@
         508  +
GET
         509  +
/
         510  +
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
         511  +
host:example.amazonaws.com
         512  +
my-header1:value1 value2 value3
         513  +
         514  +
host;my-header1
         515  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1097    516   
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
 1098    517   
new file mode 100644
 1099    518   
index 0000000..205732d
 1100         -
-- /dev/null
         519  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1101    520   
@@ -0,0 +1 @@
         521  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1102    522   
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
 1103    523   
new file mode 100644
 1104    524   
index 0000000..a891b87
 1105         -
-- /dev/null
         525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1106    526   
@@ -0,0 +1,6 @@
         527  +
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
         528  +
Host:example.amazonaws.com
         529  +
My-Header1:value1
         530  +
  value2
         531  +
     value3
         532  +
 1107    533   
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
 1108    534   
similarity index 53%
 1109    535   
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
 1110    536   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1111    537   
index 90e66b8..ec3fe45 100644
 1112         -
-- 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
         538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1113    539   
@@ -1,4 +1,4 @@
 1114    540   
AWS4-HMAC-SHA256
 1115    541   
20150830T123600Z
 1116    542   
20150830/us-east-1/service/aws4_request
 1117         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         543  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1118    544   
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
 1119    545   
similarity index 75%
 1120    546   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1121    547   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1122    548   
index 7caa6ac..b5026cd 100644
 1123         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1124    550   
@@ -1,6 +1,5 @@
 1125    551   
GET / HTTP/1.1
 1126    552   
Host:example.amazonaws.com
 1127    553   
My-Header1:value1
 1128    554   
  value2
 1129    555   
     value3
 1130         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1131    556   
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
 1132    557   
similarity index 99%
 1133    558   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1134    559   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1135    560   
index 45771c7..0468d80 100644
 1136    561   
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
 1137    562   
similarity index 100%
 1138    563   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1139    564   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1140    565   
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
 1141    566   
new file mode 100644
 1142    567   
index 0000000..8ef0494
 1143         -
-- /dev/null
         568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1144    569   
@@ -0,0 +1 @@
         570  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1145    571   
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
 1146    572   
new file mode 100644
 1147    573   
index 0000000..b786dc9
 1148         -
-- /dev/null
         574  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1149    575   
@@ -0,0 +1,9 @@
         576  +
GET / HTTP/1.1
         577  +
Host:example.amazonaws.com
         578  +
My-Header1:value4
         579  +
My-Header1:value1
         580  +
My-Header1:value3
         581  +
My-Header1:value2
         582  +
X-Amz-Date:20150830T123600Z
         583  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         584  +
 1150    585   
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
 1151    586   
similarity index 100%
 1152    587   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1153    588   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1154    589   
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
 1155    590   
new file mode 100644
 1156    591   
index 0000000..a211cc5
 1157         -
-- /dev/null
         592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1158    593   
@@ -0,0 +1,8 @@
         594  +
GET
         595  +
/
         596  +
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
         597  +
host:example.amazonaws.com
         598  +
my-header1:value4,value1,value3,value2
         599  +
         600  +
host;my-header1
         601  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1159    602   
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
 1160    603   
new file mode 100644
 1161    604   
index 0000000..417b0fa
 1162         -
-- /dev/null
         605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1163    606   
@@ -0,0 +1 @@
         607  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1164    608   
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
 1165    609   
new file mode 100644
 1166    610   
index 0000000..b615e5d
 1167         -
-- /dev/null
         611  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1168    612   
@@ -0,0 +1,7 @@
         613  +
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
         614  +
Host:example.amazonaws.com
         615  +
My-Header1:value4
         616  +
My-Header1:value1
         617  +
My-Header1:value3
         618  +
My-Header1:value2
         619  +
 1169    620   
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
 1170    621   
similarity index 53%
 1171    622   
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
 1172    623   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1173    624   
index f7e615e..dcaaa1b 100644
 1174         -
-- 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
         625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1175    626   
@@ -1,4 +1,4 @@
 1176    627   
AWS4-HMAC-SHA256
 1177    628   
20150830T123600Z
 1178    629   
20150830/us-east-1/service/aws4_request
 1179         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         630  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1180    631   
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
 1181    632   
similarity index 100%
 1182    633   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1183    634   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1184    635   
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
 1185    636   
similarity index 99%
 1186    637   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1187    638   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1188    639   
index 45771c7..0468d80 100644
 1189    640   
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
 1190    641   
similarity index 100%
 1191    642   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1192    643   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1193    644   
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
 1194    645   
new file mode 100644
 1195    646   
index 0000000..36081a9
 1196         -
-- /dev/null
         647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1197    648   
@@ -0,0 +1 @@
         649  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1198    650   
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
 1199    651   
new file mode 100644
 1200    652   
index 0000000..6331d16
 1201         -
-- /dev/null
         653  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1202    654   
@@ -0,0 +1,7 @@
         655  +
GET / HTTP/1.1
         656  +
Host:example.amazonaws.com
         657  +
My-Header1: value1
         658  +
My-Header2: "a   b   c"
         659  +
X-Amz-Date:20150830T123600Z
         660  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         661  +
 1203    662   
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
 1204    663   
similarity index 100%
 1205    664   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1206    665   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1207    666   
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
 1208    667   
new file mode 100644
 1209    668   
index 0000000..125c1f9
 1210         -
-- /dev/null
         669  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1211    670   
@@ -0,0 +1,9 @@
         671  +
GET
         672  +
/
         673  +
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
         674  +
host:example.amazonaws.com
         675  +
my-header1:value1
         676  +
my-header2:"a b c"
         677  +
         678  +
host;my-header1;my-header2
         679  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1212    680   
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
 1213    681   
new file mode 100644
 1214    682   
index 0000000..17007a8
 1215         -
-- /dev/null
         683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1216    684   
@@ -0,0 +1 @@
         685  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1217    686   
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
 1218    687   
new file mode 100644
 1219    688   
index 0000000..e519fd9
 1220         -
-- /dev/null
         689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1221    690   
@@ -0,0 +1,5 @@
         691  +
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
         692  +
Host:example.amazonaws.com
         693  +
My-Header1: value1
         694  +
My-Header2: "a   b   c"
         695  +
 1222    696   
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
 1223    697   
new file mode 100644
 1224    698   
index 0000000..6b4b781
 1225         -
-- /dev/null
         699  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1226    700   
@@ -0,0 +1,4 @@
         701  +
AWS4-HMAC-SHA256
         702  +
20150830T123600Z
         703  +
20150830/us-east-1/service/aws4_request
         704  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1227    705   
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
 1228    706   
similarity index 100%
 1229    707   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1230    708   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1231    709   
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
 1232    710   
new file mode 100644
 1233    711   
index 0000000..0468d80
 1234         -
-- /dev/null
         712  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1235    713   
@@ -0,0 +1,12 @@
         714  +
{
         715  +
    "credentials": {
         716  +
        "access_key_id": "AKIDEXAMPLE",
         717  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         718  +
    },
         719  +
    "expiration_in_seconds": 3600,
         720  +
    "normalize": true,
         721  +
    "region": "us-east-1",
         722  +
    "service": "service",
         723  +
    "sign_body": false,
         724  +
    "timestamp": "2015-08-30T12:36:00Z"
         725  +
}
              \
 No newline at end of file
 1236    726   
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
 1237    727   
similarity index 100%
 1238    728   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1239    729   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1240    730   
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
 1241    731   
new file mode 100644
 1242    732   
index 0000000..87f295f
 1243         -
-- /dev/null
         733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1244    734   
@@ -0,0 +1 @@
         735  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1245    736   
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
 1246    737   
new file mode 100644
 1247    738   
index 0000000..0de8327
 1248         -
-- /dev/null
         739  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1249    740   
@@ -0,0 +1,5 @@
         741  +
GET /example/.. HTTP/1.1
         742  +
Host:example.amazonaws.com
         743  +
X-Amz-Date:20150830T123600Z
         744  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         745  +
 1250    746   
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
 1251    747   
similarity index 100%
 1252    748   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1253    749   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1254    750   
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
 1255    751   
new file mode 100644
 1256    752   
index 0000000..fb2420d
 1257         -
-- /dev/null
         753  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1258    754   
@@ -0,0 +1,7 @@
         755  +
GET
         756  +
/
         757  +
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
         758  +
host:example.amazonaws.com
         759  +
         760  +
host
         761  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1259    762   
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
 1260    763   
new file mode 100644
 1261    764   
index 0000000..da5c905
 1262         -
-- /dev/null
         765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1263    766   
@@ -0,0 +1 @@
         767  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1264    768   
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
 1265    769   
new file mode 100644
 1266    770   
index 0000000..4329c98
 1267         -
-- /dev/null
         771  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1268    772   
@@ -0,0 +1,3 @@
         773  +
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
         774  +
Host:example.amazonaws.com
         775  +
 1269    776   
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
 1270    777   
new file mode 100644
 1271    778   
index 0000000..d837e67
 1272         -
-- /dev/null
         779  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1273    780   
@@ -0,0 +1,4 @@
         781  +
AWS4-HMAC-SHA256
         782  +
20150830T123600Z
         783  +
20150830/us-east-1/service/aws4_request
         784  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1274    785   
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
 1275    786   
similarity index 100%
 1276    787   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1277    788   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1278    789   
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
 1279    790   
new file mode 100644
 1280    791   
index 0000000..0468d80
 1281         -
-- /dev/null
         792  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1282    793   
@@ -0,0 +1,12 @@
         794  +
{
         795  +
    "credentials": {
         796  +
        "access_key_id": "AKIDEXAMPLE",
         797  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         798  +
    },
         799  +
    "expiration_in_seconds": 3600,
         800  +
    "normalize": true,
         801  +
    "region": "us-east-1",
         802  +
    "service": "service",
         803  +
    "sign_body": false,
         804  +
    "timestamp": "2015-08-30T12:36:00Z"
         805  +
}
              \
 No newline at end of file
 1283    806   
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
 1284    807   
similarity index 100%
 1285    808   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1286    809   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1287    810   
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
 1288    811   
new file mode 100644
 1289    812   
index 0000000..87f295f
 1290         -
-- /dev/null
         813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1291    814   
@@ -0,0 +1 @@
         815  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1292    816   
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
 1293    817   
new file mode 100644
 1294    818   
index 0000000..f9b3815
 1295         -
-- /dev/null
         819  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1296    820   
@@ -0,0 +1,5 @@
         821  +
GET /example1/example2/../.. HTTP/1.1
         822  +
Host:example.amazonaws.com
         823  +
X-Amz-Date:20150830T123600Z
         824  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         825  +
 1297    826   
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
 1298    827   
similarity index 100%
 1299    828   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1300    829   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1301    830   
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
 1302    831   
new file mode 100644
 1303    832   
index 0000000..fb2420d
 1304         -
-- /dev/null
         833  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1305    834   
@@ -0,0 +1,7 @@
         835  +
GET
         836  +
/
         837  +
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
         838  +
host:example.amazonaws.com
         839  +
         840  +
host
         841  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1306    842   
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
 1307    843   
new file mode 100644
 1308    844   
index 0000000..da5c905
 1309         -
-- /dev/null
         845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1310    846   
@@ -0,0 +1 @@
         847  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1311    848   
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
 1312    849   
new file mode 100644
 1313    850   
index 0000000..b2988b7
 1314         -
-- /dev/null
         851  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1315    852   
@@ -0,0 +1,3 @@
         853  +
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
         854  +
Host:example.amazonaws.com
         855  +
 1316    856   
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
 1317    857   
new file mode 100644
 1318    858   
index 0000000..d837e67
 1319         -
-- /dev/null
         859  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1320    860   
@@ -0,0 +1,4 @@
         861  +
AWS4-HMAC-SHA256
         862  +
20150830T123600Z
         863  +
20150830/us-east-1/service/aws4_request
         864  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1321    865   
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
 1322    866   
similarity index 100%
 1323    867   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1324    868   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1325    869   
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
 1326    870   
similarity index 99%
 1327    871   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1328    872   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1329    873   
index afe367b..7bee5c7 100644
 1330    874   
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
 1331    875   
similarity index 82%
 1332    876   
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
 1333    877   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1334    878   
index 36c3cdf..6919c44 100644
 1335         -
-- 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
         879  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1336    880   
@@ -1,8 +1,8 @@
 1337    881   
GET
 1338         -
/
 1339         -
Param1=Value1&Param1=value2
         882  +
/example1/example2/../..
         883  +
 1340    884   
host:example.amazonaws.com
 1341    885   
x-amz-date:20150830T123600Z
 1342    886   
 1343    887   
host;x-amz-date
 1344    888   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1345    889   
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
 1346    890   
new file mode 100644
 1347    891   
index 0000000..4092d83
 1348         -
-- /dev/null
         892  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1349    893   
@@ -0,0 +1 @@
         894  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1350    895   
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
 1351    896   
new file mode 100644
 1352    897   
index 0000000..e731b35
 1353         -
-- /dev/null
         898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1354    899   
@@ -0,0 +1,5 @@
         900  +
GET /example1/example2/../.. HTTP/1.1
         901  +
Host:example.amazonaws.com
         902  +
X-Amz-Date:20150830T123600Z
         903  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         904  +
 1355    905   
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
 1356    906   
new file mode 100644
 1357    907   
index 0000000..4f45752
 1358         -
-- /dev/null
         908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1359    909   
@@ -0,0 +1,4 @@
         910  +
AWS4-HMAC-SHA256
         911  +
20150830T123600Z
         912  +
20150830/us-east-1/service/aws4_request
         913  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1360    914   
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
 1361    915   
new file mode 100644
 1362    916   
index 0000000..e1fb07d
 1363         -
-- /dev/null
         917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1364    918   
@@ -0,0 +1,7 @@
         919  +
GET
         920  +
/example1/example2/../..
         921  +
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
         922  +
host:example.amazonaws.com
         923  +
         924  +
host
         925  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1365    926   
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
 1366    927   
new file mode 100644
 1367    928   
index 0000000..8ac31d7
 1368         -
-- /dev/null
         929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1369    930   
@@ -0,0 +1 @@
         931  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1370    932   
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
 1371    933   
new file mode 100644
 1372    934   
index 0000000..ac074f9
 1373         -
-- /dev/null
         935  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1374    936   
@@ -0,0 +1,3 @@
         937  +
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
         938  +
Host:example.amazonaws.com
         939  +
 1375    940   
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
 1376    941   
new file mode 100644
 1377    942   
index 0000000..8dcb6ff
 1378         -
-- /dev/null
         943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1379    944   
@@ -0,0 +1,4 @@
         945  +
AWS4-HMAC-SHA256
         946  +
20150830T123600Z
         947  +
20150830/us-east-1/service/aws4_request
         948  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1380    949   
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
 1381    950   
similarity index 100%
 1382    951   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1383    952   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1384    953   
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
 1385    954   
similarity index 99%
 1386    955   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1387    956   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1388    957   
index afe367b..7bee5c7 100644
 1389    958   
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
 1390    959   
similarity index 82%
 1391    960   
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
 1392    961   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1393    962   
index 26898eb..f640bc2 100644
 1394         -
-- 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
         963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1395    964   
@@ -1,8 +1,8 @@
 1396    965   
GET
 1397         -
/
 1398         -
Param1=value1&Param1=value2
         966  +
/example/..
         967  +
 1399    968   
host:example.amazonaws.com
 1400    969   
x-amz-date:20150830T123600Z
 1401    970   
 1402    971   
host;x-amz-date
 1403    972   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1404    973   
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
 1405    974   
new file mode 100644
 1406    975   
index 0000000..d957303
 1407         -
-- /dev/null
         976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1408    977   
@@ -0,0 +1 @@
         978  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1409    979   
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
 1410    980   
new file mode 100644
 1411    981   
index 0000000..4f42ffc
 1412         -
-- /dev/null
         982  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1413    983   
@@ -0,0 +1,5 @@
         984  +
GET /example/.. HTTP/1.1
         985  +
Host:example.amazonaws.com
         986  +
X-Amz-Date:20150830T123600Z
         987  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
         988  +
 1414    989   
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
 1415    990   
new file mode 100644
 1416    991   
index 0000000..ca54bda
 1417         -
-- /dev/null
         992  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1418    993   
@@ -0,0 +1,4 @@
         994  +
AWS4-HMAC-SHA256
         995  +
20150830T123600Z
         996  +
20150830/us-east-1/service/aws4_request
         997  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1419    998   
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
 1420    999   
new file mode 100644
 1421   1000   
index 0000000..dc80036
 1422         -
-- /dev/null
        1001  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1423   1002   
@@ -0,0 +1,7 @@
        1003  +
GET
        1004  +
/example/..
        1005  +
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
        1006  +
host:example.amazonaws.com
        1007  +
        1008  +
host
        1009  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1424   1010   
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
 1425   1011   
new file mode 100644
 1426   1012   
index 0000000..dfa0437
 1427         -
-- /dev/null
        1013  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1428   1014   
@@ -0,0 +1 @@
        1015  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1429   1016   
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
 1430   1017   
new file mode 100644
 1431   1018   
index 0000000..98367b1
 1432         -
-- /dev/null
        1019  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1433   1020   
@@ -0,0 +1,3 @@
        1021  +
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
        1022  +
Host:example.amazonaws.com
        1023  +
 1434   1024   
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
 1435   1025   
new file mode 100644
 1436   1026   
index 0000000..f65dd66
 1437         -
-- /dev/null
        1027  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1438   1028   
@@ -0,0 +1,4 @@
        1029  +
AWS4-HMAC-SHA256
        1030  +
20150830T123600Z
        1031  +
20150830/us-east-1/service/aws4_request
        1032  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1439   1033   
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
 1440   1034   
similarity index 100%
 1441   1035   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1442   1036   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1443   1037   
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
 1444   1038   
new file mode 100644
 1445   1039   
index 0000000..0468d80
 1446         -
-- /dev/null
        1040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1447   1041   
@@ -0,0 +1,12 @@
        1042  +
{
        1043  +
    "credentials": {
        1044  +
        "access_key_id": "AKIDEXAMPLE",
        1045  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1046  +
    },
        1047  +
    "expiration_in_seconds": 3600,
        1048  +
    "normalize": true,
        1049  +
    "region": "us-east-1",
        1050  +
    "service": "service",
        1051  +
    "sign_body": false,
        1052  +
    "timestamp": "2015-08-30T12:36:00Z"
        1053  +
}
              \
 No newline at end of file
 1448   1054   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1449   1055   
similarity index 100%
 1450   1056   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1451   1057   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1452   1058   
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
 1453   1059   
new file mode 100644
 1454   1060   
index 0000000..87f295f
 1455         -
-- /dev/null
        1061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1456   1062   
@@ -0,0 +1 @@
        1063  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1457   1064   
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
 1458   1065   
new file mode 100644
 1459   1066   
index 0000000..99c8eeb
 1460         -
-- /dev/null
        1067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1461   1068   
@@ -0,0 +1,5 @@
        1069  +
GET /./ HTTP/1.1
        1070  +
Host:example.amazonaws.com
        1071  +
X-Amz-Date:20150830T123600Z
        1072  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1073  +
 1462   1074   
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
 1463   1075   
similarity index 100%
 1464   1076   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1465   1077   
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
 1466   1078   
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
 1467   1079   
new file mode 100644
 1468   1080   
index 0000000..fb2420d
 1469         -
-- /dev/null
        1081  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1470   1082   
@@ -0,0 +1,7 @@
        1083  +
GET
        1084  +
/
        1085  +
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
        1086  +
host:example.amazonaws.com
        1087  +
        1088  +
host
        1089  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1471   1090   
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
 1472   1091   
new file mode 100644
 1473   1092   
index 0000000..da5c905
 1474         -
-- /dev/null
        1093  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1475   1094   
@@ -0,0 +1 @@
        1095  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1476   1096   
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
 1477   1097   
new file mode 100644
 1478   1098   
index 0000000..2e47f69
 1479         -
-- /dev/null
        1099  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1480   1100   
@@ -0,0 +1,3 @@
        1101  +
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
        1102  +
Host:example.amazonaws.com
        1103  +
 1481   1104   
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
 1482   1105   
new file mode 100644
 1483   1106   
index 0000000..d837e67
 1484         -
-- /dev/null
        1107  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1485   1108   
@@ -0,0 +1,4 @@
        1109  +
AWS4-HMAC-SHA256
        1110  +
20150830T123600Z
        1111  +
20150830/us-east-1/service/aws4_request
        1112  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1486   1113   
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
 1487   1114   
similarity index 100%
 1488   1115   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1489   1116   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1490   1117   
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
 1491   1118   
similarity index 99%
 1492   1119   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1493   1120   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1494   1121   
index afe367b..7bee5c7 100644
 1495   1122   
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
 1496   1123   
new file mode 100644
 1497   1124   
index 0000000..5159048
 1498         -
-- /dev/null
        1125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1499   1126   
@@ -0,0 +1,8 @@
        1127  +
GET
        1128  +
/./
        1129  +
        1130  +
host:example.amazonaws.com
        1131  +
x-amz-date:20150830T123600Z
        1132  +
        1133  +
host;x-amz-date
        1134  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1500   1135   
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
 1501   1136   
new file mode 100644
 1502   1137   
index 0000000..b49ff0e
 1503         -
-- /dev/null
        1138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1504   1139   
@@ -0,0 +1 @@
        1140  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1505   1141   
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
 1506   1142   
new file mode 100644
 1507   1143   
index 0000000..aeb1ffa
 1508         -
-- /dev/null
        1144  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1509   1145   
@@ -0,0 +1,5 @@
        1146  +
GET /./ HTTP/1.1
        1147  +
Host:example.amazonaws.com
        1148  +
X-Amz-Date:20150830T123600Z
        1149  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1150  +
 1510   1151   
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
 1511   1152   
new file mode 100644
 1512   1153   
index 0000000..b7d8caf
 1513         -
-- /dev/null
        1154  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1514   1155   
@@ -0,0 +1,4 @@
        1156  +
AWS4-HMAC-SHA256
        1157  +
20150830T123600Z
        1158  +
20150830/us-east-1/service/aws4_request
        1159  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1515   1160   
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
 1516   1161   
new file mode 100644
 1517   1162   
index 0000000..d4e029e
 1518         -
-- /dev/null
        1163  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1519   1164   
@@ -0,0 +1,7 @@
        1165  +
GET
        1166  +
/./
        1167  +
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
        1168  +
host:example.amazonaws.com
        1169  +
        1170  +
host
        1171  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1520   1172   
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
 1521   1173   
new file mode 100644
 1522   1174   
index 0000000..fe8f4cc
 1523         -
-- /dev/null
        1175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1524   1176   
@@ -0,0 +1 @@
        1177  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1525   1178   
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
 1526   1179   
new file mode 100644
 1527   1180   
index 0000000..dcc4fc4
 1528         -
-- /dev/null
        1181  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1529   1182   
@@ -0,0 +1,3 @@
        1183  +
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
        1184  +
Host:example.amazonaws.com
        1185  +
 1530   1186   
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
 1531   1187   
new file mode 100644
 1532   1188   
index 0000000..5fb3ada
 1533         -
-- /dev/null
        1189  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1534   1190   
@@ -0,0 +1,4 @@
        1191  +
AWS4-HMAC-SHA256
        1192  +
20150830T123600Z
        1193  +
20150830/us-east-1/service/aws4_request
        1194  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1535   1195   
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
 1536   1196   
similarity index 100%
 1537   1197   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1538   1198   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1539   1199   
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
 1540   1200   
new file mode 100644
 1541   1201   
index 0000000..0468d80
 1542         -
-- /dev/null
        1202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1543   1203   
@@ -0,0 +1,12 @@
        1204  +
{
        1205  +
    "credentials": {
        1206  +
        "access_key_id": "AKIDEXAMPLE",
        1207  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1208  +
    },
        1209  +
    "expiration_in_seconds": 3600,
        1210  +
    "normalize": true,
        1211  +
    "region": "us-east-1",
        1212  +
    "service": "service",
        1213  +
    "sign_body": false,
        1214  +
    "timestamp": "2015-08-30T12:36:00Z"
        1215  +
}
              \
 No newline at end of file
 1544   1216   
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
 1545   1217   
similarity index 100%
 1546   1218   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1547   1219   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1548   1220   
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
 1549   1221   
new file mode 100644
 1550   1222   
index 0000000..87f295f
 1551         -
-- /dev/null
        1223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1552   1224   
@@ -0,0 +1 @@
        1225  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1553   1226   
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
 1554   1227   
new file mode 100644
 1555   1228   
index 0000000..b91087b
 1556         -
-- /dev/null
        1229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1557   1230   
@@ -0,0 +1,5 @@
        1231  +
GET // HTTP/1.1
        1232  +
Host:example.amazonaws.com
        1233  +
X-Amz-Date:20150830T123600Z
        1234  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1235  +
 1558   1236   
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
 1559   1237   
similarity index 100%
 1560   1238   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1561   1239   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1562   1240   
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
 1563   1241   
new file mode 100644
 1564   1242   
index 0000000..fb2420d
 1565         -
-- /dev/null
        1243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1566   1244   
@@ -0,0 +1,7 @@
        1245  +
GET
        1246  +
/
        1247  +
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
        1248  +
host:example.amazonaws.com
        1249  +
        1250  +
host
        1251  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1567   1252   
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
 1568   1253   
new file mode 100644
 1569   1254   
index 0000000..da5c905
 1570         -
-- /dev/null
        1255  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1571   1256   
@@ -0,0 +1 @@
        1257  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1572   1258   
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
 1573   1259   
new file mode 100644
 1574   1260   
index 0000000..0290ba4
 1575         -
-- /dev/null
        1261  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1576   1262   
@@ -0,0 +1,3 @@
        1263  +
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
        1264  +
Host:example.amazonaws.com
        1265  +
 1577   1266   
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
 1578   1267   
new file mode 100644
 1579   1268   
index 0000000..d837e67
 1580         -
-- /dev/null
        1269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1581   1270   
@@ -0,0 +1,4 @@
        1271  +
AWS4-HMAC-SHA256
        1272  +
20150830T123600Z
        1273  +
20150830/us-east-1/service/aws4_request
        1274  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1582   1275   
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
 1583   1276   
similarity index 100%
 1584   1277   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1585   1278   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1586   1279   
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
 1587   1280   
new file mode 100644
 1588   1281   
index 0000000..0468d80
 1589         -
-- /dev/null
        1282  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1590   1283   
@@ -0,0 +1,12 @@
        1284  +
{
        1285  +
    "credentials": {
        1286  +
        "access_key_id": "AKIDEXAMPLE",
        1287  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1288  +
    },
        1289  +
    "expiration_in_seconds": 3600,
        1290  +
    "normalize": true,
        1291  +
    "region": "us-east-1",
        1292  +
    "service": "service",
        1293  +
    "sign_body": false,
        1294  +
    "timestamp": "2015-08-30T12:36:00Z"
        1295  +
}
              \
 No newline at end of file
 1591   1296   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1592   1297   
similarity index 100%
 1593   1298   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-pointless-dot/get-slash-pointless-dot.creq
 1594   1299   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1595   1300   
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
 1596   1301   
new file mode 100644
 1597   1302   
index 0000000..8f892bf
 1598         -
-- /dev/null
        1303  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1599   1304   
@@ -0,0 +1 @@
        1305  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1600   1306   
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
 1601   1307   
new file mode 100644
 1602   1308   
index 0000000..2a1895c
 1603         -
-- /dev/null
        1309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1604   1310   
@@ -0,0 +1,5 @@
        1311  +
GET /./example HTTP/1.1
        1312  +
Host:example.amazonaws.com
        1313  +
X-Amz-Date:20150830T123600Z
        1314  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1315  +
 1605   1316   
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
 1606   1317   
similarity index 100%
 1607   1318   
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
 1608   1319   
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
 1609   1320   
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
 1610   1321   
new file mode 100644
 1611   1322   
index 0000000..99dfc2a
 1612         -
-- /dev/null
        1323  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1613   1324   
@@ -0,0 +1,7 @@
        1325  +
GET
        1326  +
/example
        1327  +
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
        1328  +
host:example.amazonaws.com
        1329  +
        1330  +
host
        1331  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1614   1332   
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
 1615   1333   
new file mode 100644
 1616   1334   
index 0000000..fcd7a17
 1617         -
-- /dev/null
        1335  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1618   1336   
@@ -0,0 +1 @@
        1337  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1619   1338   
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
 1620   1339   
new file mode 100644
 1621   1340   
index 0000000..f671de2
 1622         -
-- /dev/null
        1341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1623   1342   
@@ -0,0 +1,3 @@
        1343  +
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
        1344  +
Host:example.amazonaws.com
        1345  +
 1624   1346   
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
 1625   1347   
new file mode 100644
 1626   1348   
index 0000000..f8456dc
 1627         -
-- /dev/null
        1349  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1628   1350   
@@ -0,0 +1,4 @@
        1351  +
AWS4-HMAC-SHA256
        1352  +
20150830T123600Z
        1353  +
20150830/us-east-1/service/aws4_request
        1354  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1629   1355   
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
 1630   1356   
similarity index 100%
 1631   1357   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1632   1358   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1633   1359   
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
 1634   1360   
similarity index 99%
 1635   1361   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1636   1362   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1637   1363   
index afe367b..7bee5c7 100644
 1638   1364   
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
 1639   1365   
new file mode 100644
 1640   1366   
index 0000000..36698c7
 1641         -
-- /dev/null
        1367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1642   1368   
@@ -0,0 +1,8 @@
        1369  +
GET
        1370  +
/./example
        1371  +
        1372  +
host:example.amazonaws.com
        1373  +
x-amz-date:20150830T123600Z
        1374  +
        1375  +
host;x-amz-date
        1376  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1643   1377   
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
 1644   1378   
new file mode 100644
 1645   1379   
index 0000000..4a4b8f2
 1646         -
-- /dev/null
        1380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1647   1381   
@@ -0,0 +1 @@
        1382  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1648   1383   
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
 1649   1384   
new file mode 100644
 1650   1385   
index 0000000..d462bcd
 1651         -
-- /dev/null
        1386  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1652   1387   
@@ -0,0 +1,5 @@
        1388  +
GET /./example HTTP/1.1
        1389  +
Host:example.amazonaws.com
        1390  +
X-Amz-Date:20150830T123600Z
        1391  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1392  +
 1653   1393   
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
 1654   1394   
new file mode 100644
 1655   1395   
index 0000000..8be78c9
 1656         -
-- /dev/null
        1396  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1657   1397   
@@ -0,0 +1,4 @@
        1398  +
AWS4-HMAC-SHA256
        1399  +
20150830T123600Z
        1400  +
20150830/us-east-1/service/aws4_request
        1401  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1658   1402   
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
 1659   1403   
new file mode 100644
 1660   1404   
index 0000000..fe1103c
 1661         -
-- /dev/null
        1405  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1662   1406   
@@ -0,0 +1,7 @@
        1407  +
GET
        1408  +
/./example
        1409  +
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
        1410  +
host:example.amazonaws.com
        1411  +
        1412  +
host
        1413  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1663   1414   
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
 1664   1415   
new file mode 100644
 1665   1416   
index 0000000..ce80762
 1666         -
-- /dev/null
        1417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1667   1418   
@@ -0,0 +1 @@
        1419  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1668   1420   
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
 1669   1421   
new file mode 100644
 1670   1422   
index 0000000..30841a6
 1671         -
-- /dev/null
        1423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1672   1424   
@@ -0,0 +1,3 @@
        1425  +
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
        1426  +
Host:example.amazonaws.com
        1427  +
 1673   1428   
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
 1674   1429   
new file mode 100644
 1675   1430   
index 0000000..5c66509
 1676         -
-- /dev/null
        1431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1677   1432   
@@ -0,0 +1,4 @@
        1433  +
AWS4-HMAC-SHA256
        1434  +
20150830T123600Z
        1435  +
20150830/us-east-1/service/aws4_request
        1436  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1678   1437   
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
 1679   1438   
similarity index 100%
 1680   1439   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1681   1440   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1682   1441   
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
 1683   1442   
new file mode 100644
 1684   1443   
index 0000000..7bee5c7
 1685         -
-- /dev/null
        1444  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1686   1445   
@@ -0,0 +1,12 @@
        1446  +
{
        1447  +
    "credentials": {
        1448  +
        "access_key_id": "AKIDEXAMPLE",
        1449  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1450  +
    },
        1451  +
    "expiration_in_seconds": 3600,
        1452  +
    "normalize": false,
        1453  +
    "region": "us-east-1",
        1454  +
    "service": "service",
        1455  +
    "sign_body": false,
        1456  +
    "timestamp": "2015-08-30T12:36:00Z"
        1457  +
}
              \
 No newline at end of file
 1687   1458   
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
 1688   1459   
new file mode 100644
 1689   1460   
index 0000000..5860c8a
 1690         -
-- /dev/null
        1461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1691   1462   
@@ -0,0 +1,8 @@
        1463  +
GET
        1464  +
//
        1465  +
        1466  +
host:example.amazonaws.com
        1467  +
x-amz-date:20150830T123600Z
        1468  +
        1469  +
host;x-amz-date
        1470  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1692   1471   
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
 1693   1472   
new file mode 100644
 1694   1473   
index 0000000..8310471
 1695         -
-- /dev/null
        1474  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1696   1475   
@@ -0,0 +1 @@
        1476  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1697   1477   
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
 1698   1478   
new file mode 100644
 1699   1479   
index 0000000..2a7afef
 1700         -
-- /dev/null
        1480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1701   1481   
@@ -0,0 +1,5 @@
        1482  +
GET // HTTP/1.1
        1483  +
Host:example.amazonaws.com
        1484  +
X-Amz-Date:20150830T123600Z
        1485  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1486  +
 1702   1487   
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
 1703   1488   
new file mode 100644
 1704   1489   
index 0000000..06059dd
 1705         -
-- /dev/null
        1490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1706   1491   
@@ -0,0 +1,4 @@
        1492  +
AWS4-HMAC-SHA256
        1493  +
20150830T123600Z
        1494  +
20150830/us-east-1/service/aws4_request
        1495  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1707   1496   
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
 1708   1497   
new file mode 100644
 1709   1498   
index 0000000..6d63aef
 1710         -
-- /dev/null
        1499  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1711   1500   
@@ -0,0 +1,7 @@
        1501  +
GET
        1502  +
//
        1503  +
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
        1504  +
host:example.amazonaws.com
        1505  +
        1506  +
host
        1507  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1712   1508   
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
 1713   1509   
new file mode 100644
 1714   1510   
index 0000000..e5b7b6c
 1715         -
-- /dev/null
        1511  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1716   1512   
@@ -0,0 +1 @@
        1513  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1717   1514   
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
 1718   1515   
new file mode 100644
 1719   1516   
index 0000000..46fe3fd
 1720         -
-- /dev/null
        1517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1721   1518   
@@ -0,0 +1,3 @@
        1519  +
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
        1520  +
Host:example.amazonaws.com
        1521  +
 1722   1522   
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
 1723   1523   
new file mode 100644
 1724   1524   
index 0000000..ea79940
 1725         -
-- /dev/null
        1525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1726   1526   
@@ -0,0 +1,4 @@
        1527  +
AWS4-HMAC-SHA256
        1528  +
20150830T123600Z
        1529  +
20150830/us-east-1/service/aws4_request
        1530  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1727   1531   
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
 1728   1532   
similarity index 100%
 1729   1533   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1730   1534   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1731   1535   
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
 1732   1536   
new file mode 100644
 1733   1537   
index 0000000..0468d80
 1734         -
-- /dev/null
        1538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1735   1539   
@@ -0,0 +1,12 @@
        1540  +
{
        1541  +
    "credentials": {
        1542  +
        "access_key_id": "AKIDEXAMPLE",
        1543  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1544  +
    },
        1545  +
    "expiration_in_seconds": 3600,
        1546  +
    "normalize": true,
        1547  +
    "region": "us-east-1",
        1548  +
    "service": "service",
        1549  +
    "sign_body": false,
        1550  +
    "timestamp": "2015-08-30T12:36:00Z"
        1551  +
}
              \
 No newline at end of file
 1736   1552   
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
 1737   1553   
similarity index 100%
 1738   1554   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1739   1555   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1740   1556   
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
 1741   1557   
new file mode 100644
 1742   1558   
index 0000000..71c7bac
 1743         -
-- /dev/null
        1559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1744   1560   
@@ -0,0 +1 @@
        1561  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1745   1562   
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
 1746   1563   
new file mode 100644
 1747   1564   
index 0000000..0add1f1
 1748         -
-- /dev/null
        1565  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1749   1566   
@@ -0,0 +1,5 @@
        1567  +
GET //example// HTTP/1.1
        1568  +
Host:example.amazonaws.com
        1569  +
X-Amz-Date:20150830T123600Z
        1570  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1571  +
 1750   1572   
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
 1751   1573   
similarity index 100%
 1752   1574   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1753   1575   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1754   1576   
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
 1755   1577   
new file mode 100644
 1756   1578   
index 0000000..ce72510
 1757         -
-- /dev/null
        1579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1758   1580   
@@ -0,0 +1,7 @@
        1581  +
GET
        1582  +
/example/
        1583  +
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
        1584  +
host:example.amazonaws.com
        1585  +
        1586  +
host
        1587  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1759   1588   
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
 1760   1589   
new file mode 100644
 1761   1590   
index 0000000..265f387
 1762         -
-- /dev/null
        1591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1763   1592   
@@ -0,0 +1 @@
        1593  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1764   1594   
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
 1765   1595   
new file mode 100644
 1766   1596   
index 0000000..e1fcb2e
 1767         -
-- /dev/null
        1597  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1768   1598   
@@ -0,0 +1,3 @@
        1599  +
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
        1600  +
Host:example.amazonaws.com
        1601  +
 1769   1602   
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
 1770   1603   
new file mode 100644
 1771   1604   
index 0000000..a14de61
 1772         -
-- /dev/null
        1605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1773   1606   
@@ -0,0 +1,4 @@
        1607  +
AWS4-HMAC-SHA256
        1608  +
20150830T123600Z
        1609  +
20150830/us-east-1/service/aws4_request
        1610  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1774   1611   
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
 1775   1612   
similarity index 100%
 1776   1613   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1777   1614   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1778   1615   
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
 1779   1616   
new file mode 100644
 1780   1617   
index 0000000..7bee5c7
 1781         -
-- /dev/null
        1618  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1782   1619   
@@ -0,0 +1,12 @@
        1620  +
{
        1621  +
    "credentials": {
        1622  +
        "access_key_id": "AKIDEXAMPLE",
        1623  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1624  +
    },
        1625  +
    "expiration_in_seconds": 3600,
        1626  +
    "normalize": false,
        1627  +
    "region": "us-east-1",
        1628  +
    "service": "service",
        1629  +
    "sign_body": false,
        1630  +
    "timestamp": "2015-08-30T12:36:00Z"
        1631  +
}
              \
 No newline at end of file
 1783   1632   
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
 1784   1633   
new file mode 100644
 1785   1634   
index 0000000..dfffaaf
 1786         -
-- /dev/null
        1635  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1787   1636   
@@ -0,0 +1,8 @@
        1637  +
GET
        1638  +
//example//
        1639  +
        1640  +
host:example.amazonaws.com
        1641  +
x-amz-date:20150830T123600Z
        1642  +
        1643  +
host;x-amz-date
        1644  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1788   1645   
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
 1789   1646   
new file mode 100644
 1790   1647   
index 0000000..edbcc0d
 1791         -
-- /dev/null
        1648  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1792   1649   
@@ -0,0 +1 @@
        1650  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1793   1651   
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
 1794   1652   
new file mode 100644
 1795   1653   
index 0000000..4cc12dd
 1796         -
-- /dev/null
        1654  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1797   1655   
@@ -0,0 +1,5 @@
        1656  +
GET //example// HTTP/1.1
        1657  +
Host:example.amazonaws.com
        1658  +
X-Amz-Date:20150830T123600Z
        1659  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1660  +
 1798   1661   
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
 1799   1662   
new file mode 100644
 1800   1663   
index 0000000..3eba390
 1801         -
-- /dev/null
        1664  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1802   1665   
@@ -0,0 +1,4 @@
        1666  +
AWS4-HMAC-SHA256
        1667  +
20150830T123600Z
        1668  +
20150830/us-east-1/service/aws4_request
        1669  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1803   1670   
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
 1804   1671   
new file mode 100644
 1805   1672   
index 0000000..f7844e3
 1806         -
-- /dev/null
        1673  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1807   1674   
@@ -0,0 +1,7 @@
        1675  +
GET
        1676  +
//example//
        1677  +
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
        1678  +
host:example.amazonaws.com
        1679  +
        1680  +
host
        1681  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1808   1682   
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
 1809   1683   
new file mode 100644
 1810   1684   
index 0000000..a8d6b96
 1811         -
-- /dev/null
        1685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1812   1686   
@@ -0,0 +1 @@
        1687  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1813   1688   
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
 1814   1689   
new file mode 100644
 1815   1690   
index 0000000..a8322c6
 1816         -
-- /dev/null
        1691  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1817   1692   
@@ -0,0 +1,3 @@
        1693  +
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
        1694  +
Host:example.amazonaws.com
        1695  +
 1818   1696   
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
 1819   1697   
new file mode 100644
 1820   1698   
index 0000000..068724d
 1821         -
-- /dev/null
        1699  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1822   1700   
@@ -0,0 +1,4 @@
        1701  +
AWS4-HMAC-SHA256
        1702  +
20150830T123600Z
        1703  +
20150830/us-east-1/service/aws4_request
        1704  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1823   1705   
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
 1824   1706   
similarity index 100%
 1825   1707   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1826   1708   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1827   1709   
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
 1828   1710   
new file mode 100644
 1829   1711   
index 0000000..0468d80
 1830         -
-- /dev/null
        1712  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1831   1713   
@@ -0,0 +1,12 @@
        1714  +
{
        1715  +
    "credentials": {
        1716  +
        "access_key_id": "AKIDEXAMPLE",
        1717  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1718  +
    },
        1719  +
    "expiration_in_seconds": 3600,
        1720  +
    "normalize": true,
        1721  +
    "region": "us-east-1",
        1722  +
    "service": "service",
        1723  +
    "sign_body": false,
        1724  +
    "timestamp": "2015-08-30T12:36:00Z"
        1725  +
}
              \
 No newline at end of file
 1832   1726   
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
 1833   1727   
similarity index 100%
 1834   1728   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1835   1729   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1836   1730   
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
 1837   1731   
new file mode 100644
 1838   1732   
index 0000000..f63892b
 1839         -
-- /dev/null
        1733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1840   1734   
@@ -0,0 +1 @@
        1735  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1841   1736   
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
 1842   1737   
new file mode 100644
 1843   1738   
index 0000000..19cd5cb
 1844         -
-- /dev/null
        1739  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1845   1740   
@@ -0,0 +1,5 @@
        1741  +
GET /example space/ HTTP/1.1
        1742  +
Host:example.amazonaws.com
        1743  +
X-Amz-Date:20150830T123600Z
        1744  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1745  +
 1846   1746   
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
 1847   1747   
similarity index 100%
 1848   1748   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1849   1749   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1850   1750   
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
 1851   1751   
new file mode 100644
 1852   1752   
index 0000000..fa3d3e2
 1853         -
-- /dev/null
        1753  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1854   1754   
@@ -0,0 +1,7 @@
        1755  +
GET
        1756  +
/example%20space/
        1757  +
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
        1758  +
host:example.amazonaws.com
        1759  +
        1760  +
host
        1761  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1855   1762   
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
 1856   1763   
new file mode 100644
 1857   1764   
index 0000000..5b2e204
 1858         -
-- /dev/null
        1765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1859   1766   
@@ -0,0 +1 @@
        1767  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1860   1768   
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
 1861   1769   
new file mode 100644
 1862   1770   
index 0000000..93ca1d0
 1863         -
-- /dev/null
        1771  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1864   1772   
@@ -0,0 +1,3 @@
        1773  +
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
        1774  +
Host:example.amazonaws.com
        1775  +
 1865   1776   
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
 1866   1777   
new file mode 100644
 1867   1778   
index 0000000..b4cb789
 1868         -
-- /dev/null
        1779  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1869   1780   
@@ -0,0 +1,4 @@
        1781  +
AWS4-HMAC-SHA256
        1782  +
20150830T123600Z
        1783  +
20150830/us-east-1/service/aws4_request
        1784  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1870   1785   
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
 1871   1786   
new file mode 100644
 1872   1787   
index 0000000..860a277
 1873         -
-- /dev/null
        1788  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 1874   1789   
@@ -0,0 +1,2 @@
        1790  +
GET /example%20space/ HTTP/1.1
        1791  +
Host:example.amazonaws.com
 1875   1792   
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
 1876   1793   
new file mode 100644
 1877   1794   
index 0000000..7bee5c7
 1878         -
-- /dev/null
        1795  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 1879   1796   
@@ -0,0 +1,12 @@
        1797  +
{
        1798  +
    "credentials": {
        1799  +
        "access_key_id": "AKIDEXAMPLE",
        1800  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1801  +
    },
        1802  +
    "expiration_in_seconds": 3600,
        1803  +
    "normalize": false,
        1804  +
    "region": "us-east-1",
        1805  +
    "service": "service",
        1806  +
    "sign_body": false,
        1807  +
    "timestamp": "2015-08-30T12:36:00Z"
        1808  +
}
              \
 No newline at end of file
 1880   1809   
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
 1881   1810   
similarity index 66%
 1882   1811   
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
 1883   1812   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1884   1813   
index 71dc981..124a709 100644
 1885         -
-- 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
        1814  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 1886   1815   
@@ -1,9 +1,8 @@
 1887         -
POST
 1888         -
/
        1816  +
GET
        1817  +
/example%20space/
 1889   1818   
 1890         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 1891   1819   
host:example.amazonaws.com
 1892   1820   
x-amz-date:20150830T123600Z
 1893   1821   
 1894   1822   
host;x-amz-date
 1895   1823   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1896   1824   
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
 1897   1825   
new file mode 100644
 1898   1826   
index 0000000..f63892b
 1899         -
-- /dev/null
        1827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 1900   1828   
@@ -0,0 +1 @@
        1829  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1901   1830   
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
 1902   1831   
new file mode 100644
 1903   1832   
index 0000000..19cd5cb
 1904         -
-- /dev/null
        1833  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 1905   1834   
@@ -0,0 +1,5 @@
        1835  +
GET /example space/ HTTP/1.1
        1836  +
Host:example.amazonaws.com
        1837  +
X-Amz-Date:20150830T123600Z
        1838  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1839  +
 1906   1840   
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
 1907   1841   
new file mode 100644
 1908   1842   
index 0000000..a633f0c
 1909         -
-- /dev/null
        1843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 1910   1844   
@@ -0,0 +1,4 @@
        1845  +
AWS4-HMAC-SHA256
        1846  +
20150830T123600Z
        1847  +
20150830/us-east-1/service/aws4_request
        1848  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 1911   1849   
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
 1912   1850   
new file mode 100644
 1913   1851   
index 0000000..fa3d3e2
 1914         -
-- /dev/null
        1852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 1915   1853   
@@ -0,0 +1,7 @@
        1854  +
GET
        1855  +
/example%20space/
        1856  +
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
        1857  +
host:example.amazonaws.com
        1858  +
        1859  +
host
        1860  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1916   1861   
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
 1917   1862   
new file mode 100644
 1918   1863   
index 0000000..5b2e204
 1919         -
-- /dev/null
        1864  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 1920   1865   
@@ -0,0 +1 @@
        1866  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1921   1867   
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
 1922   1868   
new file mode 100644
 1923   1869   
index 0000000..93ca1d0
 1924         -
-- /dev/null
        1870  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 1925   1871   
@@ -0,0 +1,3 @@
        1872  +
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
        1873  +
Host:example.amazonaws.com
        1874  +
 1926   1875   
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
 1927   1876   
new file mode 100644
 1928   1877   
index 0000000..b4cb789
 1929         -
-- /dev/null
        1878  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 1930   1879   
@@ -0,0 +1,4 @@
        1880  +
AWS4-HMAC-SHA256
        1881  +
20150830T123600Z
        1882  +
20150830/us-east-1/service/aws4_request
        1883  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1931   1884   
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
 1932   1885   
similarity index 67%
 1933   1886   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 1934   1887   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1935   1888   
index b7d5e8b..ab509ab 100644
 1936         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1889  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 1937   1890   
@@ -1,3 +1,2 @@
 1938   1891   
GET /example space/ HTTP/1.1
 1939   1892   
Host:example.amazonaws.com
 1940         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1941   1893   
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
 1942   1894   
new file mode 100644
 1943   1895   
index 0000000..0468d80
 1944         -
-- /dev/null
        1896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 1945   1897   
@@ -0,0 +1,12 @@
        1898  +
{
        1899  +
    "credentials": {
        1900  +
        "access_key_id": "AKIDEXAMPLE",
        1901  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1902  +
    },
        1903  +
    "expiration_in_seconds": 3600,
        1904  +
    "normalize": true,
        1905  +
    "region": "us-east-1",
        1906  +
    "service": "service",
        1907  +
    "sign_body": false,
        1908  +
    "timestamp": "2015-08-30T12:36:00Z"
        1909  +
}
              \
 No newline at end of file
 1946   1910   
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
 1947   1911   
similarity index 100%
 1948   1912   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 1949   1913   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 1950   1914   
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
 1951   1915   
new file mode 100644
 1952   1916   
index 0000000..e503354
 1953         -
-- /dev/null
        1917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 1954   1918   
@@ -0,0 +1 @@
        1919  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 1955   1920   
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
 1956   1921   
new file mode 100644
 1957   1922   
index 0000000..4367892
 1958         -
-- /dev/null
        1923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 1959   1924   
@@ -0,0 +1,5 @@
        1925  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        1926  +
Host:example.amazonaws.com
        1927  +
X-Amz-Date:20150830T123600Z
        1928  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        1929  +
 1960   1930   
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
 1961   1931   
similarity index 100%
 1962   1932   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 1963   1933   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 1964   1934   
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
 1965   1935   
new file mode 100644
 1966   1936   
index 0000000..d7f0696
 1967         -
-- /dev/null
        1937  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 1968   1938   
@@ -0,0 +1,7 @@
        1939  +
GET
        1940  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        1941  +
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
        1942  +
host:example.amazonaws.com
        1943  +
        1944  +
host
        1945  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1969   1946   
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
 1970   1947   
new file mode 100644
 1971   1948   
index 0000000..509e972
 1972         -
-- /dev/null
        1949  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 1973   1950   
@@ -0,0 +1 @@
        1951  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 1974   1952   
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
 1975   1953   
new file mode 100644
 1976   1954   
index 0000000..79aad36
 1977         -
-- /dev/null
        1955  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 1978   1956   
@@ -0,0 +1,3 @@
        1957  +
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
        1958  +
Host:example.amazonaws.com
        1959  +
 1979   1960   
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
 1980   1961   
new file mode 100644
 1981   1962   
index 0000000..e8068b3
 1982         -
-- /dev/null
        1963  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 1983   1964   
@@ -0,0 +1,4 @@
        1965  +
AWS4-HMAC-SHA256
        1966  +
20150830T123600Z
        1967  +
20150830/us-east-1/service/aws4_request
        1968  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 1984   1969   
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
 1985   1970   
similarity index 100%
 1986   1971   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 1987   1972   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 1988   1973   
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
 1989   1974   
new file mode 100644
 1990   1975   
index 0000000..0468d80
 1991         -
-- /dev/null
        1976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 1992   1977   
@@ -0,0 +1,12 @@
        1978  +
{
        1979  +
    "credentials": {
        1980  +
        "access_key_id": "AKIDEXAMPLE",
        1981  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1982  +
    },
        1983  +
    "expiration_in_seconds": 3600,
        1984  +
    "normalize": true,
        1985  +
    "region": "us-east-1",
        1986  +
    "service": "service",
        1987  +
    "sign_body": false,
        1988  +
    "timestamp": "2015-08-30T12:36:00Z"
        1989  +
}
              \
 No newline at end of file
 1993   1990   
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
 1994   1991   
similarity index 100%
 1995   1992   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 1996   1993   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 1997   1994   
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
 1998   1995   
new file mode 100644
 1999   1996   
index 0000000..9a13676
 2000         -
-- /dev/null
        1997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 2001   1998   
@@ -0,0 +1 @@
        1999  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 2002   2000   
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
 2003   2001   
new file mode 100644
 2004   2002   
index 0000000..5aaf47c
 2005         -
-- /dev/null
        2003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 2006   2004   
@@ -0,0 +1,5 @@
        2005  +
GET /ሴ HTTP/1.1
        2006  +
Host:example.amazonaws.com
        2007  +
X-Amz-Date:20150830T123600Z
        2008  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        2009  +
 2007   2010   
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
 2008   2011   
similarity index 100%
 2009   2012   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 2010   2013   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 2011   2014   
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
 2012   2015   
new file mode 100644
 2013   2016   
index 0000000..bdb77c9
 2014         -
-- /dev/null
        2017  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 2015   2018   
@@ -0,0 +1,7 @@
        2019  +
GET
        2020  +
/%E1%88%B4
        2021  +
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
        2022  +
host:example.amazonaws.com
        2023  +
        2024  +
host
        2025  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2016   2026   
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
 2017   2027   
new file mode 100644
 2018   2028   
index 0000000..21342b3
 2019         -
-- /dev/null
        2029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 2020   2030   
@@ -0,0 +1 @@
        2031  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 2021   2032   
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
 2022   2033   
new file mode 100644
 2023   2034   
index 0000000..368c2ff
 2024         -
-- /dev/null
        2035  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 2025   2036   
@@ -0,0 +1,3 @@
        2037  +
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
        2038  +
Host:example.amazonaws.com
        2039  +
 2026   2040   
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
 2027   2041   
new file mode 100644
 2028   2042   
index 0000000..56b8fbf
 2029         -
-- /dev/null
        2043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2030   2044   
@@ -0,0 +1,4 @@
        2045  +
AWS4-HMAC-SHA256
        2046  +
20150830T123600Z
        2047  +
20150830/us-east-1/service/aws4_request
        2048  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 2031   2049   
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
 2032   2050   
similarity index 62%
 2033   2051   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 2034   2052   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2035   2053   
index da4808d..9e273f6 100644
 2036         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2037   2055   
@@ -1,3 +1,2 @@
 2038   2056   
GET /ሴ HTTP/1.1
 2039   2057   
Host:example.amazonaws.com
 2040         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2041   2058   
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
 2042   2059   
new file mode 100644
 2043   2060   
index 0000000..0468d80
 2044         -
-- /dev/null
        2061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2045   2062   
@@ -0,0 +1,12 @@
        2063  +
{
        2064  +
    "credentials": {
        2065  +
        "access_key_id": "AKIDEXAMPLE",
        2066  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2067  +
    },
        2068  +
    "expiration_in_seconds": 3600,
        2069  +
    "normalize": true,
        2070  +
    "region": "us-east-1",
        2071  +
    "service": "service",
        2072  +
    "sign_body": false,
        2073  +
    "timestamp": "2015-08-30T12:36:00Z"
        2074  +
}
              \
 No newline at end of file
 2046   2075   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2047   2076   
similarity index 100%
 2048   2077   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.creq
 2049   2078   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2050   2079   
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
 2051   2080   
new file mode 100644
 2052   2081   
index 0000000..d7f1c1c
 2053         -
-- /dev/null
        2082  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2054   2083   
@@ -0,0 +1 @@
        2084  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2055   2085   
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
 2056   2086   
new file mode 100644
 2057   2087   
index 0000000..1c60790
 2058         -
-- /dev/null
        2088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2059   2089   
@@ -0,0 +1,5 @@
        2090  +
GET /?Param1=value1 HTTP/1.1
        2091  +
Host:example.amazonaws.com
        2092  +
X-Amz-Date:20150830T123600Z
        2093  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2094  +
 2060   2095   
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
 2061   2096   
similarity index 100%
 2062   2097   
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
 2063   2098   
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
 2064   2099   
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
 2065   2100   
new file mode 100644
 2066   2101   
index 0000000..6a823ed
 2067         -
-- /dev/null
        2102  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2068   2103   
@@ -0,0 +1,7 @@
        2104  +
GET
        2105  +
/
        2106  +
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
        2107  +
host:example.amazonaws.com
        2108  +
        2109  +
host
        2110  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2069   2111   
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
 2070   2112   
new file mode 100644
 2071   2113   
index 0000000..8c77136
 2072         -
-- /dev/null
        2114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2073   2115   
@@ -0,0 +1 @@
        2116  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2074   2117   
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
 2075   2118   
new file mode 100644
 2076   2119   
index 0000000..2d337d8
 2077         -
-- /dev/null
        2120  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2078   2121   
@@ -0,0 +1,3 @@
        2122  +
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
        2123  +
Host:example.amazonaws.com
        2124  +
 2079   2125   
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
 2080   2126   
new file mode 100644
 2081   2127   
index 0000000..191a484
 2082         -
-- /dev/null
        2128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2083   2129   
@@ -0,0 +1,4 @@
        2130  +
AWS4-HMAC-SHA256
        2131  +
20150830T123600Z
        2132  +
20150830/us-east-1/service/aws4_request
        2133  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2084   2134   
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
 2085   2135   
similarity index 100%
 2086   2136   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2087   2137   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2088   2138   
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
 2089   2139   
new file mode 100644
 2090   2140   
index 0000000..0468d80
 2091         -
-- /dev/null
        2141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2092   2142   
@@ -0,0 +1,12 @@
        2143  +
{
        2144  +
    "credentials": {
        2145  +
        "access_key_id": "AKIDEXAMPLE",
        2146  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2147  +
    },
        2148  +
    "expiration_in_seconds": 3600,
        2149  +
    "normalize": true,
        2150  +
    "region": "us-east-1",
        2151  +
    "service": "service",
        2152  +
    "sign_body": false,
        2153  +
    "timestamp": "2015-08-30T12:36:00Z"
        2154  +
}
              \
 No newline at end of file
 2093   2155   
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
 2094   2156   
new file mode 100644
 2095   2157   
index 0000000..0c8ba21
 2096         -
-- /dev/null
        2158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2097   2159   
@@ -0,0 +1,8 @@
        2160  +
GET
        2161  +
/
        2162  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2163  +
host:example.amazonaws.com
        2164  +
x-amz-date:20150830T123600Z
        2165  +
        2166  +
host;x-amz-date
        2167  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2098   2168   
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
 2099   2169   
new file mode 100644
 2100   2170   
index 0000000..9ab65ed
 2101         -
-- /dev/null
        2171  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2102   2172   
@@ -0,0 +1 @@
        2173  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2103   2174   
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
 2104   2175   
new file mode 100644
 2105   2176   
index 0000000..0bcdf98
 2106         -
-- /dev/null
        2177  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2107   2178   
@@ -0,0 +1,5 @@
        2179  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2180  +
Host:example.amazonaws.com
        2181  +
X-Amz-Date:20150830T123600Z
        2182  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2183  +
 2108   2184   
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
 2109   2185   
new file mode 100644
 2110   2186   
index 0000000..bf674ad
 2111         -
-- /dev/null
        2187  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2112   2188   
@@ -0,0 +1,4 @@
        2189  +
AWS4-HMAC-SHA256
        2190  +
20150830T123600Z
        2191  +
20150830/us-east-1/service/aws4_request
        2192  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2113   2193   
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
 2114   2194   
new file mode 100644
 2115   2195   
index 0000000..3f590a4
 2116         -
-- /dev/null
        2196  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2117   2197   
@@ -0,0 +1,7 @@
        2198  +
GET
        2199  +
/
        2200  +
%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
        2201  +
host:example.amazonaws.com
        2202  +
        2203  +
host
        2204  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2118   2205   
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
 2119   2206   
new file mode 100644
 2120   2207   
index 0000000..e225eab
 2121         -
-- /dev/null
        2208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2122   2209   
@@ -0,0 +1 @@
        2210  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2123   2211   
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
 2124   2212   
new file mode 100644
 2125   2213   
index 0000000..6206719
 2126         -
-- /dev/null
        2214  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2127   2215   
@@ -0,0 +1,3 @@
        2216  +
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
        2217  +
Host:example.amazonaws.com
        2218  +
 2128   2219   
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
 2129   2220   
new file mode 100644
 2130   2221   
index 0000000..81a4210
 2131         -
-- /dev/null
        2222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2132   2223   
@@ -0,0 +1,4 @@
        2224  +
AWS4-HMAC-SHA256
        2225  +
20150830T123600Z
        2226  +
20150830/us-east-1/service/aws4_request
        2227  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2133   2228   
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
 2134   2229   
new file mode 100644
 2135   2230   
index 0000000..368c6e3
 2136         -
-- /dev/null
        2231  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2137   2232   
@@ -0,0 +1,2 @@
        2233  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2234  +
Host:example.amazonaws.com
 2138   2235   
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
 2139   2236   
new file mode 100644
 2140   2237   
index 0000000..0468d80
 2141         -
-- /dev/null
        2238  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2142   2239   
@@ -0,0 +1,12 @@
        2240  +
{
        2241  +
    "credentials": {
        2242  +
        "access_key_id": "AKIDEXAMPLE",
        2243  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2244  +
    },
        2245  +
    "expiration_in_seconds": 3600,
        2246  +
    "normalize": true,
        2247  +
    "region": "us-east-1",
        2248  +
    "service": "service",
        2249  +
    "sign_body": false,
        2250  +
    "timestamp": "2015-08-30T12:36:00Z"
        2251  +
}
              \
 No newline at end of file
 2143   2252   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.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
 2144   2253   
similarity index 100%
 2145   2254   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key-case/get-vanilla-query-order-key-case.creq
 2146   2255   
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
 2147   2256   
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
 2148   2257   
new file mode 100644
 2149   2258   
index 0000000..6a8cb9d
 2150         -
-- /dev/null
        2259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2151   2260   
@@ -0,0 +1 @@
        2261  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2152   2262   
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
 2153   2263   
new file mode 100644
 2154   2264   
index 0000000..f78a9d2
 2155         -
-- /dev/null
        2265  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2156   2266   
@@ -0,0 +1,5 @@
        2267  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2268  +
Host:example.amazonaws.com
        2269  +
X-Amz-Date:20150830T123600Z
        2270  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2271  +
 2157   2272   
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
 2158   2273   
similarity index 100%
 2159   2274   
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
 2160   2275   
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
 2161   2276   
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
 2162   2277   
new file mode 100644
 2163   2278   
index 0000000..a6e1bc7
 2164         -
-- /dev/null
        2279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2165   2280   
@@ -0,0 +1,7 @@
        2281  +
GET
        2282  +
/
        2283  +
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
        2284  +
host:example.amazonaws.com
        2285  +
        2286  +
host
        2287  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2166   2288   
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
 2167   2289   
new file mode 100644
 2168   2290   
index 0000000..d6e6a88
 2169         -
-- /dev/null
        2291  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2170   2292   
@@ -0,0 +1 @@
        2293  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2171   2294   
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
 2172   2295   
new file mode 100644
 2173   2296   
index 0000000..538e2f0
 2174         -
-- /dev/null
        2297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2175   2298   
@@ -0,0 +1,3 @@
        2299  +
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
        2300  +
Host:example.amazonaws.com
        2301  +
 2176   2302   
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
 2177   2303   
new file mode 100644
 2178   2304   
index 0000000..e696085
 2179         -
-- /dev/null
        2305  +
++ 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
 2180   2306   
@@ -0,0 +1,4 @@
        2307  +
AWS4-HMAC-SHA256
        2308  +
20150830T123600Z
        2309  +
20150830/us-east-1/service/aws4_request
        2310  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2181   2311   
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
 2182   2312   
similarity index 100%
 2183   2313   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2184   2314   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2185   2315   
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
 2186   2316   
new file mode 100644
 2187   2317   
index 0000000..0468d80
 2188         -
-- /dev/null
        2318  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2189   2319   
@@ -0,0 +1,12 @@
        2320  +
{
        2321  +
    "credentials": {
        2322  +
        "access_key_id": "AKIDEXAMPLE",
        2323  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2324  +
    },
        2325  +
    "expiration_in_seconds": 3600,
        2326  +
    "normalize": true,
        2327  +
    "region": "us-east-1",
        2328  +
    "service": "service",
        2329  +
    "sign_body": false,
        2330  +
    "timestamp": "2015-08-30T12:36:00Z"
        2331  +
}
              \
 No newline at end of file
 2190   2332   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2191   2333   
similarity index 100%
 2192   2334   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2193   2335   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2194   2336   
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
 2195   2337   
new file mode 100644
 2196   2338   
index 0000000..876a64b
 2197         -
-- /dev/null
        2339  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2198   2340   
@@ -0,0 +1 @@
        2341  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2199   2342   
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
 2200   2343   
similarity index 50%
 2201   2344   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2202   2345   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2203   2346   
index ba1ef40..9d0d993 100644
 2204         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2205   2348   
@@ -1,4 +1,5 @@
 2206   2349   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2207   2350   
Host:example.amazonaws.com
 2208   2351   
X-Amz-Date:20150830T123600Z
 2209         -
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
        2352  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2353  +
 2210   2354   
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
 2211   2355   
similarity index 100%
 2212   2356   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2213   2357   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2214   2358   
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
 2215   2359   
new file mode 100644
 2216   2360   
index 0000000..a1bac59
 2217         -
-- /dev/null
        2361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2218   2362   
@@ -0,0 +1,7 @@
        2363  +
GET
        2364  +
/
        2365  +
-._~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
        2366  +
host:example.amazonaws.com
        2367  +
        2368  +
host
        2369  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2219   2370   
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
 2220   2371   
new file mode 100644
 2221   2372   
index 0000000..41881e9
 2222         -
-- /dev/null
        2373  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2223   2374   
@@ -0,0 +1 @@
        2375  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2224   2376   
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
 2225   2377   
new file mode 100644
 2226   2378   
index 0000000..3179076
 2227         -
-- /dev/null
        2379  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2228   2380   
@@ -0,0 +1,3 @@
        2381  +
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
        2382  +
Host:example.amazonaws.com
        2383  +
 2229   2384   
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
 2230   2385   
new file mode 100644
 2231   2386   
index 0000000..6d675fc
 2232         -
-- /dev/null
        2387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2233   2388   
@@ -0,0 +1,4 @@
        2389  +
AWS4-HMAC-SHA256
        2390  +
20150830T123600Z
        2391  +
20150830/us-east-1/service/aws4_request
        2392  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2234   2393   
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
 2235   2394   
similarity index 100%
 2236   2395   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2237   2396   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2238   2397   
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
 2239   2398   
new file mode 100644
 2240   2399   
index 0000000..0468d80
 2241         -
-- /dev/null
        2400  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2242   2401   
@@ -0,0 +1,12 @@
        2402  +
{
        2403  +
    "credentials": {
        2404  +
        "access_key_id": "AKIDEXAMPLE",
        2405  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2406  +
    },
        2407  +
    "expiration_in_seconds": 3600,
        2408  +
    "normalize": true,
        2409  +
    "region": "us-east-1",
        2410  +
    "service": "service",
        2411  +
    "sign_body": false,
        2412  +
    "timestamp": "2015-08-30T12:36:00Z"
        2413  +
}
              \
 No newline at end of file
 2243   2414   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2244   2415   
similarity index 100%
 2245   2416   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash-dot-slash/get-slash-dot-slash.creq
 2246   2417   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2247   2418   
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
 2248   2419   
new file mode 100644
 2249   2420   
index 0000000..87f295f
 2250         -
-- /dev/null
        2421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2251   2422   
@@ -0,0 +1 @@
        2423  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2252   2424   
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
 2253   2425   
new file mode 100644
 2254   2426   
index 0000000..36b86e7
 2255         -
-- /dev/null
        2427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2256   2428   
@@ -0,0 +1,5 @@
        2429  +
GET / HTTP/1.1
        2430  +
Host:example.amazonaws.com
        2431  +
X-Amz-Date:20150830T123600Z
        2432  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2433  +
 2257   2434   
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
 2258   2435   
similarity index 100%
 2259   2436   
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
 2260   2437   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2261   2438   
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
 2262   2439   
new file mode 100644
 2263   2440   
index 0000000..fb2420d
 2264         -
-- /dev/null
        2441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2265   2442   
@@ -0,0 +1,7 @@
        2443  +
GET
        2444  +
/
        2445  +
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
        2446  +
host:example.amazonaws.com
        2447  +
        2448  +
host
        2449  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2266   2450   
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
 2267   2451   
new file mode 100644
 2268   2452   
index 0000000..da5c905
 2269         -
-- /dev/null
        2453  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2270   2454   
@@ -0,0 +1 @@
        2455  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2271   2456   
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
 2272   2457   
new file mode 100644
 2273   2458   
index 0000000..eeb7a8f
 2274         -
-- /dev/null
        2459  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2275   2460   
@@ -0,0 +1,3 @@
        2461  +
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
        2462  +
Host:example.amazonaws.com
        2463  +
 2276   2464   
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
 2277   2465   
new file mode 100644
 2278   2466   
index 0000000..d837e67
 2279         -
-- /dev/null
        2467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2280   2468   
@@ -0,0 +1,4 @@
        2469  +
AWS4-HMAC-SHA256
        2470  +
20150830T123600Z
        2471  +
20150830/us-east-1/service/aws4_request
        2472  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2281   2473   
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
 2282   2474   
similarity index 100%
 2283   2475   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2284   2476   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2285   2477   
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
 2286   2478   
new file mode 100644
 2287   2479   
index 0000000..0468d80
 2288         -
-- /dev/null
        2480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2289   2481   
@@ -0,0 +1,12 @@
        2482  +
{
        2483  +
    "credentials": {
        2484  +
        "access_key_id": "AKIDEXAMPLE",
        2485  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2486  +
    },
        2487  +
    "expiration_in_seconds": 3600,
        2488  +
    "normalize": true,
        2489  +
    "region": "us-east-1",
        2490  +
    "service": "service",
        2491  +
    "sign_body": false,
        2492  +
    "timestamp": "2015-08-30T12:36:00Z"
        2493  +
}
              \
 No newline at end of file
 2290   2494   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2291   2495   
similarity index 100%
 2292   2496   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2293   2497   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2294   2498   
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
 2295   2499   
new file mode 100644
 2296   2500   
index 0000000..19a2cc9
 2297         -
-- /dev/null
        2501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2298   2502   
@@ -0,0 +1 @@
        2503  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2299   2504   
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
 2300   2505   
new file mode 100644
 2301   2506   
index 0000000..acb13ee
 2302         -
-- /dev/null
        2507  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2303   2508   
@@ -0,0 +1,5 @@
        2509  +
GET /?ሴ=bar HTTP/1.1
        2510  +
Host:example.amazonaws.com
        2511  +
X-Amz-Date:20150830T123600Z
        2512  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2513  +
 2304   2514   
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
 2305   2515   
similarity index 100%
 2306   2516   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2307   2517   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2308   2518   
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
 2309   2519   
new file mode 100644
 2310   2520   
index 0000000..92cee62
 2311         -
-- /dev/null
        2521  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2312   2522   
@@ -0,0 +1,7 @@
        2523  +
GET
        2524  +
/
        2525  +
%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
        2526  +
host:example.amazonaws.com
        2527  +
        2528  +
host
        2529  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2313   2530   
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
 2314   2531   
new file mode 100644
 2315   2532   
index 0000000..c9e49de
 2316         -
-- /dev/null
        2533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2317   2534   
@@ -0,0 +1 @@
        2535  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2318   2536   
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
 2319   2537   
new file mode 100644
 2320   2538   
index 0000000..8f4d8d0
 2321         -
-- /dev/null
        2539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2322   2540   
@@ -0,0 +1,3 @@
        2541  +
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
        2542  +
Host:example.amazonaws.com
        2543  +
 2323   2544   
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
 2324   2545   
new file mode 100644
 2325   2546   
index 0000000..a6181dc
 2326         -
-- /dev/null
        2547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2327   2548   
@@ -0,0 +1,4 @@
        2549  +
AWS4-HMAC-SHA256
        2550  +
20150830T123600Z
        2551  +
20150830/us-east-1/service/aws4_request
        2552  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2328   2553   
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
 2329   2554   
similarity index 64%
 2330   2555   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2331   2556   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2332   2557   
index cc2757e..aff333a 100644
 2333         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2558  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2334   2559   
@@ -1,3 +1,2 @@
 2335   2560   
GET /?ሴ=bar HTTP/1.1
 2336   2561   
Host:example.amazonaws.com
 2337         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2338   2562   
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
 2339   2563   
similarity index 99%
 2340   2564   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2341   2565   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2342   2566   
index a457c8a..a334e18 100644
 2343   2567   
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
 2344   2568   
new file mode 100644
 2345   2569   
index 0000000..ccacdeb
 2346         -
-- /dev/null
        2570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2347   2571   
@@ -0,0 +1,9 @@
        2572  +
GET
        2573  +
/
        2574  +
        2575  +
host:example.amazonaws.com
        2576  +
x-amz-date:20150830T123600Z
        2577  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2578  +
        2579  +
host;x-amz-date;x-amz-security-token
        2580  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2348   2581   
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
 2349   2582   
new file mode 100644
 2350   2583   
index 0000000..083e30d
 2351         -
-- /dev/null
        2584  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2352   2585   
@@ -0,0 +1 @@
        2586  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2353   2587   
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
 2354   2588   
new file mode 100644
 2355   2589   
index 0000000..5287932
 2356         -
-- /dev/null
        2590  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2357   2591   
@@ -0,0 +1,6 @@
        2592  +
GET / HTTP/1.1
        2593  +
Host:example.amazonaws.com
        2594  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2595  +
X-Amz-Date:20150830T123600Z
        2596  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2597  +
 2358   2598   
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
 2359   2599   
new file mode 100644
 2360   2600   
index 0000000..742b880
 2361         -
-- /dev/null
        2601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2362   2602   
@@ -0,0 +1,4 @@
        2603  +
AWS4-HMAC-SHA256
        2604  +
20150830T123600Z
        2605  +
20150830/us-east-1/service/aws4_request
        2606  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2363   2607   
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
 2364   2608   
new file mode 100644
 2365   2609   
index 0000000..5e75179
 2366         -
-- /dev/null
        2610  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2367   2611   
@@ -0,0 +1,7 @@
        2612  +
GET
        2613  +
/
        2614  +
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
        2615  +
host:example.amazonaws.com
        2616  +
        2617  +
host
        2618  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2368   2619   
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
 2369   2620   
new file mode 100644
 2370   2621   
index 0000000..50b947f
 2371         -
-- /dev/null
        2622  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2372   2623   
@@ -0,0 +1 @@
        2624  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2373   2625   
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
 2374   2626   
new file mode 100644
 2375   2627   
index 0000000..aee910b
 2376         -
-- /dev/null
        2628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2377   2629   
@@ -0,0 +1,3 @@
        2630  +
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
        2631  +
Host:example.amazonaws.com
        2632  +
 2378   2633   
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
 2379   2634   
new file mode 100644
 2380   2635   
index 0000000..04a6c17
 2381         -
-- /dev/null
        2636  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2382   2637   
@@ -0,0 +1,4 @@
        2638  +
AWS4-HMAC-SHA256
        2639  +
20150830T123600Z
        2640  +
20150830/us-east-1/service/aws4_request
        2641  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2383   2642   
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
 2384   2643   
similarity index 100%
 2385   2644   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2386   2645   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2387   2646   
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
 2388   2647   
new file mode 100644
 2389   2648   
index 0000000..0468d80
 2390         -
-- /dev/null
        2649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2391   2650   
@@ -0,0 +1,12 @@
        2651  +
{
        2652  +
    "credentials": {
        2653  +
        "access_key_id": "AKIDEXAMPLE",
        2654  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2655  +
    },
        2656  +
    "expiration_in_seconds": 3600,
        2657  +
    "normalize": true,
        2658  +
    "region": "us-east-1",
        2659  +
    "service": "service",
        2660  +
    "sign_body": false,
        2661  +
    "timestamp": "2015-08-30T12:36:00Z"
        2662  +
}
              \
 No newline at end of file
 2392   2663   
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
 2393   2664   
similarity index 100%
 2394   2665   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2395   2666   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2396   2667   
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
 2397   2668   
new file mode 100644
 2398   2669   
index 0000000..87f295f
 2399         -
-- /dev/null
        2670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2400   2671   
@@ -0,0 +1 @@
        2672  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2401   2673   
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
 2402   2674   
new file mode 100644
 2403   2675   
index 0000000..36b86e7
 2404         -
-- /dev/null
        2676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2405   2677   
@@ -0,0 +1,5 @@
        2678  +
GET / HTTP/1.1
        2679  +
Host:example.amazonaws.com
        2680  +
X-Amz-Date:20150830T123600Z
        2681  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2682  +
 2406   2683   
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
 2407   2684   
similarity index 100%
 2408   2685   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2409   2686   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2410   2687   
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
 2411   2688   
new file mode 100644
 2412   2689   
index 0000000..fb2420d
 2413         -
-- /dev/null
        2690  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2414   2691   
@@ -0,0 +1,7 @@
        2692  +
GET
        2693  +
/
        2694  +
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
        2695  +
host:example.amazonaws.com
        2696  +
        2697  +
host
        2698  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2415   2699   
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
 2416   2700   
new file mode 100644
 2417   2701   
index 0000000..da5c905
 2418         -
-- /dev/null
        2702  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2419   2703   
@@ -0,0 +1 @@
        2704  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2420   2705   
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
 2421   2706   
new file mode 100644
 2422   2707   
index 0000000..eeb7a8f
 2423         -
-- /dev/null
        2708  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2424   2709   
@@ -0,0 +1,3 @@
        2710  +
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
        2711  +
Host:example.amazonaws.com
        2712  +
 2425   2713   
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
 2426   2714   
new file mode 100644
 2427   2715   
index 0000000..d837e67
 2428         -
-- /dev/null
        2716  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2429   2717   
@@ -0,0 +1,4 @@
        2718  +
AWS4-HMAC-SHA256
        2719  +
20150830T123600Z
        2720  +
20150830/us-east-1/service/aws4_request
        2721  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2430   2722   
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
 2431   2723   
similarity index 100%
 2432   2724   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2433   2725   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2434   2726   
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
 2435   2727   
new file mode 100644
 2436   2728   
index 0000000..0468d80
 2437         -
-- /dev/null
        2729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2438   2730   
@@ -0,0 +1,12 @@
        2731  +
{
        2732  +
    "credentials": {
        2733  +
        "access_key_id": "AKIDEXAMPLE",
        2734  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2735  +
    },
        2736  +
    "expiration_in_seconds": 3600,
        2737  +
    "normalize": true,
        2738  +
    "region": "us-east-1",
        2739  +
    "service": "service",
        2740  +
    "sign_body": false,
        2741  +
    "timestamp": "2015-08-30T12:36:00Z"
        2742  +
}
              \
 No newline at end of file
 2439   2743   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2440   2744   
similarity index 100%
 2441   2745   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2442   2746   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2443   2747   
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
 2444   2748   
new file mode 100644
 2445   2749   
index 0000000..629487f
 2446         -
-- /dev/null
        2750  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2447   2751   
@@ -0,0 +1 @@
        2752  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2448   2753   
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
 2449   2754   
new file mode 100644
 2450   2755   
index 0000000..0d99b1c
 2451         -
-- /dev/null
        2756  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2452   2757   
@@ -0,0 +1,5 @@
        2758  +
POST / HTTP/1.1
        2759  +
Host:example.amazonaws.com
        2760  +
X-Amz-Date:20150830T123600Z
        2761  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2762  +
 2453   2763   
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
 2454   2764   
similarity index 100%
 2455   2765   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2456   2766   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2457   2767   
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
 2458   2768   
new file mode 100644
 2459   2769   
index 0000000..d3341e7
 2460         -
-- /dev/null
        2770  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2461   2771   
@@ -0,0 +1,7 @@
        2772  +
POST
        2773  +
/
        2774  +
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
        2775  +
host:example.amazonaws.com
        2776  +
        2777  +
host
        2778  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2462   2779   
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
 2463   2780   
new file mode 100644
 2464   2781   
index 0000000..79f7e0d
 2465         -
-- /dev/null
        2782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2466   2783   
@@ -0,0 +1 @@
        2784  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2467   2785   
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
 2468   2786   
new file mode 100644
 2469   2787   
index 0000000..94f1b21
 2470         -
-- /dev/null
        2788  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2471   2789   
@@ -0,0 +1,3 @@
        2790  +
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
        2791  +
Host:example.amazonaws.com
        2792  +
 2472   2793   
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
 2473   2794   
new file mode 100644
 2474   2795   
index 0000000..e8f335b
 2475         -
-- /dev/null
        2796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2476   2797   
@@ -0,0 +1,4 @@
        2798  +
AWS4-HMAC-SHA256
        2799  +
20150830T123600Z
        2800  +
20150830/us-east-1/service/aws4_request
        2801  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2477   2802   
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
 2478   2803   
similarity index 100%
 2479   2804   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2480   2805   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2481   2806   
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
 2482   2807   
new file mode 100644
 2483   2808   
index 0000000..0468d80
 2484         -
-- /dev/null
        2809  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2485   2810   
@@ -0,0 +1,12 @@
        2811  +
{
        2812  +
    "credentials": {
        2813  +
        "access_key_id": "AKIDEXAMPLE",
        2814  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2815  +
    },
        2816  +
    "expiration_in_seconds": 3600,
        2817  +
    "normalize": true,
        2818  +
    "region": "us-east-1",
        2819  +
    "service": "service",
        2820  +
    "sign_body": false,
        2821  +
    "timestamp": "2015-08-30T12:36:00Z"
        2822  +
}
              \
 No newline at end of file
 2486   2823   
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
 2487   2824   
similarity index 100%
 2488   2825   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2489   2826   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2490   2827   
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
 2491   2828   
new file mode 100644
 2492   2829   
index 0000000..e4e6428
 2493         -
-- /dev/null
        2830  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2494   2831   
@@ -0,0 +1 @@
        2832  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2495   2833   
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
 2496   2834   
new file mode 100644
 2497   2835   
index 0000000..e3778f5
 2498         -
-- /dev/null
        2836  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2499   2837   
@@ -0,0 +1,6 @@
        2838  +
POST / HTTP/1.1
        2839  +
Host:example.amazonaws.com
        2840  +
My-Header1:value1
        2841  +
X-Amz-Date:20150830T123600Z
        2842  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2843  +
 2500   2844   
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
 2501   2845   
similarity index 100%
 2502   2846   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2503   2847   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2504   2848   
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
 2505   2849   
new file mode 100644
 2506   2850   
index 0000000..bd7c937
 2507         -
-- /dev/null
        2851  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2508   2852   
@@ -0,0 +1,8 @@
        2853  +
POST
        2854  +
/
        2855  +
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
        2856  +
host:example.amazonaws.com
        2857  +
my-header1:value1
        2858  +
        2859  +
host;my-header1
        2860  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2509   2861   
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
 2510   2862   
new file mode 100644
 2511   2863   
index 0000000..0416f13
 2512         -
-- /dev/null
        2864  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2513   2865   
@@ -0,0 +1 @@
        2866  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2514   2867   
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
 2515   2868   
new file mode 100644
 2516   2869   
index 0000000..5e6522f
 2517         -
-- /dev/null
        2870  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2518   2871   
@@ -0,0 +1,4 @@
        2872  +
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
        2873  +
Host:example.amazonaws.com
        2874  +
My-Header1:value1
        2875  +
 2519   2876   
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
 2520   2877   
new file mode 100644
 2521   2878   
index 0000000..d06d1df
 2522         -
-- /dev/null
        2879  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2523   2880   
@@ -0,0 +1,4 @@
        2881  +
AWS4-HMAC-SHA256
        2882  +
20150830T123600Z
        2883  +
20150830/us-east-1/service/aws4_request
        2884  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2524   2885   
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
 2525   2886   
similarity index 100%
 2526   2887   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2527   2888   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2528   2889   
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
 2529   2890   
new file mode 100644
 2530   2891   
index 0000000..0468d80
 2531         -
-- /dev/null
        2892  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2532   2893   
@@ -0,0 +1,12 @@
        2894  +
{
        2895  +
    "credentials": {
        2896  +
        "access_key_id": "AKIDEXAMPLE",
        2897  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2898  +
    },
        2899  +
    "expiration_in_seconds": 3600,
        2900  +
    "normalize": true,
        2901  +
    "region": "us-east-1",
        2902  +
    "service": "service",
        2903  +
    "sign_body": false,
        2904  +
    "timestamp": "2015-08-30T12:36:00Z"
        2905  +
}
              \
 No newline at end of file
 2533   2906   
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
 2534   2907   
similarity index 100%
 2535   2908   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2536   2909   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2537   2910   
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
 2538   2911   
new file mode 100644
 2539   2912   
index 0000000..bb3809c
 2540         -
-- /dev/null
        2913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2541   2914   
@@ -0,0 +1 @@
        2915  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2542   2916   
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
 2543   2917   
new file mode 100644
 2544   2918   
index 0000000..10f6761
 2545         -
-- /dev/null
        2919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2546   2920   
@@ -0,0 +1,6 @@
        2921  +
POST / HTTP/1.1
        2922  +
Host:example.amazonaws.com
        2923  +
My-Header1:VALUE1
        2924  +
X-Amz-Date:20150830T123600Z
        2925  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        2926  +
 2547   2927   
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
 2548   2928   
similarity index 100%
 2549   2929   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2550   2930   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2551   2931   
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
 2552   2932   
new file mode 100644
 2553   2933   
index 0000000..f84856f
 2554         -
-- /dev/null
        2934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2555   2935   
@@ -0,0 +1,8 @@
        2936  +
POST
        2937  +
/
        2938  +
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
        2939  +
host:example.amazonaws.com
        2940  +
my-header1:VALUE1
        2941  +
        2942  +
host;my-header1
        2943  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2556   2944   
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
 2557   2945   
new file mode 100644
 2558   2946   
index 0000000..a9d3cac
 2559         -
-- /dev/null
        2947  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2560   2948   
@@ -0,0 +1 @@
        2949  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2561   2950   
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
 2562   2951   
new file mode 100644
 2563   2952   
index 0000000..cf96c7c
 2564         -
-- /dev/null
        2953  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2565   2954   
@@ -0,0 +1,4 @@
        2955  +
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
        2956  +
Host:example.amazonaws.com
        2957  +
My-Header1:VALUE1
        2958  +
 2566   2959   
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
 2567   2960   
new file mode 100644
 2568   2961   
index 0000000..47ef566
 2569         -
-- /dev/null
        2962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2570   2963   
@@ -0,0 +1,4 @@
        2964  +
AWS4-HMAC-SHA256
        2965  +
20150830T123600Z
        2966  +
20150830/us-east-1/service/aws4_request
        2967  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2571   2968   
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
 2572   2969   
similarity index 100%
 2573   2970   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2574   2971   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2575   2972   
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
 2576   2973   
similarity index 100%
 2577   2974   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2578   2975   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2579   2976   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2580   2977   
similarity index 100%
 2581   2978   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq
 2582   2979   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2583   2980   
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
 2584   2981   
new file mode 100644
 2585   2982   
index 0000000..629487f
 2586         -
-- /dev/null
        2983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2587   2984   
@@ -0,0 +1 @@
        2985  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2588   2986   
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
 2589   2987   
similarity index 67%
 2590   2988   
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
 2591   2989   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2592   2990   
index 291ed07..f96ff9e 100644
 2593         -
-- 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
        2991  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2594   2992   
@@ -1,5 +1,6 @@
 2595   2993   
POST / HTTP/1.1
 2596   2994   
Host:example.amazonaws.com
 2597         -
X-Amz-Date:20150830T123600Z
 2598   2995   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2599         -
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
        2996  +
X-Amz-Date:20150830T123600Z
        2997  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2998  +
 2600   2999   
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
 2601   3000   
similarity index 100%
 2602   3001   
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
 2603   3002   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2604   3003   
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
 2605   3004   
new file mode 100644
 2606   3005   
index 0000000..d3341e7
 2607         -
-- /dev/null
        3006  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2608   3007   
@@ -0,0 +1,7 @@
        3008  +
POST
        3009  +
/
        3010  +
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
        3011  +
host:example.amazonaws.com
        3012  +
        3013  +
host
        3014  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2609   3015   
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
 2610   3016   
new file mode 100644
 2611   3017   
index 0000000..79f7e0d
 2612         -
-- /dev/null
        3018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2613   3019   
@@ -0,0 +1 @@
        3020  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2614   3021   
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
 2615   3022   
new file mode 100644
 2616   3023   
index 0000000..4983268
 2617         -
-- /dev/null
        3024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2618   3025   
@@ -0,0 +1,3 @@
        3026  +
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
        3027  +
Host:example.amazonaws.com
        3028  +
 2619   3029   
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
 2620   3030   
new file mode 100644
 2621   3031   
index 0000000..e8f335b
 2622         -
-- /dev/null
        3032  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2623   3033   
@@ -0,0 +1,4 @@
        3034  +
AWS4-HMAC-SHA256
        3035  +
20150830T123600Z
        3036  +
20150830/us-east-1/service/aws4_request
        3037  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2624   3038   
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
 2625   3039   
similarity index 100%
 2626   3040   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2627   3041   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2628   3042   
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
 2629   3043   
similarity index 100%
 2630   3044   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2631   3045   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2632   3046   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2633   3047   
similarity index 100%
 2634   3048   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq
 2635   3049   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2636   3050   
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
 2637   3051   
new file mode 100644
 2638   3052   
index 0000000..85a7c29
 2639         -
-- /dev/null
        3053  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2640   3054   
@@ -0,0 +1 @@
        3055  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2641   3056   
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
 2642   3057   
similarity index 65%
 2643   3058   
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
 2644   3059   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2645   3060   
index 37b2f04..4d0b143 100644
 2646         -
-- 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
        3061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2647   3062   
@@ -1,5 +1,6 @@
 2648   3063   
POST / HTTP/1.1
 2649   3064   
Host:example.amazonaws.com
 2650         -
X-Amz-Date:20150830T123600Z
 2651   3065   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2652         -
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
        3066  +
X-Amz-Date:20150830T123600Z
        3067  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3068  +
 2653   3069   
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
 2654   3070   
similarity index 100%
 2655   3071   
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
 2656   3072   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2657   3073   
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
 2658   3074   
new file mode 100644
 2659   3075   
index 0000000..57a7bc3
 2660         -
-- /dev/null
        3076  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2661   3077   
@@ -0,0 +1,7 @@
        3078  +
POST
        3079  +
/
        3080  +
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
        3081  +
host:example.amazonaws.com
        3082  +
        3083  +
host
        3084  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2662   3085   
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
 2663   3086   
new file mode 100644
 2664   3087   
index 0000000..eb905d2
 2665         -
-- /dev/null
        3088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2666   3089   
@@ -0,0 +1 @@
        3090  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2667   3091   
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
 2668   3092   
new file mode 100644
 2669   3093   
index 0000000..1d80ec0
 2670         -
-- /dev/null
        3094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2671   3095   
@@ -0,0 +1,3 @@
        3096  +
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
        3097  +
Host:example.amazonaws.com
        3098  +
 2672   3099   
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
 2673   3100   
new file mode 100644
 2674   3101   
index 0000000..bd0239a
 2675         -
-- /dev/null
        3102  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2676   3103   
@@ -0,0 +1,4 @@
        3104  +
AWS4-HMAC-SHA256
        3105  +
20150830T123600Z
        3106  +
20150830/us-east-1/service/aws4_request
        3107  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2677   3108   
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
 2678   3109   
similarity index 100%
 2679   3110   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2680   3111   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2681   3112   
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
 2682   3113   
new file mode 100644
 2683   3114   
index 0000000..0468d80
 2684         -
-- /dev/null
        3115  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2685   3116   
@@ -0,0 +1,12 @@
        3117  +
{
        3118  +
    "credentials": {
        3119  +
        "access_key_id": "AKIDEXAMPLE",
        3120  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3121  +
    },
        3122  +
    "expiration_in_seconds": 3600,
        3123  +
    "normalize": true,
        3124  +
    "region": "us-east-1",
        3125  +
    "service": "service",
        3126  +
    "sign_body": false,
        3127  +
    "timestamp": "2015-08-30T12:36:00Z"
        3128  +
}
              \
 No newline at end of file
 2686   3129   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2687   3130   
similarity index 100%
 2688   3131   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-empty-query-value/post-vanilla-empty-query-value.creq
 2689   3132   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2690   3133   
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
 2691   3134   
new file mode 100644
 2692   3135   
index 0000000..80ed433
 2693         -
-- /dev/null
        3136  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2694   3137   
@@ -0,0 +1 @@
        3138  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2695   3139   
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
 2696   3140   
new file mode 100644
 2697   3141   
index 0000000..4e614f8
 2698         -
-- /dev/null
        3142  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2699   3143   
@@ -0,0 +1,5 @@
        3144  +
POST /?Param1=value1 HTTP/1.1
        3145  +
Host:example.amazonaws.com
        3146  +
X-Amz-Date:20150830T123600Z
        3147  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3148  +
 2700   3149   
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
 2701   3150   
similarity index 100%
 2702   3151   
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
 2703   3152   
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
 2704   3153   
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
 2705   3154   
new file mode 100644
 2706   3155   
index 0000000..be66403
 2707         -
-- /dev/null
        3156  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2708   3157   
@@ -0,0 +1,7 @@
        3158  +
POST
        3159  +
/
        3160  +
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
        3161  +
host:example.amazonaws.com
        3162  +
        3163  +
host
        3164  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2709   3165   
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
 2710   3166   
new file mode 100644
 2711   3167   
index 0000000..20fd32b
 2712         -
-- /dev/null
        3168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2713   3169   
@@ -0,0 +1 @@
        3170  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2714   3171   
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
 2715   3172   
new file mode 100644
 2716   3173   
index 0000000..d1148d0
 2717         -
-- /dev/null
        3174  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2718   3175   
@@ -0,0 +1,3 @@
        3176  +
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
        3177  +
Host:example.amazonaws.com
        3178  +
 2719   3179   
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
 2720   3180   
new file mode 100644
 2721   3181   
index 0000000..1a77103
 2722         -
-- /dev/null
        3182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2723   3183   
@@ -0,0 +1,4 @@
        3184  +
AWS4-HMAC-SHA256
        3185  +
20150830T123600Z
        3186  +
20150830/us-east-1/service/aws4_request
        3187  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2724   3188   
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
 2725   3189   
similarity index 100%
 2726   3190   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2727   3191   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2728   3192   
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
 2729   3193   
new file mode 100644
 2730   3194   
index 0000000..0468d80
 2731         -
-- /dev/null
        3195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2732   3196   
@@ -0,0 +1,12 @@
        3197  +
{
        3198  +
    "credentials": {
        3199  +
        "access_key_id": "AKIDEXAMPLE",
        3200  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3201  +
    },
        3202  +
    "expiration_in_seconds": 3600,
        3203  +
    "normalize": true,
        3204  +
    "region": "us-east-1",
        3205  +
    "service": "service",
        3206  +
    "sign_body": false,
        3207  +
    "timestamp": "2015-08-30T12:36:00Z"
        3208  +
}
              \
 No newline at end of file
 2733   3209   
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
 2734   3210   
similarity index 100%
 2735   3211   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2736   3212   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2737   3213   
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
 2738   3214   
new file mode 100644
 2739   3215   
index 0000000..80ed433
 2740         -
-- /dev/null
        3216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2741   3217   
@@ -0,0 +1 @@
        3218  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2742   3219   
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
 2743   3220   
new file mode 100644
 2744   3221   
index 0000000..4e614f8
 2745         -
-- /dev/null
        3222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2746   3223   
@@ -0,0 +1,5 @@
        3224  +
POST /?Param1=value1 HTTP/1.1
        3225  +
Host:example.amazonaws.com
        3226  +
X-Amz-Date:20150830T123600Z
        3227  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3228  +
 2747   3229   
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
 2748   3230   
similarity index 100%
 2749   3231   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2750   3232   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2751   3233   
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
 2752   3234   
new file mode 100644
 2753   3235   
index 0000000..be66403
 2754         -
-- /dev/null
        3236  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2755   3237   
@@ -0,0 +1,7 @@
        3238  +
POST
        3239  +
/
        3240  +
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
        3241  +
host:example.amazonaws.com
        3242  +
        3243  +
host
        3244  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2756   3245   
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
 2757   3246   
new file mode 100644
 2758   3247   
index 0000000..20fd32b
 2759         -
-- /dev/null
        3248  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2760   3249   
@@ -0,0 +1 @@
        3250  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2761   3251   
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
 2762   3252   
new file mode 100644
 2763   3253   
index 0000000..d1148d0
 2764         -
-- /dev/null
        3254  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2765   3255   
@@ -0,0 +1,3 @@
        3256  +
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
        3257  +
Host:example.amazonaws.com
        3258  +
 2766   3259   
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
 2767   3260   
new file mode 100644
 2768   3261   
index 0000000..1a77103
 2769         -
-- /dev/null
        3262  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2770   3263   
@@ -0,0 +1,4 @@
        3264  +
AWS4-HMAC-SHA256
        3265  +
20150830T123600Z
        3266  +
20150830/us-east-1/service/aws4_request
        3267  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2771   3268   
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
 2772   3269   
similarity index 100%
 2773   3270   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2774   3271   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2775   3272   
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
 2776   3273   
new file mode 100644
 2777   3274   
index 0000000..0468d80
 2778         -
-- /dev/null
        3275  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2779   3276   
@@ -0,0 +1,12 @@
        3277  +
{
        3278  +
    "credentials": {
        3279  +
        "access_key_id": "AKIDEXAMPLE",
        3280  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3281  +
    },
        3282  +
    "expiration_in_seconds": 3600,
        3283  +
    "normalize": true,
        3284  +
    "region": "us-east-1",
        3285  +
    "service": "service",
        3286  +
    "sign_body": false,
        3287  +
    "timestamp": "2015-08-30T12:36:00Z"
        3288  +
}
              \
 No newline at end of file
 2780   3289   
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
 2781   3290   
similarity index 100%
 2782   3291   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2783   3292   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2784   3293   
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
 2785   3294   
new file mode 100644
 2786   3295   
index 0000000..629487f
 2787         -
-- /dev/null
        3296  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2788   3297   
@@ -0,0 +1 @@
        3298  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2789   3299   
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
 2790   3300   
new file mode 100644
 2791   3301   
index 0000000..0d99b1c
 2792         -
-- /dev/null
        3302  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2793   3303   
@@ -0,0 +1,5 @@
        3304  +
POST / HTTP/1.1
        3305  +
Host:example.amazonaws.com
        3306  +
X-Amz-Date:20150830T123600Z
        3307  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3308  +
 2794   3309   
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
 2795   3310   
similarity index 100%
 2796   3311   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2797   3312   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2798   3313   
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
 2799   3314   
new file mode 100644
 2800   3315   
index 0000000..d3341e7
 2801         -
-- /dev/null
        3316  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2802   3317   
@@ -0,0 +1,7 @@
        3318  +
POST
        3319  +
/
        3320  +
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
        3321  +
host:example.amazonaws.com
        3322  +
        3323  +
host
        3324  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2803   3325   
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
 2804   3326   
new file mode 100644
 2805   3327   
index 0000000..79f7e0d
 2806         -
-- /dev/null
        3328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2807   3329   
@@ -0,0 +1 @@
        3330  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2808   3331   
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
 2809   3332   
new file mode 100644
 2810   3333   
index 0000000..94f1b21
 2811         -
-- /dev/null
        3334  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2812   3335   
@@ -0,0 +1,3 @@
        3336  +
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
        3337  +
Host:example.amazonaws.com
        3338  +
 2813   3339   
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
 2814   3340   
new file mode 100644
 2815   3341   
index 0000000..e8f335b
 2816         -
-- /dev/null
        3342  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2817   3343   
@@ -0,0 +1,4 @@
        3344  +
AWS4-HMAC-SHA256
        3345  +
20150830T123600Z
        3346  +
20150830/us-east-1/service/aws4_request
        3347  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2818   3348   
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
 2819   3349   
similarity index 100%
 2820   3350   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2821   3351   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2822   3352   
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
 2823   3353   
similarity index 99%
 2824   3354   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2825   3355   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2826   3356   
index fc4bce6..0db1df1 100644
 2827   3357   
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
 2828   3358   
new file mode 100644
 2829   3359   
index 0000000..c218fdf
 2830         -
-- /dev/null
        3360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2831   3361   
@@ -0,0 +1,11 @@
        3362  +
POST
        3363  +
/
        3364  +
        3365  +
content-length:13
        3366  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3367  +
host:example.amazonaws.com
        3368  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3369  +
x-amz-date:20150830T123600Z
        3370  +
        3371  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3372  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2832   3373   
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
 2833   3374   
new file mode 100644
 2834   3375   
index 0000000..836aa8b
 2835         -
-- /dev/null
        3376  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2836   3377   
@@ -0,0 +1 @@
        3378  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2837   3379   
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
 2838   3380   
new file mode 100644
 2839   3381   
index 0000000..9262d53
 2840         -
-- /dev/null
        3382  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2841   3383   
@@ -0,0 +1,9 @@
        3384  +
POST / HTTP/1.1
        3385  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3386  +
Host:example.amazonaws.com
        3387  +
Content-Length:13
        3388  +
X-Amz-Date:20150830T123600Z
        3389  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3390  +
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
        3391  +
        3392  +
Param1=value1
              \
 No newline at end of file
 2842   3393   
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
 2843   3394   
new file mode 100644
 2844   3395   
index 0000000..ddbdccc
 2845         -
-- /dev/null
        3396  +
++ 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
 2846   3397   
@@ -0,0 +1,4 @@
        3398  +
AWS4-HMAC-SHA256
        3399  +
20150830T123600Z
        3400  +
20150830/us-east-1/service/aws4_request
        3401  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2847   3402   
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
 2848   3403   
new file mode 100644
 2849   3404   
index 0000000..596a579
 2850         -
-- /dev/null
        3405  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2851   3406   
@@ -0,0 +1,9 @@
        3407  +
POST
        3408  +
/
        3409  +
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
        3410  +
content-length:13
        3411  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3412  +
host:example.amazonaws.com
        3413  +
        3414  +
content-length;content-type;host
        3415  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2852   3416   
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
 2853   3417   
new file mode 100644
 2854   3418   
index 0000000..bc85cd8
 2855         -
-- /dev/null
        3419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2856   3420   
@@ -0,0 +1 @@
        3421  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 2857   3422   
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
 2858   3423   
new file mode 100644
 2859   3424   
index 0000000..16b59e5
 2860         -
-- /dev/null
        3425  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 2861   3426   
@@ -0,0 +1,6 @@
        3427  +
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
        3428  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3429  +
Host:example.amazonaws.com
        3430  +
Content-Length:13
        3431  +
        3432  +
Param1=value1
              \
 No newline at end of file
 2862   3433   
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
 2863   3434   
new file mode 100644
 2864   3435   
index 0000000..50074af
 2865         -
-- /dev/null
        3436  +
++ 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
 2866   3437   
@@ -0,0 +1,4 @@
        3438  +
AWS4-HMAC-SHA256
        3439  +
20150830T123600Z
        3440  +
20150830/us-east-1/service/aws4_request
        3441  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 2867   3442   
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
 2868   3443   
similarity index 89%
 2869   3444   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 2870   3445   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 2871   3446   
index b711c25..8289eaa 100644
 2872   3447   
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
 2873   3448   
similarity index 99%
 2874   3449   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 2875   3450   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 2876   3451   
index fc4bce6..0db1df1 100644
 2877   3452   
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
 2878   3453   
new file mode 100644
 2879   3454   
index 0000000..4d116a5
 2880         -
-- /dev/null
        3455  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 2881   3456   
@@ -0,0 +1,11 @@
        3457  +
POST
        3458  +
/
        3459  +
        3460  +
content-length:13
        3461  +
content-type:application/x-www-form-urlencoded
        3462  +
host:example.amazonaws.com
        3463  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3464  +
x-amz-date:20150830T123600Z
        3465  +
        3466  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3467  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2882   3468   
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
 2883   3469   
new file mode 100644
 2884   3470   
index 0000000..0d2ac37
 2885         -
-- /dev/null
        3471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 2886   3472   
@@ -0,0 +1 @@
        3473  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 2887   3474   
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
 2888   3475   
new file mode 100644
 2889   3476   
index 0000000..bd5e49c
 2890         -
-- /dev/null
        3477  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 2891   3478   
@@ -0,0 +1,9 @@
        3479  +
POST / HTTP/1.1
        3480  +
Content-Type:application/x-www-form-urlencoded
        3481  +
Host:example.amazonaws.com
        3482  +
Content-Length:13
        3483  +
X-Amz-Date:20150830T123600Z
        3484  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3485  +
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
        3486  +
        3487  +
Param1=value1
              \
 No newline at end of file
 2892   3488   
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
 2893   3489   
new file mode 100644
 2894   3490   
index 0000000..f1c599c
 2895         -
-- /dev/null
        3491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 2896   3492   
@@ -0,0 +1,4 @@
        3493  +
AWS4-HMAC-SHA256
        3494  +
20150830T123600Z
        3495  +
20150830/us-east-1/service/aws4_request
        3496  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 2897   3497   
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
 2898   3498   
new file mode 100644
 2899   3499   
index 0000000..1fc1bb7
 2900         -
-- /dev/null
        3500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 2901   3501   
@@ -0,0 +1,9 @@
        3502  +
POST
        3503  +
/
        3504  +
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
        3505  +
content-length:13
        3506  +
content-type:application/x-www-form-urlencoded
        3507  +
host:example.amazonaws.com
        3508  +
        3509  +
content-length;content-type;host
        3510  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2902   3511   
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
 2903   3512   
new file mode 100644
 2904   3513   
index 0000000..98c91b3
 2905         -
-- /dev/null
        3514  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 2906   3515   
@@ -0,0 +1 @@
        3516  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 2907   3517   
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
 2908   3518   
new file mode 100644
 2909   3519   
index 0000000..055cd7a
 2910         -
-- /dev/null
        3520  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 2911   3521   
@@ -0,0 +1,6 @@
        3522  +
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
        3523  +
Content-Type:application/x-www-form-urlencoded
        3524  +
Host:example.amazonaws.com
        3525  +
Content-Length:13
        3526  +
        3527  +
Param1=value1
              \
 No newline at end of file
 2912   3528   
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
 2913   3529   
new file mode 100644
 2914   3530   
index 0000000..db7fc27
 2915         -
-- /dev/null
        3531  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 2916   3532   
@@ -0,0 +1,4 @@
        3533  +
AWS4-HMAC-SHA256
        3534  +
20150830T123600Z
        3535  +
20150830/us-east-1/service/aws4_request
        3536  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 2917   3537   
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
 2918   3538   
similarity index 88%
 2919   3539   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 2920   3540   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 2921   3541   
index 0091102..760b2d3 100644
 2922   3542   
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
 2923   3543   
new file mode 100644
 2924   3544   
index 0000000..0468d80
 2925         -
-- /dev/null
        3545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 2926   3546   
@@ -0,0 +1,12 @@
        3547  +
{
        3548  +
    "credentials": {
        3549  +
        "access_key_id": "AKIDEXAMPLE",
        3550  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3551  +
    },
        3552  +
    "expiration_in_seconds": 3600,
        3553  +
    "normalize": true,
        3554  +
    "region": "us-east-1",
        3555  +
    "service": "service",
        3556  +
    "sign_body": false,
        3557  +
    "timestamp": "2015-08-30T12:36:00Z"
        3558  +
}
              \
 No newline at end of file
 2927   3559   
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
 2928   3560   
similarity index 99%
 2929   3561   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 2930   3562   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 2931   3563   
index ccb5f43..1bc448e 100644
 2932   3564   
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
 2933   3565   
new file mode 100644
 2934   3566   
index 0000000..489c182
 2935         -
-- /dev/null
        3567  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 2936   3568   
@@ -0,0 +1 @@
        3569  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 2937   3570   
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
 2938   3571   
new file mode 100644
 2939   3572   
index 0000000..e1b8dbf
 2940         -
-- /dev/null
        3573  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 2941   3574   
@@ -0,0 +1,9 @@
        3575  +
GET / HTTP/1.1
        3576  +
Host:example.amazonaws.com
        3577  +
My-Header1:value2
        3578  +
My-Header1:value2
        3579  +
My-Header1:value1
        3580  +
X-Amz-Date:20150830T123600Z
        3581  +
X-Amz-Region-Set:us-east-1
        3582  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3583  +
 2942   3584   
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
 2943   3585   
similarity index 99%
 2944   3586   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 2945   3587   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 2946   3588   
index 8783461..bfc4619 100644
 2947   3589   
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
 2948   3590   
new file mode 100644
 2949   3591   
index 0000000..379dcb2
 2950         -
-- /dev/null
        3592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 2951   3593   
@@ -0,0 +1,4 @@
        3594  +
{
        3595  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3596  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3597  +
}
 2952   3598   
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
 2953   3599   
similarity index 99%
 2954   3600   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 2955   3601   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 2956   3602   
index 9561297..c05c3f5 100644
 2957   3603   
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
 2958   3604   
new file mode 100644
 2959   3605   
index 0000000..de9a4c3
 2960         -
-- /dev/null
        3606  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 2961   3607   
@@ -0,0 +1 @@
        3608  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 2962   3609   
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
 2963   3610   
new file mode 100644
 2964   3611   
index 0000000..6c6b8c4
 2965         -
-- /dev/null
        3612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 2966   3613   
@@ -0,0 +1,6 @@
        3614  +
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
        3615  +
Host:example.amazonaws.com
        3616  +
My-Header1:value2
        3617  +
My-Header1:value2
        3618  +
My-Header1:value1
        3619  +
 2967   3620   
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
 2968   3621   
similarity index 99%
 2969   3622   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 2970   3623   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 2971   3624   
index 3140f6f..4eef106 100644
 2972   3625   
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
 2973   3626   
similarity index 78%
 2974   3627   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 2975   3628   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2976   3629   
index 08a0364..40455ce 100644
 2977         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 2978   3631   
@@ -1,6 +1,5 @@
 2979   3632   
GET / HTTP/1.1
 2980   3633   
Host:example.amazonaws.com
 2981   3634   
My-Header1:value2
 2982   3635   
My-Header1:value2
 2983   3636   
My-Header1:value1
 2984         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2985   3637   
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
 2986   3638   
new file mode 100644
 2987   3639   
index 0000000..0468d80
 2988         -
-- /dev/null
        3640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 2989   3641   
@@ -0,0 +1,12 @@
        3642  +
{
        3643  +
    "credentials": {
        3644  +
        "access_key_id": "AKIDEXAMPLE",
        3645  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3646  +
    },
        3647  +
    "expiration_in_seconds": 3600,
        3648  +
    "normalize": true,
        3649  +
    "region": "us-east-1",
        3650  +
    "service": "service",
        3651  +
    "sign_body": false,
        3652  +
    "timestamp": "2015-08-30T12:36:00Z"
        3653  +
}
              \
 No newline at end of file
 2990   3654   
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
 2991   3655   
new file mode 100644
 2992   3656   
index 0000000..69526cd
 2993         -
-- /dev/null
        3657  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 2994   3658   
@@ -0,0 +1,10 @@
        3659  +
GET
        3660  +
/
        3661  +
        3662  +
host:example.amazonaws.com
        3663  +
my-header1:value1 value2 value3
        3664  +
x-amz-date:20150830T123600Z
        3665  +
x-amz-region-set:us-east-1
        3666  +
        3667  +
host;my-header1;x-amz-date;x-amz-region-set
        3668  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2995   3669   
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
 2996   3670   
new file mode 100644
 2997   3671   
index 0000000..d51b4f3
 2998         -
-- /dev/null
        3672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 2999   3673   
@@ -0,0 +1 @@
        3674  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 3000   3675   
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
 3001   3676   
new file mode 100644
 3002   3677   
index 0000000..8131420
 3003         -
-- /dev/null
        3678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 3004   3679   
@@ -0,0 +1,9 @@
        3680  +
GET / HTTP/1.1
        3681  +
Host:example.amazonaws.com
        3682  +
My-Header1:value1
        3683  +
  value2
        3684  +
     value3
        3685  +
X-Amz-Date:20150830T123600Z
        3686  +
X-Amz-Region-Set:us-east-1
        3687  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3688  +
 3005   3689   
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
 3006   3690   
new file mode 100644
 3007   3691   
index 0000000..e4d99fa
 3008         -
-- /dev/null
        3692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 3009   3693   
@@ -0,0 +1,4 @@
        3694  +
AWS4-ECDSA-P256-SHA256
        3695  +
20150830T123600Z
        3696  +
20150830/service/aws4_request
        3697  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 3010   3698   
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
 3011   3699   
new file mode 100644
 3012   3700   
index 0000000..379dcb2
 3013         -
-- /dev/null
        3701  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 3014   3702   
@@ -0,0 +1,4 @@
        3703  +
{
        3704  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3705  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3706  +
}
 3015   3707   
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
 3016   3708   
new file mode 100644
 3017   3709   
index 0000000..3c4d52f
 3018         -
-- /dev/null
        3710  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 3019   3711   
@@ -0,0 +1,8 @@
        3712  +
GET
        3713  +
/
        3714  +
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
        3715  +
host:example.amazonaws.com
        3716  +
my-header1:value1 value2 value3
        3717  +
        3718  +
host;my-header1
        3719  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3020   3720   
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
 3021   3721   
new file mode 100644
 3022   3722   
index 0000000..4e63f9a
 3023         -
-- /dev/null
        3723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 3024   3724   
@@ -0,0 +1 @@
        3725  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 3025   3726   
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
 3026   3727   
new file mode 100644
 3027   3728   
index 0000000..adf1f09
 3028         -
-- /dev/null
        3729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 3029   3730   
@@ -0,0 +1,6 @@
        3731  +
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
        3732  +
Host:example.amazonaws.com
        3733  +
My-Header1:value1
        3734  +
  value2
        3735  +
     value3
        3736  +
 3030   3737   
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
 3031   3738   
new file mode 100644
 3032   3739   
index 0000000..e085407
 3033         -
-- /dev/null
        3740  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3034   3741   
@@ -0,0 +1,4 @@
        3742  +
AWS4-ECDSA-P256-SHA256
        3743  +
20150830T123600Z
        3744  +
20150830/service/aws4_request
        3745  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 3035   3746   
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
 3036   3747   
new file mode 100644
 3037   3748   
index 0000000..b5026cd
 3038         -
-- /dev/null
        3749  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3039   3750   
@@ -0,0 +1,5 @@
        3751  +
GET / HTTP/1.1
        3752  +
Host:example.amazonaws.com
        3753  +
My-Header1:value1
        3754  +
  value2
        3755  +
     value3
 3040   3756   
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
 3041   3757   
new file mode 100644
 3042   3758   
index 0000000..0468d80
 3043         -
-- /dev/null
        3759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3044   3760   
@@ -0,0 +1,12 @@
        3761  +
{
        3762  +
    "credentials": {
        3763  +
        "access_key_id": "AKIDEXAMPLE",
        3764  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3765  +
    },
        3766  +
    "expiration_in_seconds": 3600,
        3767  +
    "normalize": true,
        3768  +
    "region": "us-east-1",
        3769  +
    "service": "service",
        3770  +
    "sign_body": false,
        3771  +
    "timestamp": "2015-08-30T12:36:00Z"
        3772  +
}
              \
 No newline at end of file
 3045   3773   
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
 3046   3774   
similarity index 99%
 3047   3775   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3048   3776   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3049   3777   
index 9375193..533afdb 100644
 3050   3778   
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
 3051   3779   
new file mode 100644
 3052   3780   
index 0000000..057b426
 3053         -
-- /dev/null
        3781  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3054   3782   
@@ -0,0 +1 @@
        3783  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3055   3784   
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
 3056   3785   
new file mode 100644
 3057   3786   
index 0000000..4e4ccf0
 3058         -
-- /dev/null
        3787  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3059   3788   
@@ -0,0 +1,10 @@
        3789  +
GET / HTTP/1.1
        3790  +
Host:example.amazonaws.com
        3791  +
My-Header1:value4
        3792  +
My-Header1:value1
        3793  +
My-Header1:value3
        3794  +
My-Header1:value2
        3795  +
X-Amz-Date:20150830T123600Z
        3796  +
X-Amz-Region-Set:us-east-1
        3797  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3798  +
 3060   3799   
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
 3061   3800   
similarity index 99%
 3062   3801   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3063   3802   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3064   3803   
index 6400baf..e68c952 100644
 3065   3804   
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
 3066   3805   
new file mode 100644
 3067   3806   
index 0000000..379dcb2
 3068         -
-- /dev/null
        3807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3069   3808   
@@ -0,0 +1,4 @@
        3809  +
{
        3810  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3811  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3812  +
}
 3070   3813   
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
 3071   3814   
similarity index 99%
 3072   3815   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3073   3816   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3074   3817   
index ecf494a..68450fe 100644
 3075   3818   
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
 3076   3819   
new file mode 100644
 3077   3820   
index 0000000..9df2eb3
 3078         -
-- /dev/null
        3821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3079   3822   
@@ -0,0 +1 @@
        3823  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3080   3824   
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
 3081   3825   
new file mode 100644
 3082   3826   
index 0000000..62f8cb7
 3083         -
-- /dev/null
        3827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3084   3828   
@@ -0,0 +1,7 @@
        3829  +
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
        3830  +
Host:example.amazonaws.com
        3831  +
My-Header1:value4
        3832  +
My-Header1:value1
        3833  +
My-Header1:value3
        3834  +
My-Header1:value2
        3835  +
 3085   3836   
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
 3086   3837   
similarity index 99%
 3087   3838   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3088   3839   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3089   3840   
index b584179..2bcf7b1 100644
 3090   3841   
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
 3091   3842   
similarity index 80%
 3092   3843   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3093   3844   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3094   3845   
index f7bd9e6..2c6f49d 100644
 3095         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3846  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3096   3847   
@@ -1,7 +1,6 @@
 3097   3848   
GET / HTTP/1.1
 3098   3849   
Host:example.amazonaws.com
 3099   3850   
My-Header1:value4
 3100   3851   
My-Header1:value1
 3101   3852   
My-Header1:value3
 3102   3853   
My-Header1:value2
 3103         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3104   3854   
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
 3105   3855   
new file mode 100644
 3106   3856   
index 0000000..0468d80
 3107         -
-- /dev/null
        3857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3108   3858   
@@ -0,0 +1,12 @@
        3859  +
{
        3860  +
    "credentials": {
        3861  +
        "access_key_id": "AKIDEXAMPLE",
        3862  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3863  +
    },
        3864  +
    "expiration_in_seconds": 3600,
        3865  +
    "normalize": true,
        3866  +
    "region": "us-east-1",
        3867  +
    "service": "service",
        3868  +
    "sign_body": false,
        3869  +
    "timestamp": "2015-08-30T12:36:00Z"
        3870  +
}
              \
 No newline at end of file
 3109   3871   
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
 3110   3872   
similarity index 99%
 3111   3873   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3112   3874   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3113   3875   
index e91e952..94b6be5 100644
 3114   3876   
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
 3115   3877   
new file mode 100644
 3116   3878   
index 0000000..bf8c3cb
 3117         -
-- /dev/null
        3879  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3118   3880   
@@ -0,0 +1 @@
        3881  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3119   3882   
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
 3120   3883   
new file mode 100644
 3121   3884   
index 0000000..f7f054d
 3122         -
-- /dev/null
        3885  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3123   3886   
@@ -0,0 +1,8 @@
        3887  +
GET / HTTP/1.1
        3888  +
Host:example.amazonaws.com
        3889  +
My-Header1: value1
        3890  +
My-Header2: "a   b   c"
        3891  +
X-Amz-Date:20150830T123600Z
        3892  +
X-Amz-Region-Set:us-east-1
        3893  +
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
        3894  +
 3124   3895   
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
 3125   3896   
similarity index 99%
 3126   3897   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3127   3898   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3128   3899   
index 0e407d8..a2c9c05 100644
 3129   3900   
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
 3130   3901   
new file mode 100644
 3131   3902   
index 0000000..379dcb2
 3132         -
-- /dev/null
        3903  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3133   3904   
@@ -0,0 +1,4 @@
        3905  +
{
        3906  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3907  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3908  +
}
 3134   3909   
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
 3135   3910   
similarity index 99%
 3136   3911   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3137   3912   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3138   3913   
index 8a3b042..3a51150 100644
 3139   3914   
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
 3140   3915   
new file mode 100644
 3141   3916   
index 0000000..0033053
 3142         -
-- /dev/null
        3917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3143   3918   
@@ -0,0 +1 @@
        3919  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3144   3920   
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
 3145   3921   
new file mode 100644
 3146   3922   
index 0000000..1537888
 3147         -
-- /dev/null
        3923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3148   3924   
@@ -0,0 +1,5 @@
        3925  +
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
        3926  +
Host:example.amazonaws.com
        3927  +
My-Header1: value1
        3928  +
My-Header2: "a   b   c"
        3929  +
 3149   3930   
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
 3150   3931   
similarity index 99%
 3151   3932   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3152   3933   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3153   3934   
index 5eead25..633dc1f 100644
 3154   3935   
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
 3155   3936   
similarity index 75%
 3156   3937   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3157   3938   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3158   3939   
index 901f36c..ad1ea98 100644
 3159         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        3940  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3160   3941   
@@ -1,5 +1,4 @@
 3161   3942   
GET / HTTP/1.1
 3162   3943   
Host:example.amazonaws.com
 3163   3944   
My-Header1: value1
 3164   3945   
My-Header2: "a   b   c"
 3165         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3166   3946   
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
 3167   3947   
new file mode 100644
 3168   3948   
index 0000000..0468d80
 3169         -
-- /dev/null
        3949  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3170   3950   
@@ -0,0 +1,12 @@
        3951  +
{
        3952  +
    "credentials": {
        3953  +
        "access_key_id": "AKIDEXAMPLE",
        3954  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3955  +
    },
        3956  +
    "expiration_in_seconds": 3600,
        3957  +
    "normalize": true,
        3958  +
    "region": "us-east-1",
        3959  +
    "service": "service",
        3960  +
    "sign_body": false,
        3961  +
    "timestamp": "2015-08-30T12:36:00Z"
        3962  +
}
              \
 No newline at end of file
 3171   3963   
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
 3172   3964   
similarity index 99%
 3173   3965   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3174   3966   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3175   3967   
index 47e7128..76db73d 100644
 3176   3968   
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
 3177   3969   
new file mode 100644
 3178   3970   
index 0000000..cbd6ae2
 3179         -
-- /dev/null
        3971  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3180   3972   
@@ -0,0 +1 @@
        3973  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3181   3974   
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
 3182   3975   
new file mode 100644
 3183   3976   
index 0000000..a343fcf
 3184         -
-- /dev/null
        3977  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3185   3978   
@@ -0,0 +1,6 @@
        3979  +
GET /example/.. HTTP/1.1
        3980  +
Host:example.amazonaws.com
        3981  +
X-Amz-Date:20150830T123600Z
        3982  +
X-Amz-Region-Set:us-east-1
        3983  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        3984  +
 3186   3985   
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
 3187   3986   
similarity index 99%
 3188   3987   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3189   3988   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3190   3989   
index 95d7219..600f1d8 100644
 3191   3990   
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
 3192   3991   
new file mode 100644
 3193   3992   
index 0000000..379dcb2
 3194         -
-- /dev/null
        3993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3195   3994   
@@ -0,0 +1,4 @@
        3995  +
{
        3996  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3997  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3998  +
}
 3196   3999   
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
 3197   4000   
similarity index 99%
 3198   4001   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3199   4002   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3200   4003   
index a34ea26..779c51c 100644
 3201   4004   
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
 3202   4005   
new file mode 100644
 3203   4006   
index 0000000..3cc88e6
 3204         -
-- /dev/null
        4007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3205   4008   
@@ -0,0 +1 @@
        4009  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3206   4010   
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
 3207   4011   
new file mode 100644
 3208   4012   
index 0000000..f68dde8
 3209         -
-- /dev/null
        4013  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3210   4014   
@@ -0,0 +1,3 @@
        4015  +
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
        4016  +
Host:example.amazonaws.com
        4017  +
 3211   4018   
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
 3212   4019   
similarity index 99%
 3213   4020   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3214   4021   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3215   4022   
index 48f855c..6e29a7e 100644
 3216   4023   
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
 3217   4024   
similarity index 65%
 3218   4025   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3219   4026   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3220   4027   
index 9d6d7ca..6aa9f99 100644
 3221         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        4028  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3222   4029   
@@ -1,3 +1,2 @@
 3223   4030   
GET /example/.. HTTP/1.1
 3224   4031   
Host:example.amazonaws.com
 3225         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3226   4032   
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
 3227   4033   
new file mode 100644
 3228   4034   
index 0000000..0468d80
 3229         -
-- /dev/null
        4035  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3230   4036   
@@ -0,0 +1,12 @@
        4037  +
{
        4038  +
    "credentials": {
        4039  +
        "access_key_id": "AKIDEXAMPLE",
        4040  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4041  +
    },
        4042  +
    "expiration_in_seconds": 3600,
        4043  +
    "normalize": true,
        4044  +
    "region": "us-east-1",
        4045  +
    "service": "service",
        4046  +
    "sign_body": false,
        4047  +
    "timestamp": "2015-08-30T12:36:00Z"
        4048  +
}
              \
 No newline at end of file
 3231   4049   
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
 3232   4050   
similarity index 99%
 3233   4051   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3234   4052   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3235   4053   
index 47e7128..76db73d 100644
 3236   4054   
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
 3237   4055   
new file mode 100644
 3238   4056   
index 0000000..f7a7ebe
 3239         -
-- /dev/null
        4057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3240   4058   
@@ -0,0 +1 @@
        4059  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3241   4060   
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
 3242   4061   
new file mode 100644
 3243   4062   
index 0000000..9d2c50d
 3244         -
-- /dev/null
        4063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3245   4064   
@@ -0,0 +1,6 @@
        4065  +
GET /example1/example2/../.. HTTP/1.1
        4066  +
Host:example.amazonaws.com
        4067  +
X-Amz-Date:20150830T123600Z
        4068  +
X-Amz-Region-Set:us-east-1
        4069  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4070  +
 3246   4071   
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
 3247   4072   
similarity index 99%
 3248   4073   
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
 3249   4074   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3250   4075   
index 95d7219..600f1d8 100644
 3251   4076   
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
 3252   4077   
new file mode 100644
 3253   4078   
index 0000000..379dcb2
 3254         -
-- /dev/null
        4079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3255   4080   
@@ -0,0 +1,4 @@
        4081  +
{
        4082  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4083  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4084  +
}
 3256   4085   
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
 3257   4086   
similarity index 99%
 3258   4087   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3259   4088   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3260   4089   
index a34ea26..779c51c 100644
 3261   4090   
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
 3262   4091   
new file mode 100644
 3263   4092   
index 0000000..45ef286
 3264         -
-- /dev/null
        4093  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3265   4094   
@@ -0,0 +1 @@
        4095  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3266   4096   
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
 3267   4097   
new file mode 100644
 3268   4098   
index 0000000..0d16f66
 3269         -
-- /dev/null
        4099  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3270   4100   
@@ -0,0 +1,3 @@
        4101  +
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
        4102  +
Host:example.amazonaws.com
        4103  +
 3271   4104   
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
 3272   4105   
similarity index 99%
 3273   4106   
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
 3274   4107   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3275   4108   
index 48f855c..6e29a7e 100644
 3276   4109   
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
 3277   4110   
similarity index 70%
 3278   4111   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3279   4112   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3280   4113   
index cfd4e8b..a856c10 100644
 3281         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3282   4115   
@@ -1,3 +1,2 @@
 3283   4116   
GET /example1/example2/../.. HTTP/1.1
 3284   4117   
Host:example.amazonaws.com
 3285         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3286   4118   
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
 3287   4119   
new file mode 100644
 3288   4120   
index 0000000..7bee5c7
 3289         -
-- /dev/null
        4121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3290   4122   
@@ -0,0 +1,12 @@
        4123  +
{
        4124  +
    "credentials": {
        4125  +
        "access_key_id": "AKIDEXAMPLE",
        4126  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4127  +
    },
        4128  +
    "expiration_in_seconds": 3600,
        4129  +
    "normalize": false,
        4130  +
    "region": "us-east-1",
        4131  +
    "service": "service",
        4132  +
    "sign_body": false,
        4133  +
    "timestamp": "2015-08-30T12:36:00Z"
        4134  +
}
              \
 No newline at end of file
 3291   4135   
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
 3292   4136   
similarity index 99%
 3293   4137   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3294   4138   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3295   4139   
index 5e1d1cf..e4e6d57 100644
 3296   4140   
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
 3297   4141   
new file mode 100644
 3298   4142   
index 0000000..2d1b47c
 3299         -
-- /dev/null
        4143  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3300   4144   
@@ -0,0 +1 @@
        4145  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3301   4146   
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
 3302   4147   
new file mode 100644
 3303   4148   
index 0000000..7158179
 3304         -
-- /dev/null
        4149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3305   4150   
@@ -0,0 +1,6 @@
        4151  +
GET /example1/example2/../.. HTTP/1.1
        4152  +
Host:example.amazonaws.com
        4153  +
X-Amz-Date:20150830T123600Z
        4154  +
X-Amz-Region-Set:us-east-1
        4155  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4156  +
 3306   4157   
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
 3307   4158   
similarity index 99%
 3308   4159   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3309   4160   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3310   4161   
index 1cca6cf..db60c8e 100644
 3311   4162   
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
 3312   4163   
new file mode 100644
 3313   4164   
index 0000000..379dcb2
 3314         -
-- /dev/null
        4165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3315   4166   
@@ -0,0 +1,4 @@
        4167  +
{
        4168  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4169  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4170  +
}
 3316   4171   
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
 3317   4172   
similarity index 99%
 3318   4173   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3319   4174   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3320   4175   
index 95dc104..0d963ba 100644
 3321   4176   
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
 3322   4177   
new file mode 100644
 3323   4178   
index 0000000..ae774e4
 3324         -
-- /dev/null
        4179  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3325   4180   
@@ -0,0 +1 @@
        4181  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3326   4182   
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
 3327   4183   
new file mode 100644
 3328   4184   
index 0000000..be6b86e
 3329         -
-- /dev/null
        4185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3330   4186   
@@ -0,0 +1,3 @@
        4187  +
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
        4188  +
Host:example.amazonaws.com
        4189  +
 3331   4190   
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
 3332   4191   
similarity index 99%
 3333   4192   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3334   4193   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3335   4194   
index 50edce6..fcc70cd 100644
 3336   4195   
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
 3337   4196   
new file mode 100644
 3338   4197   
index 0000000..a856c10
 3339         -
-- /dev/null
        4198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3340   4199   
@@ -0,0 +1,2 @@
        4200  +
GET /example1/example2/../.. HTTP/1.1
        4201  +
Host:example.amazonaws.com
 3341   4202   
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
 3342   4203   
new file mode 100644
 3343   4204   
index 0000000..7bee5c7
 3344         -
-- /dev/null
        4205  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3345   4206   
@@ -0,0 +1,12 @@
        4207  +
{
        4208  +
    "credentials": {
        4209  +
        "access_key_id": "AKIDEXAMPLE",
        4210  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4211  +
    },
        4212  +
    "expiration_in_seconds": 3600,
        4213  +
    "normalize": false,
        4214  +
    "region": "us-east-1",
        4215  +
    "service": "service",
        4216  +
    "sign_body": false,
        4217  +
    "timestamp": "2015-08-30T12:36:00Z"
        4218  +
}
              \
 No newline at end of file
 3346   4219   
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
 3347   4220   
similarity index 99%
 3348   4221   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3349   4222   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3350   4223   
index d6a0abe..22def1a 100644
 3351   4224   
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
 3352   4225   
new file mode 100644
 3353   4226   
index 0000000..9251bad
 3354         -
-- /dev/null
        4227  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3355   4228   
@@ -0,0 +1 @@
        4229  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3356   4230   
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
 3357   4231   
new file mode 100644
 3358   4232   
index 0000000..f1bb60f
 3359         -
-- /dev/null
        4233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3360   4234   
@@ -0,0 +1,6 @@
        4235  +
GET /example/.. HTTP/1.1
        4236  +
Host:example.amazonaws.com
        4237  +
X-Amz-Date:20150830T123600Z
        4238  +
X-Amz-Region-Set:us-east-1
        4239  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4240  +
 3361   4241   
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
 3362   4242   
similarity index 99%
 3363   4243   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3364   4244   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3365   4245   
index 4a34e93..5673a20 100644
 3366   4246   
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
 3367   4247   
new file mode 100644
 3368   4248   
index 0000000..379dcb2
 3369         -
-- /dev/null
        4249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3370   4250   
@@ -0,0 +1,4 @@
        4251  +
{
        4252  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4253  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4254  +
}
 3371   4255   
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
 3372   4256   
similarity index 99%
 3373   4257   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3374   4258   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3375   4259   
index b1d123e..a1c22e0 100644
 3376   4260   
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
 3377   4261   
new file mode 100644
 3378   4262   
index 0000000..9f0f686
 3379         -
-- /dev/null
        4263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3380   4264   
@@ -0,0 +1 @@
        4265  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3381   4266   
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
 3382   4267   
new file mode 100644
 3383   4268   
index 0000000..d1d451a
 3384         -
-- /dev/null
        4269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3385   4270   
@@ -0,0 +1,3 @@
        4271  +
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
        4272  +
Host:example.amazonaws.com
        4273  +
 3386   4274   
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
 3387   4275   
similarity index 99%
 3388   4276   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3389   4277   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3390   4278   
index a17f5ab..81b41e8 100644
 3391   4279   
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
 3392   4280   
new file mode 100644
 3393   4281   
index 0000000..6aa9f99
 3394         -
-- /dev/null
        4282  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3395   4283   
@@ -0,0 +1,2 @@
        4284  +
GET /example/.. HTTP/1.1
        4285  +
Host:example.amazonaws.com
 3396   4286   
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
 3397   4287   
new file mode 100644
 3398   4288   
index 0000000..0468d80
 3399         -
-- /dev/null
        4289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3400   4290   
@@ -0,0 +1,12 @@
        4291  +
{
        4292  +
    "credentials": {
        4293  +
        "access_key_id": "AKIDEXAMPLE",
        4294  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4295  +
    },
        4296  +
    "expiration_in_seconds": 3600,
        4297  +
    "normalize": true,
        4298  +
    "region": "us-east-1",
        4299  +
    "service": "service",
        4300  +
    "sign_body": false,
        4301  +
    "timestamp": "2015-08-30T12:36:00Z"
        4302  +
}
              \
 No newline at end of file
 3401   4303   
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
 3402   4304   
similarity index 99%
 3403   4305   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3404   4306   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3405   4307   
index 47e7128..76db73d 100644
 3406   4308   
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
 3407   4309   
new file mode 100644
 3408   4310   
index 0000000..ca6e84e
 3409         -
-- /dev/null
        4311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3410   4312   
@@ -0,0 +1 @@
        4313  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3411   4314   
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
 3412   4315   
new file mode 100644
 3413   4316   
index 0000000..a7c764c
 3414         -
-- /dev/null
        4317  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3415   4318   
@@ -0,0 +1,6 @@
        4319  +
GET /./ HTTP/1.1
        4320  +
Host:example.amazonaws.com
        4321  +
X-Amz-Date:20150830T123600Z
        4322  +
X-Amz-Region-Set:us-east-1
        4323  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4324  +
 3416   4325   
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
 3417   4326   
similarity index 99%
 3418   4327   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3419   4328   
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
 3420   4329   
index 95d7219..600f1d8 100644
 3421   4330   
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
 3422   4331   
new file mode 100644
 3423   4332   
index 0000000..379dcb2
 3424         -
-- /dev/null
        4333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3425   4334   
@@ -0,0 +1,4 @@
        4335  +
{
        4336  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4337  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4338  +
}
 3426   4339   
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
 3427   4340   
similarity index 99%
 3428   4341   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3429   4342   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3430   4343   
index a34ea26..779c51c 100644
 3431   4344   
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
 3432   4345   
new file mode 100644
 3433   4346   
index 0000000..4b6ed09
 3434         -
-- /dev/null
        4347  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3435   4348   
@@ -0,0 +1 @@
        4349  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3436   4350   
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
 3437   4351   
new file mode 100644
 3438   4352   
index 0000000..d6c7176
 3439         -
-- /dev/null
        4353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3440   4354   
@@ -0,0 +1,3 @@
        4355  +
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
        4356  +
Host:example.amazonaws.com
        4357  +
 3441   4358   
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
 3442   4359   
similarity index 99%
 3443   4360   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3444   4361   
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
 3445   4362   
index 48f855c..6e29a7e 100644
 3446   4363   
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
 3447   4364   
similarity index 61%
 3448   4365   
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
 3449   4366   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3450   4367   
index f3537b7..2c5ff38 100644
 3451         -
-- 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
        4368  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3452   4369   
@@ -1,3 +1,2 @@
 3453   4370   
GET /./ HTTP/1.1
 3454   4371   
Host:example.amazonaws.com
 3455         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3456   4372   
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
 3457   4373   
new file mode 100644
 3458   4374   
index 0000000..7bee5c7
 3459         -
-- /dev/null
        4375  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3460   4376   
@@ -0,0 +1,12 @@
        4377  +
{
        4378  +
    "credentials": {
        4379  +
        "access_key_id": "AKIDEXAMPLE",
        4380  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4381  +
    },
        4382  +
    "expiration_in_seconds": 3600,
        4383  +
    "normalize": false,
        4384  +
    "region": "us-east-1",
        4385  +
    "service": "service",
        4386  +
    "sign_body": false,
        4387  +
    "timestamp": "2015-08-30T12:36:00Z"
        4388  +
}
              \
 No newline at end of file
 3461   4389   
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
 3462   4390   
similarity index 99%
 3463   4391   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3464   4392   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3465   4393   
index d05303d..9257ac4 100644
 3466   4394   
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
 3467   4395   
new file mode 100644
 3468   4396   
index 0000000..2eb1aa5
 3469         -
-- /dev/null
        4397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3470   4398   
@@ -0,0 +1 @@
        4399  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3471   4400   
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
 3472   4401   
new file mode 100644
 3473   4402   
index 0000000..df3b1da
 3474         -
-- /dev/null
        4403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3475   4404   
@@ -0,0 +1,6 @@
        4405  +
GET /./ HTTP/1.1
        4406  +
Host:example.amazonaws.com
        4407  +
X-Amz-Date:20150830T123600Z
        4408  +
X-Amz-Region-Set:us-east-1
        4409  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4410  +
 3476   4411   
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
 3477   4412   
similarity index 99%
 3478   4413   
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
 3479   4414   
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
 3480   4415   
index e1bfb39..754b3ed 100644
 3481   4416   
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
 3482   4417   
new file mode 100644
 3483   4418   
index 0000000..379dcb2
 3484         -
-- /dev/null
        4419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3485   4420   
@@ -0,0 +1,4 @@
        4421  +
{
        4422  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4423  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4424  +
}
 3486   4425   
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
 3487   4426   
similarity index 99%
 3488   4427   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3489   4428   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3490   4429   
index f048d0f..c8edce3 100644
 3491   4430   
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
 3492   4431   
new file mode 100644
 3493   4432   
index 0000000..d3af3b8
 3494         -
-- /dev/null
        4433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3495   4434   
@@ -0,0 +1 @@
        4435  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3496   4436   
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
 3497   4437   
new file mode 100644
 3498   4438   
index 0000000..eb38155
 3499         -
-- /dev/null
        4439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3500   4440   
@@ -0,0 +1,3 @@
        4441  +
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
        4442  +
Host:example.amazonaws.com
        4443  +
 3501   4444   
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
 3502   4445   
similarity index 99%
 3503   4446   
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
 3504   4447   
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
 3505   4448   
index bfcf245..4f20b8f 100644
 3506   4449   
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
 3507   4450   
new file mode 100644
 3508   4451   
index 0000000..2c5ff38
 3509         -
-- /dev/null
        4452  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3510   4453   
@@ -0,0 +1,2 @@
        4454  +
GET /./ HTTP/1.1
        4455  +
Host:example.amazonaws.com
 3511   4456   
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
 3512   4457   
new file mode 100644
 3513   4458   
index 0000000..0468d80
 3514         -
-- /dev/null
        4459  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3515   4460   
@@ -0,0 +1,12 @@
        4461  +
{
        4462  +
    "credentials": {
        4463  +
        "access_key_id": "AKIDEXAMPLE",
        4464  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4465  +
    },
        4466  +
    "expiration_in_seconds": 3600,
        4467  +
    "normalize": true,
        4468  +
    "region": "us-east-1",
        4469  +
    "service": "service",
        4470  +
    "sign_body": false,
        4471  +
    "timestamp": "2015-08-30T12:36:00Z"
        4472  +
}
              \
 No newline at end of file
 3516   4473   
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
 3517   4474   
similarity index 99%
 3518   4475   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3519   4476   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3520   4477   
index 47e7128..76db73d 100644
 3521   4478   
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
 3522   4479   
new file mode 100644
 3523   4480   
index 0000000..0c049ca
 3524         -
-- /dev/null
        4481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3525   4482   
@@ -0,0 +1 @@
        4483  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3526   4484   
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
 3527   4485   
new file mode 100644
 3528   4486   
index 0000000..f4bb1e1
 3529         -
-- /dev/null
        4487  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3530   4488   
@@ -0,0 +1,6 @@
        4489  +
GET // HTTP/1.1
        4490  +
Host:example.amazonaws.com
        4491  +
X-Amz-Date:20150830T123600Z
        4492  +
X-Amz-Region-Set:us-east-1
        4493  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4494  +
 3531   4495   
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
 3532   4496   
similarity index 99%
 3533   4497   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3534   4498   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3535   4499   
index 95d7219..600f1d8 100644
 3536   4500   
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
 3537   4501   
new file mode 100644
 3538   4502   
index 0000000..379dcb2
 3539         -
-- /dev/null
        4503  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3540   4504   
@@ -0,0 +1,4 @@
        4505  +
{
        4506  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4507  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4508  +
}
 3541   4509   
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
 3542   4510   
similarity index 99%
 3543   4511   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3544   4512   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3545   4513   
index a34ea26..779c51c 100644
 3546   4514   
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
 3547   4515   
new file mode 100644
 3548   4516   
index 0000000..ca52293
 3549         -
-- /dev/null
        4517  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3550   4518   
@@ -0,0 +1 @@
        4519  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3551   4520   
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
 3552   4521   
new file mode 100644
 3553   4522   
index 0000000..4a212a9
 3554         -
-- /dev/null
        4523  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3555   4524   
@@ -0,0 +1,3 @@
        4525  +
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
        4526  +
Host:example.amazonaws.com
        4527  +
 3556   4528   
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
 3557   4529   
similarity index 99%
 3558   4530   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3559   4531   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3560   4532   
index 48f855c..6e29a7e 100644
 3561   4533   
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
 3562   4534   
similarity index 61%
 3563   4535   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3564   4536   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3565   4537   
index ede8e3c..25bc21e 100644
 3566         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3567   4539   
@@ -1,3 +1,2 @@
 3568   4540   
GET // HTTP/1.1
 3569   4541   
Host:example.amazonaws.com
 3570         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3571   4542   
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
 3572   4543   
new file mode 100644
 3573   4544   
index 0000000..0468d80
 3574         -
-- /dev/null
        4545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3575   4546   
@@ -0,0 +1,12 @@
        4547  +
{
        4548  +
    "credentials": {
        4549  +
        "access_key_id": "AKIDEXAMPLE",
        4550  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4551  +
    },
        4552  +
    "expiration_in_seconds": 3600,
        4553  +
    "normalize": true,
        4554  +
    "region": "us-east-1",
        4555  +
    "service": "service",
        4556  +
    "sign_body": false,
        4557  +
    "timestamp": "2015-08-30T12:36:00Z"
        4558  +
}
              \
 No newline at end of file
 3576   4559   
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
 3577   4560   
similarity index 99%
 3578   4561   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3579   4562   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3580   4563   
index 2e36c20..a51f1ba 100644
 3581   4564   
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
 3582   4565   
new file mode 100644
 3583   4566   
index 0000000..f5c871f
 3584         -
-- /dev/null
        4567  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3585   4568   
@@ -0,0 +1 @@
        4569  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3586   4570   
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
 3587   4571   
new file mode 100644
 3588   4572   
index 0000000..bda4718
 3589         -
-- /dev/null
        4573  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3590   4574   
@@ -0,0 +1,6 @@
        4575  +
GET /./example HTTP/1.1
        4576  +
Host:example.amazonaws.com
        4577  +
X-Amz-Date:20150830T123600Z
        4578  +
X-Amz-Region-Set:us-east-1
        4579  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4580  +
 3591   4581   
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
 3592   4582   
similarity index 99%
 3593   4583   
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
 3594   4584   
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
 3595   4585   
index cd30e8b..2ffe879 100644
 3596   4586   
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
 3597   4587   
new file mode 100644
 3598   4588   
index 0000000..379dcb2
 3599         -
-- /dev/null
        4589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3600   4590   
@@ -0,0 +1,4 @@
        4591  +
{
        4592  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4593  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4594  +
}
 3601   4595   
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
 3602   4596   
similarity index 99%
 3603   4597   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3604   4598   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3605   4599   
index 77cf28d..45151ea 100644
 3606   4600   
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
 3607   4601   
new file mode 100644
 3608   4602   
index 0000000..11ad7bf
 3609         -
-- /dev/null
        4603  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3610   4604   
@@ -0,0 +1 @@
        4605  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3611   4606   
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
 3612   4607   
new file mode 100644
 3613   4608   
index 0000000..a7537b1
 3614         -
-- /dev/null
        4609  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3615   4610   
@@ -0,0 +1,3 @@
        4611  +
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
        4612  +
Host:example.amazonaws.com
        4613  +
 3616   4614   
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
 3617   4615   
similarity index 99%
 3618   4616   
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
 3619   4617   
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
 3620   4618   
index 49d9b24..b486672 100644
 3621   4619   
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
 3622   4620   
similarity index 65%
 3623   4621   
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
 3624   4622   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3625   4623   
index 3c91071..5d919c9 100644
 3626         -
-- 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
        4624  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3627   4625   
@@ -1,3 +1,2 @@
 3628   4626   
GET /./example HTTP/1.1
 3629   4627   
Host:example.amazonaws.com
 3630         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3631   4628   
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
 3632   4629   
new file mode 100644
 3633   4630   
index 0000000..7bee5c7
 3634         -
-- /dev/null
        4631  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3635   4632   
@@ -0,0 +1,12 @@
        4633  +
{
        4634  +
    "credentials": {
        4635  +
        "access_key_id": "AKIDEXAMPLE",
        4636  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4637  +
    },
        4638  +
    "expiration_in_seconds": 3600,
        4639  +
    "normalize": false,
        4640  +
    "region": "us-east-1",
        4641  +
    "service": "service",
        4642  +
    "sign_body": false,
        4643  +
    "timestamp": "2015-08-30T12:36:00Z"
        4644  +
}
              \
 No newline at end of file
 3636   4645   
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
 3637   4646   
similarity index 99%
 3638   4647   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3639   4648   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3640   4649   
index 4444842..2355a69 100644
 3641   4650   
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
 3642   4651   
new file mode 100644
 3643   4652   
index 0000000..9c8f737
 3644         -
-- /dev/null
        4653  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3645   4654   
@@ -0,0 +1 @@
        4655  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3646   4656   
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
 3647   4657   
new file mode 100644
 3648   4658   
index 0000000..aa5980d
 3649         -
-- /dev/null
        4659  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3650   4660   
@@ -0,0 +1,6 @@
        4661  +
GET /./example HTTP/1.1
        4662  +
Host:example.amazonaws.com
        4663  +
X-Amz-Date:20150830T123600Z
        4664  +
X-Amz-Region-Set:us-east-1
        4665  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4666  +
 3651   4667   
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
 3652   4668   
similarity index 99%
 3653   4669   
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
 3654   4670   
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
 3655   4671   
index cc63510..d056816 100644
 3656   4672   
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
 3657   4673   
new file mode 100644
 3658   4674   
index 0000000..379dcb2
 3659         -
-- /dev/null
        4675  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3660   4676   
@@ -0,0 +1,4 @@
        4677  +
{
        4678  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4679  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4680  +
}
 3661   4681   
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
 3662   4682   
similarity index 99%
 3663   4683   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3664   4684   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3665   4685   
index ed2cb2d..df9928e 100644
 3666   4686   
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
 3667   4687   
new file mode 100644
 3668   4688   
index 0000000..bb4d86b
 3669         -
-- /dev/null
        4689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3670   4690   
@@ -0,0 +1 @@
        4691  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3671   4692   
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
 3672   4693   
new file mode 100644
 3673   4694   
index 0000000..0061136
 3674         -
-- /dev/null
        4695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3675   4696   
@@ -0,0 +1,3 @@
        4697  +
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
        4698  +
Host:example.amazonaws.com
        4699  +
 3676   4700   
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
 3677   4701   
similarity index 99%
 3678   4702   
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
 3679   4703   
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
 3680   4704   
index c9f3b6d..418f2d6 100644
 3681   4705   
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
 3682   4706   
new file mode 100644
 3683   4707   
index 0000000..5d919c9
 3684         -
-- /dev/null
        4708  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3685   4709   
@@ -0,0 +1,2 @@
        4710  +
GET /./example HTTP/1.1
        4711  +
Host:example.amazonaws.com
 3686   4712   
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
 3687   4713   
new file mode 100644
 3688   4714   
index 0000000..7bee5c7
 3689         -
-- /dev/null
        4715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3690   4716   
@@ -0,0 +1,12 @@
        4717  +
{
        4718  +
    "credentials": {
        4719  +
        "access_key_id": "AKIDEXAMPLE",
        4720  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4721  +
    },
        4722  +
    "expiration_in_seconds": 3600,
        4723  +
    "normalize": false,
        4724  +
    "region": "us-east-1",
        4725  +
    "service": "service",
        4726  +
    "sign_body": false,
        4727  +
    "timestamp": "2015-08-30T12:36:00Z"
        4728  +
}
              \
 No newline at end of file
 3691   4729   
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
 3692   4730   
similarity index 99%
 3693   4731   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3694   4732   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3695   4733   
index 8a4d33b..5f809da 100644
 3696   4734   
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
 3697   4735   
new file mode 100644
 3698   4736   
index 0000000..60179e9
 3699         -
-- /dev/null
        4737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3700   4738   
@@ -0,0 +1 @@
        4739  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3701   4740   
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
 3702   4741   
new file mode 100644
 3703   4742   
index 0000000..72bf1b7
 3704         -
-- /dev/null
        4743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3705   4744   
@@ -0,0 +1,6 @@
        4745  +
GET // HTTP/1.1
        4746  +
Host:example.amazonaws.com
        4747  +
X-Amz-Date:20150830T123600Z
        4748  +
X-Amz-Region-Set:us-east-1
        4749  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4750  +
 3706   4751   
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
 3707   4752   
similarity index 99%
 3708   4753   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3709   4754   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3710   4755   
index 874c01c..2b3bf67 100644
 3711   4756   
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
 3712   4757   
new file mode 100644
 3713   4758   
index 0000000..379dcb2
 3714         -
-- /dev/null
        4759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3715   4760   
@@ -0,0 +1,4 @@
        4761  +
{
        4762  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4763  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4764  +
}
 3716   4765   
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
 3717   4766   
similarity index 99%
 3718   4767   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3719   4768   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3720   4769   
index 81d7b0b..d10ad29 100644
 3721   4770   
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
 3722   4771   
new file mode 100644
 3723   4772   
index 0000000..d9bd824
 3724         -
-- /dev/null
        4773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3725   4774   
@@ -0,0 +1 @@
        4775  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3726   4776   
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
 3727   4777   
new file mode 100644
 3728   4778   
index 0000000..19d1d46
 3729         -
-- /dev/null
        4779  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3730   4780   
@@ -0,0 +1,3 @@
        4781  +
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
        4782  +
Host:example.amazonaws.com
        4783  +
 3731   4784   
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
 3732   4785   
similarity index 99%
 3733   4786   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3734   4787   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3735   4788   
index 17e5279..24c8a5e 100644
 3736   4789   
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
 3737   4790   
new file mode 100644
 3738   4791   
index 0000000..25bc21e
 3739         -
-- /dev/null
        4792  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3740   4793   
@@ -0,0 +1,2 @@
        4794  +
GET // HTTP/1.1
        4795  +
Host:example.amazonaws.com
 3741   4796   
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
 3742   4797   
new file mode 100644
 3743   4798   
index 0000000..0468d80
 3744         -
-- /dev/null
        4799  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3745   4800   
@@ -0,0 +1,12 @@
        4801  +
{
        4802  +
    "credentials": {
        4803  +
        "access_key_id": "AKIDEXAMPLE",
        4804  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4805  +
    },
        4806  +
    "expiration_in_seconds": 3600,
        4807  +
    "normalize": true,
        4808  +
    "region": "us-east-1",
        4809  +
    "service": "service",
        4810  +
    "sign_body": false,
        4811  +
    "timestamp": "2015-08-30T12:36:00Z"
        4812  +
}
              \
 No newline at end of file
 3746   4813   
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
 3747   4814   
similarity index 99%
 3748   4815   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3749   4816   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3750   4817   
index fdf9c48..a8e9e02 100644
 3751   4818   
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
 3752   4819   
new file mode 100644
 3753   4820   
index 0000000..ffe1b60
 3754         -
-- /dev/null
        4821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3755   4822   
@@ -0,0 +1 @@
        4823  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3756   4824   
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
 3757   4825   
new file mode 100644
 3758   4826   
index 0000000..3189f55
 3759         -
-- /dev/null
        4827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3760   4828   
@@ -0,0 +1,6 @@
        4829  +
GET //example// HTTP/1.1
        4830  +
Host:example.amazonaws.com
        4831  +
X-Amz-Date:20150830T123600Z
        4832  +
X-Amz-Region-Set:us-east-1
        4833  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4834  +
 3761   4835   
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
 3762   4836   
similarity index 99%
 3763   4837   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3764   4838   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3765   4839   
index 8f9c95e..430020e 100644
 3766   4840   
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
 3767   4841   
new file mode 100644
 3768   4842   
index 0000000..379dcb2
 3769         -
-- /dev/null
        4843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3770   4844   
@@ -0,0 +1,4 @@
        4845  +
{
        4846  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4847  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4848  +
}
 3771   4849   
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
 3772   4850   
similarity index 99%
 3773   4851   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3774   4852   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3775   4853   
index 1046735..8d41e37 100644
 3776   4854   
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
 3777   4855   
new file mode 100644
 3778   4856   
index 0000000..93a0fa4
 3779         -
-- /dev/null
        4857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3780   4858   
@@ -0,0 +1 @@
        4859  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 3781   4860   
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
 3782   4861   
new file mode 100644
 3783   4862   
index 0000000..65c8cb6
 3784         -
-- /dev/null
        4863  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3785   4864   
@@ -0,0 +1,3 @@
        4865  +
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
        4866  +
Host:example.amazonaws.com
        4867  +
 3786   4868   
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
 3787   4869   
similarity index 99%
 3788   4870   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 3789   4871   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3790   4872   
index b293cc2..0f4c4c5 100644
 3791   4873   
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
 3792   4874   
similarity index 65%
 3793   4875   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 3794   4876   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3795   4877   
index a4307ce..12e0931 100644
 3796         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        4878  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3797   4879   
@@ -1,3 +1,2 @@
 3798   4880   
GET //example// HTTP/1.1
 3799   4881   
Host:example.amazonaws.com
 3800         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3801   4882   
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
 3802   4883   
new file mode 100644
 3803   4884   
index 0000000..7bee5c7
 3804         -
-- /dev/null
        4885  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3805   4886   
@@ -0,0 +1,12 @@
        4887  +
{
        4888  +
    "credentials": {
        4889  +
        "access_key_id": "AKIDEXAMPLE",
        4890  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4891  +
    },
        4892  +
    "expiration_in_seconds": 3600,
        4893  +
    "normalize": false,
        4894  +
    "region": "us-east-1",
        4895  +
    "service": "service",
        4896  +
    "sign_body": false,
        4897  +
    "timestamp": "2015-08-30T12:36:00Z"
        4898  +
}
              \
 No newline at end of file
 3806   4899   
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
 3807   4900   
similarity index 99%
 3808   4901   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 3809   4902   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3810   4903   
index a9c55f6..76f55ed 100644
 3811   4904   
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
 3812   4905   
new file mode 100644
 3813   4906   
index 0000000..de333b2
 3814         -
-- /dev/null
        4907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3815   4908   
@@ -0,0 +1 @@
        4909  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 3816   4910   
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
 3817   4911   
new file mode 100644
 3818   4912   
index 0000000..773ce63
 3819         -
-- /dev/null
        4913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3820   4914   
@@ -0,0 +1,6 @@
        4915  +
GET //example// HTTP/1.1
        4916  +
Host:example.amazonaws.com
        4917  +
X-Amz-Date:20150830T123600Z
        4918  +
X-Amz-Region-Set:us-east-1
        4919  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        4920  +
 3821   4921   
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
 3822   4922   
similarity index 99%
 3823   4923   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 3824   4924   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3825   4925   
index 5c4c2cd..46c3265 100644
 3826   4926   
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
 3827   4927   
new file mode 100644
 3828   4928   
index 0000000..379dcb2
 3829         -
-- /dev/null
        4929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3830   4930   
@@ -0,0 +1,4 @@
        4931  +
{
        4932  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4933  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4934  +
}
 3831   4935   
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
 3832   4936   
similarity index 99%
 3833   4937   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 3834   4938   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3835   4939   
index c878ab4..6047ccf 100644
 3836   4940   
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
 3837   4941   
new file mode 100644
 3838   4942   
index 0000000..d61fcd0
 3839         -
-- /dev/null
        4943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3840   4944   
@@ -0,0 +1 @@
        4945  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 3841   4946   
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
 3842   4947   
new file mode 100644
 3843   4948   
index 0000000..3e37b5b
 3844         -
-- /dev/null
        4949  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 3845   4950   
@@ -0,0 +1,3 @@
        4951  +
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
        4952  +
Host:example.amazonaws.com
        4953  +
 3846   4954   
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
 3847   4955   
similarity index 99%
 3848   4956   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 3849   4957   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 3850   4958   
index 5f59645..2537d28 100644
 3851   4959   
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
 3852   4960   
new file mode 100644
 3853   4961   
index 0000000..12e0931
 3854         -
-- /dev/null
        4962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 3855   4963   
@@ -0,0 +1,2 @@
        4964  +
GET //example// HTTP/1.1
        4965  +
Host:example.amazonaws.com
 3856   4966   
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
 3857   4967   
new file mode 100644
 3858   4968   
index 0000000..0468d80
 3859         -
-- /dev/null
        4969  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 3860   4970   
@@ -0,0 +1,12 @@
        4971  +
{
        4972  +
    "credentials": {
        4973  +
        "access_key_id": "AKIDEXAMPLE",
        4974  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4975  +
    },
        4976  +
    "expiration_in_seconds": 3600,
        4977  +
    "normalize": true,
        4978  +
    "region": "us-east-1",
        4979  +
    "service": "service",
        4980  +
    "sign_body": false,
        4981  +
    "timestamp": "2015-08-30T12:36:00Z"
        4982  +
}
              \
 No newline at end of file
 3861   4983   
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
 3862   4984   
new file mode 100644
 3863   4985   
index 0000000..0b2b616
 3864         -
-- /dev/null
        4986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 3865   4987   
@@ -0,0 +1,9 @@
        4988  +
GET
        4989  +
/example%20space/
        4990  +
        4991  +
host:example.amazonaws.com
        4992  +
x-amz-date:20150830T123600Z
        4993  +
x-amz-region-set:us-east-1
        4994  +
        4995  +
host;x-amz-date;x-amz-region-set
        4996  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3866   4997   
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
 3867   4998   
new file mode 100644
 3868   4999   
index 0000000..6e7841d
 3869         -
-- /dev/null
        5000  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 3870   5001   
@@ -0,0 +1 @@
        5002  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 3871   5003   
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
 3872   5004   
new file mode 100644
 3873   5005   
index 0000000..0969cd3
 3874         -
-- /dev/null
        5006  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 3875   5007   
@@ -0,0 +1,6 @@
        5008  +
GET /example space/ HTTP/1.1
        5009  +
Host:example.amazonaws.com
        5010  +
X-Amz-Date:20150830T123600Z
        5011  +
X-Amz-Region-Set:us-east-1
        5012  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        5013  +
 3876   5014   
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
 3877   5015   
new file mode 100644
 3878   5016   
index 0000000..ddae6e2
 3879         -
-- /dev/null
        5017  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 3880   5018   
@@ -0,0 +1,4 @@
        5019  +
AWS4-ECDSA-P256-SHA256
        5020  +
20150830T123600Z
        5021  +
20150830/service/aws4_request
        5022  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3881   5023   
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
 3882   5024   
new file mode 100644
 3883   5025   
index 0000000..379dcb2
 3884         -
-- /dev/null
        5026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 3885   5027   
@@ -0,0 +1,4 @@
        5028  +
{
        5029  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5030  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5031  +
}
 3886   5032   
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
 3887   5033   
new file mode 100644
 3888   5034   
index 0000000..a66b3cb
 3889         -
-- /dev/null
        5035  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 3890   5036   
@@ -0,0 +1,7 @@
        5037  +
GET
        5038  +
/example%20space/
        5039  +
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
        5040  +
host:example.amazonaws.com
        5041  +
        5042  +
host
        5043  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3891   5044   
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
 3892   5045   
new file mode 100644
 3893   5046   
index 0000000..b3253ae
 3894         -
-- /dev/null
        5047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 3895   5048   
@@ -0,0 +1 @@
        5049  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 3896   5050   
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
 3897   5051   
new file mode 100644
 3898   5052   
index 0000000..9e335b2
 3899         -
-- /dev/null
        5053  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 3900   5054   
@@ -0,0 +1,3 @@
        5055  +
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
        5056  +
Host:example.amazonaws.com
        5057  +
 3901   5058   
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
 3902   5059   
new file mode 100644
 3903   5060   
index 0000000..b6ff6fb
 3904         -
-- /dev/null
        5061  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 3905   5062   
@@ -0,0 +1,4 @@
        5063  +
AWS4-ECDSA-P256-SHA256
        5064  +
20150830T123600Z
        5065  +
20150830/service/aws4_request
        5066  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3906   5067   
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
 3907   5068   
new file mode 100644
 3908   5069   
index 0000000..ab509ab
 3909         -
-- /dev/null
        5070  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 3910   5071   
@@ -0,0 +1,2 @@
        5072  +
GET /example space/ HTTP/1.1
        5073  +
Host:example.amazonaws.com
 3911   5074   
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
 3912   5075   
new file mode 100644
 3913   5076   
index 0000000..7bee5c7
 3914         -
-- /dev/null
        5077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 3915   5078   
@@ -0,0 +1,12 @@
        5079  +
{
        5080  +
    "credentials": {
        5081  +
        "access_key_id": "AKIDEXAMPLE",
        5082  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5083  +
    },
        5084  +
    "expiration_in_seconds": 3600,
        5085  +
    "normalize": false,
        5086  +
    "region": "us-east-1",
        5087  +
    "service": "service",
        5088  +
    "sign_body": false,
        5089  +
    "timestamp": "2015-08-30T12:36:00Z"
        5090  +
}
              \
 No newline at end of file
 3916   5091   
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
 3917   5092   
new file mode 100644
 3918   5093   
index 0000000..0b2b616
 3919         -
-- /dev/null
        5094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 3920   5095   
@@ -0,0 +1,9 @@
        5096  +
GET
        5097  +
/example%20space/
        5098  +
        5099  +
host:example.amazonaws.com
        5100  +
x-amz-date:20150830T123600Z
        5101  +
x-amz-region-set:us-east-1
        5102  +
        5103  +
host;x-amz-date;x-amz-region-set
        5104  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3921   5105   
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
 3922   5106   
new file mode 100644
 3923   5107   
index 0000000..e75ae08
 3924         -
-- /dev/null
        5108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 3925   5109   
@@ -0,0 +1 @@
        5110  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 3926   5111   
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
 3927   5112   
new file mode 100644
 3928   5113   
index 0000000..cb089db
 3929         -
-- /dev/null
        5114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 3930   5115   
@@ -0,0 +1,6 @@
        5116  +
GET /example space/ HTTP/1.1
        5117  +
Host:example.amazonaws.com
        5118  +
X-Amz-Date:20150830T123600Z
        5119  +
X-Amz-Region-Set:us-east-1
        5120  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5121  +
 3931   5122   
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
 3932   5123   
new file mode 100644
 3933   5124   
index 0000000..ddae6e2
 3934         -
-- /dev/null
        5125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 3935   5126   
@@ -0,0 +1,4 @@
        5127  +
AWS4-ECDSA-P256-SHA256
        5128  +
20150830T123600Z
        5129  +
20150830/service/aws4_request
        5130  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 3936   5131   
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
 3937   5132   
new file mode 100644
 3938   5133   
index 0000000..379dcb2
 3939         -
-- /dev/null
        5134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 3940   5135   
@@ -0,0 +1,4 @@
        5136  +
{
        5137  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5138  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5139  +
}
 3941   5140   
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
 3942   5141   
new file mode 100644
 3943   5142   
index 0000000..a66b3cb
 3944         -
-- /dev/null
        5143  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 3945   5144   
@@ -0,0 +1,7 @@
        5145  +
GET
        5146  +
/example%20space/
        5147  +
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
        5148  +
host:example.amazonaws.com
        5149  +
        5150  +
host
        5151  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3946   5152   
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
 3947   5153   
new file mode 100644
 3948   5154   
index 0000000..66a80c3
 3949         -
-- /dev/null
        5155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 3950   5156   
@@ -0,0 +1 @@
        5157  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 3951   5158   
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
 3952   5159   
new file mode 100644
 3953   5160   
index 0000000..7d1b9d9
 3954         -
-- /dev/null
        5161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 3955   5162   
@@ -0,0 +1,3 @@
        5163  +
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
        5164  +
Host:example.amazonaws.com
        5165  +
 3956   5166   
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
 3957   5167   
new file mode 100644
 3958   5168   
index 0000000..b6ff6fb
 3959         -
-- /dev/null
        5169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 3960   5170   
@@ -0,0 +1,4 @@
        5171  +
AWS4-ECDSA-P256-SHA256
        5172  +
20150830T123600Z
        5173  +
20150830/service/aws4_request
        5174  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 3961   5175   
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
 3962   5176   
new file mode 100644
 3963   5177   
index 0000000..ab509ab
 3964         -
-- /dev/null
        5178  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 3965   5179   
@@ -0,0 +1,2 @@
        5180  +
GET /example space/ HTTP/1.1
        5181  +
Host:example.amazonaws.com
 3966   5182   
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
 3967   5183   
new file mode 100644
 3968   5184   
index 0000000..0468d80
 3969         -
-- /dev/null
        5185  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 3970   5186   
@@ -0,0 +1,12 @@
        5187  +
{
        5188  +
    "credentials": {
        5189  +
        "access_key_id": "AKIDEXAMPLE",
        5190  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5191  +
    },
        5192  +
    "expiration_in_seconds": 3600,
        5193  +
    "normalize": true,
        5194  +
    "region": "us-east-1",
        5195  +
    "service": "service",
        5196  +
    "sign_body": false,
        5197  +
    "timestamp": "2015-08-30T12:36:00Z"
        5198  +
}
              \
 No newline at end of file
 3971   5199   
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
 3972   5200   
similarity index 99%
 3973   5201   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 3974   5202   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 3975   5203   
index b0db648..46d76bb 100644
 3976   5204   
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
 3977   5205   
new file mode 100644
 3978   5206   
index 0000000..53c0cb6
 3979         -
-- /dev/null
        5207  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 3980   5208   
@@ -0,0 +1 @@
        5209  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 3981   5210   
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
 3982   5211   
new file mode 100644
 3983   5212   
index 0000000..3bdb653
 3984         -
-- /dev/null
        5213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 3985   5214   
@@ -0,0 +1,6 @@
        5215  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5216  +
Host:example.amazonaws.com
        5217  +
X-Amz-Date:20150830T123600Z
        5218  +
X-Amz-Region-Set:us-east-1
        5219  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5220  +
 3986   5221   
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
 3987   5222   
similarity index 99%
 3988   5223   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 3989   5224   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 3990   5225   
index 20c7cd6..3b30173 100644
 3991   5226   
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
 3992   5227   
new file mode 100644
 3993   5228   
index 0000000..379dcb2
 3994         -
-- /dev/null
        5229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 3995   5230   
@@ -0,0 +1,4 @@
        5231  +
{
        5232  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5233  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5234  +
}
 3996   5235   
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
 3997   5236   
similarity index 99%
 3998   5237   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 3999   5238   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4000   5239   
index f9fb726..7e93f58 100644
 4001   5240   
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
 4002   5241   
new file mode 100644
 4003   5242   
index 0000000..48311a8
 4004         -
-- /dev/null
        5243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 4005   5244   
@@ -0,0 +1 @@
        5245  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 4006   5246   
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
 4007   5247   
new file mode 100644
 4008   5248   
index 0000000..82da9be
 4009         -
-- /dev/null
        5249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 4010   5250   
@@ -0,0 +1,3 @@
        5251  +
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
        5252  +
Host:example.amazonaws.com
        5253  +
 4011   5254   
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
 4012   5255   
similarity index 99%
 4013   5256   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 4014   5257   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4015   5258   
index ef06e89..4aab9a2 100644
 4016   5259   
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
 4017   5260   
similarity index 80%
 4018   5261   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 4019   5262   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4020   5263   
index da760cd..a149694 100644
 4021         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5264  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4022   5265   
@@ -1,3 +1,2 @@
 4023   5266   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4024   5267   
Host:example.amazonaws.com
 4025         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4026   5268   
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
 4027   5269   
new file mode 100644
 4028   5270   
index 0000000..0468d80
 4029         -
-- /dev/null
        5271  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4030   5272   
@@ -0,0 +1,12 @@
        5273  +
{
        5274  +
    "credentials": {
        5275  +
        "access_key_id": "AKIDEXAMPLE",
        5276  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5277  +
    },
        5278  +
    "expiration_in_seconds": 3600,
        5279  +
    "normalize": true,
        5280  +
    "region": "us-east-1",
        5281  +
    "service": "service",
        5282  +
    "sign_body": false,
        5283  +
    "timestamp": "2015-08-30T12:36:00Z"
        5284  +
}
              \
 No newline at end of file
 4031   5285   
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
 4032   5286   
new file mode 100644
 4033   5287   
index 0000000..0f1afe7
 4034         -
-- /dev/null
        5288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4035   5289   
@@ -0,0 +1,9 @@
        5290  +
GET
        5291  +
/%E1%88%B4
        5292  +
        5293  +
host:example.amazonaws.com
        5294  +
x-amz-date:20150830T123600Z
        5295  +
x-amz-region-set:us-east-1
        5296  +
        5297  +
host;x-amz-date;x-amz-region-set
        5298  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4036   5299   
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
 4037   5300   
new file mode 100644
 4038   5301   
index 0000000..4b9af6c
 4039         -
-- /dev/null
        5302  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4040   5303   
@@ -0,0 +1 @@
        5304  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 4041   5305   
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
 4042   5306   
new file mode 100644
 4043   5307   
index 0000000..d42d7b3
 4044         -
-- /dev/null
        5308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4045   5309   
@@ -0,0 +1,6 @@
        5310  +
GET /ሴ HTTP/1.1
        5311  +
Host:example.amazonaws.com
        5312  +
X-Amz-Date:20150830T123600Z
        5313  +
X-Amz-Region-Set:us-east-1
        5314  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5315  +
 4046   5316   
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
 4047   5317   
new file mode 100644
 4048   5318   
index 0000000..0827f62
 4049         -
-- /dev/null
        5319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4050   5320   
@@ -0,0 +1,4 @@
        5321  +
AWS4-ECDSA-P256-SHA256
        5322  +
20150830T123600Z
        5323  +
20150830/service/aws4_request
        5324  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4051   5325   
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
 4052   5326   
new file mode 100644
 4053   5327   
index 0000000..379dcb2
 4054         -
-- /dev/null
        5328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4055   5329   
@@ -0,0 +1,4 @@
        5330  +
{
        5331  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5332  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5333  +
}
 4056   5334   
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
 4057   5335   
new file mode 100644
 4058   5336   
index 0000000..a41a2f8
 4059         -
-- /dev/null
        5337  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4060   5338   
@@ -0,0 +1,7 @@
        5339  +
GET
        5340  +
/%E1%88%B4
        5341  +
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
        5342  +
host:example.amazonaws.com
        5343  +
        5344  +
host
        5345  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4061   5346   
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
 4062   5347   
new file mode 100644
 4063   5348   
index 0000000..a5c7f4f
 4064         -
-- /dev/null
        5349  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4065   5350   
@@ -0,0 +1 @@
        5351  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4066   5352   
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
 4067   5353   
new file mode 100644
 4068   5354   
index 0000000..492ed33
 4069         -
-- /dev/null
        5355  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4070   5356   
@@ -0,0 +1,3 @@
        5357  +
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
        5358  +
Host:example.amazonaws.com
        5359  +
 4071   5360   
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
 4072   5361   
new file mode 100644
 4073   5362   
index 0000000..a93108f
 4074         -
-- /dev/null
        5363  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4075   5364   
@@ -0,0 +1,4 @@
        5365  +
AWS4-ECDSA-P256-SHA256
        5366  +
20150830T123600Z
        5367  +
20150830/service/aws4_request
        5368  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4076   5369   
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
 4077   5370   
new file mode 100644
 4078   5371   
index 0000000..9e273f6
 4079         -
-- /dev/null
        5372  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4080   5373   
@@ -0,0 +1,2 @@
        5374  +
GET /ሴ HTTP/1.1
        5375  +
Host:example.amazonaws.com
 4081   5376   
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
 4082   5377   
new file mode 100644
 4083   5378   
index 0000000..0468d80
 4084         -
-- /dev/null
        5379  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4085   5380   
@@ -0,0 +1,12 @@
        5381  +
{
        5382  +
    "credentials": {
        5383  +
        "access_key_id": "AKIDEXAMPLE",
        5384  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5385  +
    },
        5386  +
    "expiration_in_seconds": 3600,
        5387  +
    "normalize": true,
        5388  +
    "region": "us-east-1",
        5389  +
    "service": "service",
        5390  +
    "sign_body": false,
        5391  +
    "timestamp": "2015-08-30T12:36:00Z"
        5392  +
}
              \
 No newline at end of file
 4086   5393   
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
 4087   5394   
similarity index 99%
 4088   5395   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4089   5396   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4090   5397   
index bb9d4bf..edc0bb4 100644
 4091   5398   
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
 4092   5399   
new file mode 100644
 4093   5400   
index 0000000..ee9a272
 4094         -
-- /dev/null
        5401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4095   5402   
@@ -0,0 +1 @@
        5403  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4096   5404   
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
 4097   5405   
new file mode 100644
 4098   5406   
index 0000000..2090343
 4099         -
-- /dev/null
        5407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4100   5408   
@@ -0,0 +1,6 @@
        5409  +
GET /?Param1=value1 HTTP/1.1
        5410  +
Host:example.amazonaws.com
        5411  +
X-Amz-Date:20150830T123600Z
        5412  +
X-Amz-Region-Set:us-east-1
        5413  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5414  +
 4101   5415   
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
 4102   5416   
similarity index 99%
 4103   5417   
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
 4104   5418   
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
 4105   5419   
index a176f1d..06ed74f 100644
 4106   5420   
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
 4107   5421   
new file mode 100644
 4108   5422   
index 0000000..379dcb2
 4109         -
-- /dev/null
        5423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4110   5424   
@@ -0,0 +1,4 @@
        5425  +
{
        5426  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5427  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5428  +
}
 4111   5429   
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
 4112   5430   
similarity index 99%
 4113   5431   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4114   5432   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4115   5433   
index 344384b..a875d70 100644
 4116   5434   
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
 4117   5435   
new file mode 100644
 4118   5436   
index 0000000..ef93624
 4119         -
-- /dev/null
        5437  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4120   5438   
@@ -0,0 +1 @@
        5439  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4121   5440   
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
 4122   5441   
new file mode 100644
 4123   5442   
index 0000000..92829f7
 4124         -
-- /dev/null
        5443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4125   5444   
@@ -0,0 +1,3 @@
        5445  +
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
        5446  +
Host:example.amazonaws.com
        5447  +
 4126   5448   
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
 4127   5449   
similarity index 99%
 4128   5450   
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
 4129   5451   
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
 4130   5452   
index b625052..4ff9191 100644
 4131   5453   
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
 4132   5454   
similarity index 67%
 4133   5455   
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
 4134   5456   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4135   5457   
index 970d0a0..f4a03bb 100644
 4136         -
-- 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
        5458  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4137   5459   
@@ -1,3 +1,2 @@
 4138   5460   
GET /?Param1=value1 HTTP/1.1
 4139   5461   
Host:example.amazonaws.com
 4140         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4141   5462   
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
 4142   5463   
new file mode 100644
 4143   5464   
index 0000000..0468d80
 4144         -
-- /dev/null
        5465  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4145   5466   
@@ -0,0 +1,12 @@
        5467  +
{
        5468  +
    "credentials": {
        5469  +
        "access_key_id": "AKIDEXAMPLE",
        5470  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5471  +
    },
        5472  +
    "expiration_in_seconds": 3600,
        5473  +
    "normalize": true,
        5474  +
    "region": "us-east-1",
        5475  +
    "service": "service",
        5476  +
    "sign_body": false,
        5477  +
    "timestamp": "2015-08-30T12:36:00Z"
        5478  +
}
              \
 No newline at end of file
 4146   5479   
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
 4147   5480   
new file mode 100644
 4148   5481   
index 0000000..da07537
 4149         -
-- /dev/null
        5482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4150   5483   
@@ -0,0 +1,9 @@
        5484  +
GET
        5485  +
/
        5486  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5487  +
host:example.amazonaws.com
        5488  +
x-amz-date:20150830T123600Z
        5489  +
x-amz-region-set:us-east-1
        5490  +
        5491  +
host;x-amz-date;x-amz-region-set
        5492  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4151   5493   
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
 4152   5494   
new file mode 100644
 4153   5495   
index 0000000..edb21e5
 4154         -
-- /dev/null
        5496  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4155   5497   
@@ -0,0 +1 @@
        5498  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4156   5499   
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
 4157   5500   
new file mode 100644
 4158   5501   
index 0000000..e60394c
 4159         -
-- /dev/null
        5502  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4160   5503   
@@ -0,0 +1,6 @@
        5504  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5505  +
Host:example.amazonaws.com
        5506  +
X-Amz-Date:20150830T123600Z
        5507  +
X-Amz-Region-Set:us-east-1
        5508  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5509  +
 4161   5510   
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
 4162   5511   
new file mode 100644
 4163   5512   
index 0000000..1dfc886
 4164         -
-- /dev/null
        5513  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4165   5514   
@@ -0,0 +1,4 @@
        5515  +
AWS4-ECDSA-P256-SHA256
        5516  +
20150830T123600Z
        5517  +
20150830/service/aws4_request
        5518  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4166   5519   
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
 4167   5520   
new file mode 100644
 4168   5521   
index 0000000..379dcb2
 4169         -
-- /dev/null
        5522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4170   5523   
@@ -0,0 +1,4 @@
        5524  +
{
        5525  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5526  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5527  +
}
 4171   5528   
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
 4172   5529   
new file mode 100644
 4173   5530   
index 0000000..e94dc0c
 4174         -
-- /dev/null
        5531  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4175   5532   
@@ -0,0 +1,7 @@
        5533  +
GET
        5534  +
/
        5535  +
%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
        5536  +
host:example.amazonaws.com
        5537  +
        5538  +
host
        5539  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4176   5540   
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
 4177   5541   
new file mode 100644
 4178   5542   
index 0000000..7489437
 4179         -
-- /dev/null
        5543  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4180   5544   
@@ -0,0 +1 @@
        5545  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4181   5546   
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
 4182   5547   
new file mode 100644
 4183   5548   
index 0000000..90c0e73
 4184         -
-- /dev/null
        5549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4185   5550   
@@ -0,0 +1,3 @@
        5551  +
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
        5552  +
Host:example.amazonaws.com
        5553  +
 4186   5554   
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
 4187   5555   
new file mode 100644
 4188   5556   
index 0000000..ab8a711
 4189         -
-- /dev/null
        5557  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4190   5558   
@@ -0,0 +1,4 @@
        5559  +
AWS4-ECDSA-P256-SHA256
        5560  +
20150830T123600Z
        5561  +
20150830/service/aws4_request
        5562  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4191   5563   
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
 4192   5564   
new file mode 100644
 4193   5565   
index 0000000..368c6e3
 4194         -
-- /dev/null
        5566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4195   5567   
@@ -0,0 +1,2 @@
        5568  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5569  +
Host:example.amazonaws.com
 4196   5570   
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
 4197   5571   
new file mode 100644
 4198   5572   
index 0000000..0468d80
 4199         -
-- /dev/null
        5573  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4200   5574   
@@ -0,0 +1,12 @@
        5575  +
{
        5576  +
    "credentials": {
        5577  +
        "access_key_id": "AKIDEXAMPLE",
        5578  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5579  +
    },
        5580  +
    "expiration_in_seconds": 3600,
        5581  +
    "normalize": true,
        5582  +
    "region": "us-east-1",
        5583  +
    "service": "service",
        5584  +
    "sign_body": false,
        5585  +
    "timestamp": "2015-08-30T12:36:00Z"
        5586  +
}
              \
 No newline at end of file
 4201   5587   
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
 4202   5588   
similarity index 99%
 4203   5589   
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
 4204   5590   
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
 4205   5591   
index 74f625a..3db56f7 100644
 4206   5592   
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
 4207   5593   
new file mode 100644
 4208   5594   
index 0000000..e6042bc
 4209         -
-- /dev/null
        5595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4210   5596   
@@ -0,0 +1 @@
        5597  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4211   5598   
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
 4212   5599   
new file mode 100644
 4213   5600   
index 0000000..5505969
 4214         -
-- /dev/null
        5601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4215   5602   
@@ -0,0 +1,6 @@
        5603  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5604  +
Host:example.amazonaws.com
        5605  +
X-Amz-Date:20150830T123600Z
        5606  +
X-Amz-Region-Set:us-east-1
        5607  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5608  +
 4216   5609   
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
 4217   5610   
similarity index 99%
 4218   5611   
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
 4219   5612   
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
 4220   5613   
index 44873b7..e8f5e31 100644
 4221   5614   
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
 4222   5615   
new file mode 100644
 4223   5616   
index 0000000..379dcb2
 4224         -
-- /dev/null
        5617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4225   5618   
@@ -0,0 +1,4 @@
        5619  +
{
        5620  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5621  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5622  +
}
 4226   5623   
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
 4227   5624   
similarity index 99%
 4228   5625   
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
 4229   5626   
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
 4230   5627   
index 6d30727..3fe6a9f 100644
 4231   5628   
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
 4232   5629   
new file mode 100644
 4233   5630   
index 0000000..3f35de8
 4234         -
-- /dev/null
        5631  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4235   5632   
@@ -0,0 +1 @@
        5633  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4236   5634   
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
 4237   5635   
new file mode 100644
 4238   5636   
index 0000000..30b336b
 4239         -
-- /dev/null
        5637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4240   5638   
@@ -0,0 +1,3 @@
        5639  +
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
        5640  +
Host:example.amazonaws.com
        5641  +
 4241   5642   
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
 4242   5643   
similarity index 99%
 4243   5644   
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
 4244   5645   
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
 4245   5646   
index 99d0510..7f0565f 100644
 4246   5647   
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
 4247   5648   
similarity index 100%
 4248   5649   
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
 4249   5650   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4250   5651   
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
 4251   5652   
new file mode 100644
 4252   5653   
index 0000000..0468d80
 4253         -
-- /dev/null
        5654  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4254   5655   
@@ -0,0 +1,12 @@
        5656  +
{
        5657  +
    "credentials": {
        5658  +
        "access_key_id": "AKIDEXAMPLE",
        5659  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5660  +
    },
        5661  +
    "expiration_in_seconds": 3600,
        5662  +
    "normalize": true,
        5663  +
    "region": "us-east-1",
        5664  +
    "service": "service",
        5665  +
    "sign_body": false,
        5666  +
    "timestamp": "2015-08-30T12:36:00Z"
        5667  +
}
              \
 No newline at end of file
 4255   5668   
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
 4256   5669   
similarity index 99%
 4257   5670   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4258   5671   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4259   5672   
index 816c862..cc4537a 100644
 4260   5673   
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
 4261   5674   
new file mode 100644
 4262   5675   
index 0000000..70d38c1
 4263         -
-- /dev/null
        5676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4264   5677   
@@ -0,0 +1 @@
        5678  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4265   5679   
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
 4266   5680   
new file mode 100644
 4267   5681   
index 0000000..0647eea
 4268         -
-- /dev/null
        5682  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4269   5683   
@@ -0,0 +1,6 @@
        5684  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5685  +
Host:example.amazonaws.com
        5686  +
X-Amz-Date:20150830T123600Z
        5687  +
X-Amz-Region-Set:us-east-1
        5688  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5689  +
 4270   5690   
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
 4271   5691   
similarity index 99%
 4272   5692   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4273   5693   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4274   5694   
index 6129fc5..cc19d14 100644
 4275   5695   
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
 4276   5696   
new file mode 100644
 4277   5697   
index 0000000..379dcb2
 4278         -
-- /dev/null
        5698  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4279   5699   
@@ -0,0 +1,4 @@
        5700  +
{
        5701  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5702  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5703  +
}
 4280   5704   
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
 4281   5705   
similarity index 99%
 4282   5706   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4283   5707   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4284   5708   
index b77ee9f..ed6a10e 100644
 4285   5709   
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
 4286   5710   
new file mode 100644
 4287   5711   
index 0000000..2ceba7b
 4288         -
-- /dev/null
        5712  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4289   5713   
@@ -0,0 +1 @@
        5714  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4290   5715   
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
 4291   5716   
new file mode 100644
 4292   5717   
index 0000000..0cd6d0a
 4293         -
-- /dev/null
        5718  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4294   5719   
@@ -0,0 +1,3 @@
        5720  +
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
        5721  +
Host:example.amazonaws.com
        5722  +
 4295   5723   
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
 4296   5724   
similarity index 99%
 4297   5725   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4298   5726   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4299   5727   
index 1cfed7a..aad1421 100644
 4300   5728   
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
 4301   5729   
similarity index 86%
 4302   5730   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4303   5731   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4304   5732   
index d2833b3..36b2fe3 100644
 4305         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4306   5734   
@@ -1,3 +1,2 @@
 4307   5735   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4308   5736   
Host:example.amazonaws.com
 4309         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4310   5737   
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
 4311   5738   
new file mode 100644
 4312   5739   
index 0000000..0468d80
 4313         -
-- /dev/null
        5740  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4314   5741   
@@ -0,0 +1,12 @@
        5742  +
{
        5743  +
    "credentials": {
        5744  +
        "access_key_id": "AKIDEXAMPLE",
        5745  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5746  +
    },
        5747  +
    "expiration_in_seconds": 3600,
        5748  +
    "normalize": true,
        5749  +
    "region": "us-east-1",
        5750  +
    "service": "service",
        5751  +
    "sign_body": false,
        5752  +
    "timestamp": "2015-08-30T12:36:00Z"
        5753  +
}
              \
 No newline at end of file
 4315   5754   
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
 4316   5755   
new file mode 100644
 4317   5756   
index 0000000..76db73d
 4318         -
-- /dev/null
        5757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4319   5758   
@@ -0,0 +1,9 @@
        5759  +
GET
        5760  +
/
        5761  +
        5762  +
host:example.amazonaws.com
        5763  +
x-amz-date:20150830T123600Z
        5764  +
x-amz-region-set:us-east-1
        5765  +
        5766  +
host;x-amz-date;x-amz-region-set
        5767  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4320   5768   
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
 4321   5769   
new file mode 100644
 4322   5770   
index 0000000..281cc62
 4323         -
-- /dev/null
        5771  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4324   5772   
@@ -0,0 +1 @@
        5773  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4325   5774   
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
 4326   5775   
new file mode 100644
 4327   5776   
index 0000000..cce9925
 4328         -
-- /dev/null
        5777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4329   5778   
@@ -0,0 +1,6 @@
        5779  +
GET / HTTP/1.1
        5780  +
Host:example.amazonaws.com
        5781  +
X-Amz-Date:20150830T123600Z
        5782  +
X-Amz-Region-Set:us-east-1
        5783  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5784  +
 4330   5785   
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
 4331   5786   
new file mode 100644
 4332   5787   
index 0000000..600f1d8
 4333         -
-- /dev/null
        5788  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4334   5789   
@@ -0,0 +1,4 @@
        5790  +
AWS4-ECDSA-P256-SHA256
        5791  +
20150830T123600Z
        5792  +
20150830/service/aws4_request
        5793  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4335   5794   
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
 4336   5795   
new file mode 100644
 4337   5796   
index 0000000..379dcb2
 4338         -
-- /dev/null
        5797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4339   5798   
@@ -0,0 +1,4 @@
        5799  +
{
        5800  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5801  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5802  +
}
 4340   5803   
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
 4341   5804   
new file mode 100644
 4342   5805   
index 0000000..779c51c
 4343         -
-- /dev/null
        5806  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4344   5807   
@@ -0,0 +1,7 @@
        5808  +
GET
        5809  +
/
        5810  +
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
        5811  +
host:example.amazonaws.com
        5812  +
        5813  +
host
        5814  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4345   5815   
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
 4346   5816   
new file mode 100644
 4347   5817   
index 0000000..2979e5e
 4348         -
-- /dev/null
        5818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4349   5819   
@@ -0,0 +1 @@
        5820  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4350   5821   
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
 4351   5822   
new file mode 100644
 4352   5823   
index 0000000..1b3179c
 4353         -
-- /dev/null
        5824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4354   5825   
@@ -0,0 +1,3 @@
        5826  +
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
        5827  +
Host:example.amazonaws.com
        5828  +
 4355   5829   
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
 4356   5830   
new file mode 100644
 4357   5831   
index 0000000..6e29a7e
 4358         -
-- /dev/null
        5832  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4359   5833   
@@ -0,0 +1,4 @@
        5834  +
AWS4-ECDSA-P256-SHA256
        5835  +
20150830T123600Z
        5836  +
20150830/service/aws4_request
        5837  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4360   5838   
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
 4361   5839   
similarity index 60%
 4362   5840   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4363   5841   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4364   5842   
index 0f7a9bf..e659c3b 100644
 4365         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5843  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4366   5844   
@@ -1,3 +1,2 @@
 4367   5845   
GET / HTTP/1.1
 4368   5846   
Host:example.amazonaws.com
 4369         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4370   5847   
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
 4371   5848   
new file mode 100644
 4372   5849   
index 0000000..0468d80
 4373         -
-- /dev/null
        5850  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4374   5851   
@@ -0,0 +1,12 @@
        5852  +
{
        5853  +
    "credentials": {
        5854  +
        "access_key_id": "AKIDEXAMPLE",
        5855  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5856  +
    },
        5857  +
    "expiration_in_seconds": 3600,
        5858  +
    "normalize": true,
        5859  +
    "region": "us-east-1",
        5860  +
    "service": "service",
        5861  +
    "sign_body": false,
        5862  +
    "timestamp": "2015-08-30T12:36:00Z"
        5863  +
}
              \
 No newline at end of file
 4375   5864   
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
 4376   5865   
new file mode 100644
 4377   5866   
index 0000000..8841ddf
 4378         -
-- /dev/null
        5867  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4379   5868   
@@ -0,0 +1,9 @@
        5869  +
GET
        5870  +
/
        5871  +
%E1%88%B4=bar
        5872  +
host:example.amazonaws.com
        5873  +
x-amz-date:20150830T123600Z
        5874  +
x-amz-region-set:us-east-1
        5875  +
        5876  +
host;x-amz-date;x-amz-region-set
        5877  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4380   5878   
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
 4381   5879   
new file mode 100644
 4382   5880   
index 0000000..1497add
 4383         -
-- /dev/null
        5881  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4384   5882   
@@ -0,0 +1 @@
        5883  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4385   5884   
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
 4386   5885   
new file mode 100644
 4387   5886   
index 0000000..961bc10
 4388         -
-- /dev/null
        5887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4389   5888   
@@ -0,0 +1,6 @@
        5889  +
GET /?ሴ=bar HTTP/1.1
        5890  +
Host:example.amazonaws.com
        5891  +
X-Amz-Date:20150830T123600Z
        5892  +
X-Amz-Region-Set:us-east-1
        5893  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        5894  +
 4390   5895   
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
 4391   5896   
new file mode 100644
 4392   5897   
index 0000000..e78ed70
 4393         -
-- /dev/null
        5898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4394   5899   
@@ -0,0 +1,4 @@
        5900  +
AWS4-ECDSA-P256-SHA256
        5901  +
20150830T123600Z
        5902  +
20150830/service/aws4_request
        5903  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4395   5904   
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
 4396   5905   
new file mode 100644
 4397   5906   
index 0000000..379dcb2
 4398         -
-- /dev/null
        5907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4399   5908   
@@ -0,0 +1,4 @@
        5909  +
{
        5910  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5911  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5912  +
}
 4400   5913   
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
 4401   5914   
new file mode 100644
 4402   5915   
index 0000000..6d5ae93
 4403         -
-- /dev/null
        5916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4404   5917   
@@ -0,0 +1,7 @@
        5918  +
GET
        5919  +
/
        5920  +
%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
        5921  +
host:example.amazonaws.com
        5922  +
        5923  +
host
        5924  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4405   5925   
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
 4406   5926   
new file mode 100644
 4407   5927   
index 0000000..92107f2
 4408         -
-- /dev/null
        5928  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4409   5929   
@@ -0,0 +1 @@
        5930  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4410   5931   
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
 4411   5932   
new file mode 100644
 4412   5933   
index 0000000..bb8a75b
 4413         -
-- /dev/null
        5934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4414   5935   
@@ -0,0 +1,3 @@
        5936  +
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
        5937  +
Host:example.amazonaws.com
        5938  +
 4415   5939   
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
 4416   5940   
new file mode 100644
 4417   5941   
index 0000000..9fa94c7
 4418         -
-- /dev/null
        5942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4419   5943   
@@ -0,0 +1,4 @@
        5944  +
AWS4-ECDSA-P256-SHA256
        5945  +
20150830T123600Z
        5946  +
20150830/service/aws4_request
        5947  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4420   5948   
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
 4421   5949   
new file mode 100644
 4422   5950   
index 0000000..aff333a
 4423         -
-- /dev/null
        5951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4424   5952   
@@ -0,0 +1,2 @@
        5953  +
GET /?ሴ=bar HTTP/1.1
        5954  +
Host:example.amazonaws.com
 4425   5955   
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
 4426   5956   
new file mode 100644
 4427   5957   
index 0000000..a334e18
 4428         -
-- /dev/null
        5958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4429   5959   
@@ -0,0 +1,13 @@
        5960  +
{
        5961  +
    "credentials": {
        5962  +
        "access_key_id": "AKIDEXAMPLE",
        5963  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        5964  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        5965  +
    },
        5966  +
    "expiration_in_seconds": 3600,
        5967  +
    "normalize": true,
        5968  +
    "region": "us-east-1",
        5969  +
    "service": "service",
        5970  +
    "sign_body": false,
        5971  +
    "timestamp": "2015-08-30T12:36:00Z"
        5972  +
}
              \
 No newline at end of file
 4430   5973   
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
 4431   5974   
similarity index 99%
 4432   5975   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4433   5976   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4434   5977   
index f14defd..0e9ad42 100644
 4435   5978   
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
 4436   5979   
new file mode 100644
 4437   5980   
index 0000000..a7673b5
 4438         -
-- /dev/null
        5981  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4439   5982   
@@ -0,0 +1 @@
        5983  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4440   5984   
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
 4441   5985   
new file mode 100644
 4442   5986   
index 0000000..ed16e76
 4443         -
-- /dev/null
        5987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4444   5988   
@@ -0,0 +1,7 @@
        5989  +
GET / HTTP/1.1
        5990  +
Host:example.amazonaws.com
        5991  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        5992  +
X-Amz-Date:20150830T123600Z
        5993  +
X-Amz-Region-Set:us-east-1
        5994  +
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
        5995  +
 4445   5996   
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
 4446   5997   
similarity index 99%
 4447   5998   
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
 4448   5999   
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
 4449   6000   
index 4edece5..6c1ec65 100644
 4450   6001   
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
 4451   6002   
new file mode 100644
 4452   6003   
index 0000000..379dcb2
 4453         -
-- /dev/null
        6004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4454   6005   
@@ -0,0 +1,4 @@
        6006  +
{
        6007  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6008  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6009  +
}
 4455   6010   
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
 4456   6011   
similarity index 99%
 4457   6012   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4458   6013   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4459   6014   
index 7c042af..1876b42 100644
 4460   6015   
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
 4461   6016   
new file mode 100644
 4462   6017   
index 0000000..903dfb4
 4463         -
-- /dev/null
        6018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4464   6019   
@@ -0,0 +1 @@
        6020  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4465   6021   
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
 4466   6022   
new file mode 100644
 4467   6023   
index 0000000..bf1d246
 4468         -
-- /dev/null
        6024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4469   6025   
@@ -0,0 +1,3 @@
        6026  +
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
        6027  +
Host:example.amazonaws.com
        6028  +
 4470   6029   
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
 4471   6030   
similarity index 99%
 4472   6031   
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
 4473   6032   
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
 4474   6033   
index 0fd066a..f1b1790 100644
 4475   6034   
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
 4476   6035   
similarity index 60%
 4477   6036   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4478   6037   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4479   6038   
index 0f7a9bf..e659c3b 100644
 4480         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6039  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4481   6040   
@@ -1,3 +1,2 @@
 4482   6041   
GET / HTTP/1.1
 4483   6042   
Host:example.amazonaws.com
 4484         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4485   6043   
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
 4486   6044   
new file mode 100644
 4487   6045   
index 0000000..76db73d
 4488         -
-- /dev/null
        6046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4489   6047   
@@ -0,0 +1,9 @@
        6048  +
GET
        6049  +
/
        6050  +
        6051  +
host:example.amazonaws.com
        6052  +
x-amz-date:20150830T123600Z
        6053  +
x-amz-region-set:us-east-1
        6054  +
        6055  +
host;x-amz-date;x-amz-region-set
        6056  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4490   6057   
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
 4491   6058   
new file mode 100644
 4492   6059   
index 0000000..0468d80
 4493         -
-- /dev/null
        6060  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4494   6061   
@@ -0,0 +1,12 @@
        6062  +
{
        6063  +
    "credentials": {
        6064  +
        "access_key_id": "AKIDEXAMPLE",
        6065  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6066  +
    },
        6067  +
    "expiration_in_seconds": 3600,
        6068  +
    "normalize": true,
        6069  +
    "region": "us-east-1",
        6070  +
    "service": "service",
        6071  +
    "sign_body": false,
        6072  +
    "timestamp": "2015-08-30T12:36:00Z"
        6073  +
}
              \
 No newline at end of file
 4495   6074   
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
 4496   6075   
new file mode 100644
 4497   6076   
index 0000000..76db73d
 4498         -
-- /dev/null
        6077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4499   6078   
@@ -0,0 +1,9 @@
        6079  +
GET
        6080  +
/
        6081  +
        6082  +
host:example.amazonaws.com
        6083  +
x-amz-date:20150830T123600Z
        6084  +
x-amz-region-set:us-east-1
        6085  +
        6086  +
host;x-amz-date;x-amz-region-set
        6087  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4500   6088   
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
 4501   6089   
new file mode 100644
 4502   6090   
index 0000000..a96ff24
 4503         -
-- /dev/null
        6091  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4504   6092   
@@ -0,0 +1 @@
        6093  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4505   6094   
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
 4506   6095   
new file mode 100644
 4507   6096   
index 0000000..689078b
 4508         -
-- /dev/null
        6097  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4509   6098   
@@ -0,0 +1,6 @@
        6099  +
GET / HTTP/1.1
        6100  +
Host:example.amazonaws.com
        6101  +
X-Amz-Date:20150830T123600Z
        6102  +
X-Amz-Region-Set:us-east-1
        6103  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6104  +
 4510   6105   
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
 4511   6106   
new file mode 100644
 4512   6107   
index 0000000..600f1d8
 4513         -
-- /dev/null
        6108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4514   6109   
@@ -0,0 +1,4 @@
        6110  +
AWS4-ECDSA-P256-SHA256
        6111  +
20150830T123600Z
        6112  +
20150830/service/aws4_request
        6113  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4515   6114   
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
 4516   6115   
new file mode 100644
 4517   6116   
index 0000000..379dcb2
 4518         -
-- /dev/null
        6117  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4519   6118   
@@ -0,0 +1,4 @@
        6119  +
{
        6120  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6121  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6122  +
}
 4520   6123   
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
 4521   6124   
new file mode 100644
 4522   6125   
index 0000000..779c51c
 4523         -
-- /dev/null
        6126  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4524   6127   
@@ -0,0 +1,7 @@
        6128  +
GET
        6129  +
/
        6130  +
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
        6131  +
host:example.amazonaws.com
        6132  +
        6133  +
host
        6134  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4525   6135   
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
 4526   6136   
new file mode 100644
 4527   6137   
index 0000000..cc42158
 4528         -
-- /dev/null
        6138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4529   6139   
@@ -0,0 +1 @@
        6140  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4530   6141   
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
 4531   6142   
new file mode 100644
 4532   6143   
index 0000000..dc6d01d
 4533         -
-- /dev/null
        6144  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4534   6145   
@@ -0,0 +1,3 @@
        6146  +
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
        6147  +
Host:example.amazonaws.com
        6148  +
 4535   6149   
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
 4536   6150   
new file mode 100644
 4537   6151   
index 0000000..6e29a7e
 4538         -
-- /dev/null
        6152  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4539   6153   
@@ -0,0 +1,4 @@
        6154  +
AWS4-ECDSA-P256-SHA256
        6155  +
20150830T123600Z
        6156  +
20150830/service/aws4_request
        6157  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4540   6158   
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
 4541   6159   
new file mode 100644
 4542   6160   
index 0000000..e659c3b
 4543         -
-- /dev/null
        6161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4544   6162   
@@ -0,0 +1,2 @@
        6163  +
GET / HTTP/1.1
        6164  +
Host:example.amazonaws.com
 4545   6165   
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
 4546   6166   
new file mode 100644
 4547   6167   
index 0000000..600f1d8
 4548         -
-- /dev/null
        6168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4549   6169   
@@ -0,0 +1,4 @@
        6170  +
AWS4-ECDSA-P256-SHA256
        6171  +
20150830T123600Z
        6172  +
20150830/service/aws4_request
        6173  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4550   6174   
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
 4551   6175   
new file mode 100644
 4552   6176   
index 0000000..0468d80
 4553         -
-- /dev/null
        6177  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4554   6178   
@@ -0,0 +1,12 @@
        6179  +
{
        6180  +
    "credentials": {
        6181  +
        "access_key_id": "AKIDEXAMPLE",
        6182  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6183  +
    },
        6184  +
    "expiration_in_seconds": 3600,
        6185  +
    "normalize": true,
        6186  +
    "region": "us-east-1",
        6187  +
    "service": "service",
        6188  +
    "sign_body": false,
        6189  +
    "timestamp": "2015-08-30T12:36:00Z"
        6190  +
}
              \
 No newline at end of file
 4555   6191   
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
 4556   6192   
similarity index 99%
 4557   6193   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4558   6194   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4559   6195   
index a6942c1..e881ac7 100644
 4560   6196   
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
 4561   6197   
new file mode 100644
 4562   6198   
index 0000000..4210210
 4563         -
-- /dev/null
        6199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4564   6200   
@@ -0,0 +1 @@
        6201  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4565   6202   
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
 4566   6203   
new file mode 100644
 4567   6204   
index 0000000..257b110
 4568         -
-- /dev/null
        6205  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4569   6206   
@@ -0,0 +1,6 @@
        6207  +
POST / HTTP/1.1
        6208  +
Host:example.amazonaws.com
        6209  +
X-Amz-Date:20150830T123600Z
        6210  +
X-Amz-Region-Set:us-east-1
        6211  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6212  +
 4570   6213   
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
 4571   6214   
similarity index 99%
 4572   6215   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4573   6216   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4574   6217   
index d5650cb..f8adf13 100644
 4575   6218   
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
 4576   6219   
new file mode 100644
 4577   6220   
index 0000000..379dcb2
 4578         -
-- /dev/null
        6221  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4579   6222   
@@ -0,0 +1,4 @@
        6223  +
{
        6224  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6225  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6226  +
}
 4580   6227   
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
 4581   6228   
similarity index 99%
 4582   6229   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4583   6230   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4584   6231   
index e48ce07..5ea8e3c 100644
 4585   6232   
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
 4586   6233   
new file mode 100644
 4587   6234   
index 0000000..9e2069e
 4588         -
-- /dev/null
        6235  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4589   6236   
@@ -0,0 +1 @@
        6237  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4590   6238   
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
 4591   6239   
new file mode 100644
 4592   6240   
index 0000000..67f5d29
 4593         -
-- /dev/null
        6241  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4594   6242   
@@ -0,0 +1,3 @@
        6243  +
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
        6244  +
Host:example.amazonaws.com
        6245  +
 4595   6246   
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
 4596   6247   
similarity index 99%
 4597   6248   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4598   6249   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4599   6250   
index 34e3382..711c162 100644
 4600   6251   
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
 4601   6252   
similarity index 61%
 4602   6253   
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
 4603   6254   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4604   6255   
index 3dc4179..3f0a82a 100644
 4605         -
-- 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
        6256  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4606   6257   
@@ -1,3 +1,2 @@
 4607   6258   
POST / HTTP/1.1
 4608   6259   
Host:example.amazonaws.com
 4609         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4610   6260   
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
 4611   6261   
new file mode 100644
 4612   6262   
index 0000000..0468d80
 4613         -
-- /dev/null
        6263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4614   6264   
@@ -0,0 +1,12 @@
        6265  +
{
        6266  +
    "credentials": {
        6267  +
        "access_key_id": "AKIDEXAMPLE",
        6268  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6269  +
    },
        6270  +
    "expiration_in_seconds": 3600,
        6271  +
    "normalize": true,
        6272  +
    "region": "us-east-1",
        6273  +
    "service": "service",
        6274  +
    "sign_body": false,
        6275  +
    "timestamp": "2015-08-30T12:36:00Z"
        6276  +
}
              \
 No newline at end of file
 4615   6277   
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
 4616   6278   
similarity index 99%
 4617   6279   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4618   6280   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4619   6281   
index a8e1727..2883822 100644
 4620   6282   
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
 4621   6283   
new file mode 100644
 4622   6284   
index 0000000..e3c2e6e
 4623         -
-- /dev/null
        6285  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4624   6286   
@@ -0,0 +1 @@
        6287  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4625   6288   
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
 4626   6289   
new file mode 100644
 4627   6290   
index 0000000..1d6e288
 4628         -
-- /dev/null
        6291  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4629   6292   
@@ -0,0 +1,7 @@
        6293  +
POST / HTTP/1.1
        6294  +
Host:example.amazonaws.com
        6295  +
My-Header1:value1
        6296  +
X-Amz-Date:20150830T123600Z
        6297  +
X-Amz-Region-Set:us-east-1
        6298  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6299  +
 4630   6300   
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
 4631   6301   
similarity index 99%
 4632   6302   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4633   6303   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4634   6304   
index f6e3e9b..7c5236a 100644
 4635   6305   
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
 4636   6306   
new file mode 100644
 4637   6307   
index 0000000..379dcb2
 4638         -
-- /dev/null
        6308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4639   6309   
@@ -0,0 +1,4 @@
        6310  +
{
        6311  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6312  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6313  +
}
 4640   6314   
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
 4641   6315   
similarity index 99%
 4642   6316   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4643   6317   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4644   6318   
index 0ae73e1..2cf3f29 100644
 4645   6319   
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
 4646   6320   
new file mode 100644
 4647   6321   
index 0000000..2a08401
 4648         -
-- /dev/null
        6322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4649   6323   
@@ -0,0 +1 @@
        6324  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4650   6325   
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
 4651   6326   
new file mode 100644
 4652   6327   
index 0000000..8d2343f
 4653         -
-- /dev/null
        6328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4654   6329   
@@ -0,0 +1,4 @@
        6330  +
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
        6331  +
Host:example.amazonaws.com
        6332  +
My-Header1:value1
        6333  +
 4655   6334   
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
 4656   6335   
similarity index 99%
 4657   6336   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4658   6337   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4659   6338   
index 8cb96bf..2c4db7a 100644
 4660   6339   
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
 4661   6340   
similarity index 69%
 4662   6341   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4663   6342   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4664   6343   
index 0253f19..917720e 100644
 4665         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6344  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4666   6345   
@@ -1,4 +1,3 @@
 4667   6346   
POST / HTTP/1.1
 4668   6347   
Host:example.amazonaws.com
 4669   6348   
My-Header1:value1
 4670         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4671   6349   
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
 4672   6350   
new file mode 100644
 4673   6351   
index 0000000..0468d80
 4674         -
-- /dev/null
        6352  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4675   6353   
@@ -0,0 +1,12 @@
        6354  +
{
        6355  +
    "credentials": {
        6356  +
        "access_key_id": "AKIDEXAMPLE",
        6357  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6358  +
    },
        6359  +
    "expiration_in_seconds": 3600,
        6360  +
    "normalize": true,
        6361  +
    "region": "us-east-1",
        6362  +
    "service": "service",
        6363  +
    "sign_body": false,
        6364  +
    "timestamp": "2015-08-30T12:36:00Z"
        6365  +
}
              \
 No newline at end of file
 4676   6366   
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
 4677   6367   
similarity index 99%
 4678   6368   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4679   6369   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4680   6370   
index 1dc3ef8..164e65c 100644
 4681   6371   
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
 4682   6372   
new file mode 100644
 4683   6373   
index 0000000..7072b0e
 4684         -
-- /dev/null
        6374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4685   6375   
@@ -0,0 +1 @@
        6376  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4686   6377   
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
 4687   6378   
new file mode 100644
 4688   6379   
index 0000000..17f5e3e
 4689         -
-- /dev/null
        6380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4690   6381   
@@ -0,0 +1,7 @@
        6382  +
POST / HTTP/1.1
        6383  +
Host:example.amazonaws.com
        6384  +
My-Header1:VALUE1
        6385  +
X-Amz-Date:20150830T123600Z
        6386  +
X-Amz-Region-Set:us-east-1
        6387  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6388  +
 4691   6389   
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
 4692   6390   
similarity index 99%
 4693   6391   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4694   6392   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4695   6393   
index 59c7e45..620f54e 100644
 4696   6394   
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
 4697   6395   
new file mode 100644
 4698   6396   
index 0000000..379dcb2
 4699         -
-- /dev/null
        6397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4700   6398   
@@ -0,0 +1,4 @@
        6399  +
{
        6400  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6401  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6402  +
}
 4701   6403   
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
 4702   6404   
similarity index 99%
 4703   6405   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4704   6406   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4705   6407   
index 377e6f3..23e0da3 100644
 4706   6408   
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
 4707   6409   
new file mode 100644
 4708   6410   
index 0000000..a18acb8
 4709         -
-- /dev/null
        6411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4710   6412   
@@ -0,0 +1 @@
        6413  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4711   6414   
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
 4712   6415   
new file mode 100644
 4713   6416   
index 0000000..7cbdcfa
 4714         -
-- /dev/null
        6417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4715   6418   
@@ -0,0 +1,4 @@
        6419  +
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
        6420  +
Host:example.amazonaws.com
        6421  +
My-Header1:VALUE1
        6422  +
 4716   6423   
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
 4717   6424   
similarity index 99%
 4718   6425   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4719   6426   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4720   6427   
index 84a7afd..0c90627 100644
 4721   6428   
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
 4722   6429   
similarity index 69%
 4723   6430   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4724   6431   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4725   6432   
index 3f9987a..5f14c91 100644
 4726         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4727   6434   
@@ -1,4 +1,3 @@
 4728   6435   
POST / HTTP/1.1
 4729   6436   
Host:example.amazonaws.com
 4730   6437   
My-Header1:VALUE1
 4731         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4732   6438   
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
 4733   6439   
new file mode 100644
 4734   6440   
index 0000000..8f1d5ce
 4735         -
-- /dev/null
        6441  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4736   6442   
@@ -0,0 +1,14 @@
        6443  +
{
        6444  +
    "credentials": {
        6445  +
        "access_key_id": "AKIDEXAMPLE",
        6446  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6447  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6448  +
    },
        6449  +
    "expiration_in_seconds": 3600,
        6450  +
    "normalize": true,
        6451  +
    "region": "us-east-1",
        6452  +
    "service": "service",
        6453  +
    "sign_body": false,
        6454  +
    "timestamp": "2015-08-30T12:36:00Z",
        6455  +
    "omit_session_token": true
        6456  +
}
 4737   6457   
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
 4738   6458   
similarity index 99%
 4739   6459   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4740   6460   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4741   6461   
index a6942c1..e881ac7 100644
 4742   6462   
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
 4743   6463   
new file mode 100644
 4744   6464   
index 0000000..9c5ecb9
 4745         -
-- /dev/null
        6465  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4746   6466   
@@ -0,0 +1 @@
        6467  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4747   6468   
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
 4748   6469   
similarity index 52%
 4749   6470   
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
 4750   6471   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4751   6472   
index 9d91775..61b6527 100644
 4752         -
-- 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
        6473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4753   6474   
@@ -1,4 +1,7 @@
 4754   6475   
POST / HTTP/1.1
 4755   6476   
Host:example.amazonaws.com
 4756         -
X-Amz-Date:20150830T123600Z
 4757   6477   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6478  +
X-Amz-Date:20150830T123600Z
        6479  +
X-Amz-Region-Set:us-east-1
        6480  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6481  +
 4758   6482   
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
 4759   6483   
similarity index 99%
 4760   6484   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4761   6485   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4762   6486   
index d5650cb..f8adf13 100644
 4763   6487   
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
 4764   6488   
new file mode 100644
 4765   6489   
index 0000000..379dcb2
 4766         -
-- /dev/null
        6490  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4767   6491   
@@ -0,0 +1,4 @@
        6492  +
{
        6493  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6494  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6495  +
}
 4768   6496   
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
 4769   6497   
similarity index 99%
 4770   6498   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4771   6499   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4772   6500   
index e48ce07..5ea8e3c 100644
 4773   6501   
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
 4774   6502   
new file mode 100644
 4775   6503   
index 0000000..ff8823a
 4776         -
-- /dev/null
        6504  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 4777   6505   
@@ -0,0 +1 @@
        6506  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 4778   6507   
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
 4779   6508   
new file mode 100644
 4780   6509   
index 0000000..cfac41b
 4781         -
-- /dev/null
        6510  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 4782   6511   
@@ -0,0 +1,3 @@
        6512  +
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
        6513  +
Host:example.amazonaws.com
        6514  +
 4783   6515   
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
 4784   6516   
similarity index 99%
 4785   6517   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 4786   6518   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 4787   6519   
index 34e3382..711c162 100644
 4788   6520   
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
 4789   6521   
similarity index 61%
 4790   6522   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 4791   6523   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4792   6524   
index 3dc4179..3f0a82a 100644
 4793         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6525  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4794   6526   
@@ -1,3 +1,2 @@
 4795   6527   
POST / HTTP/1.1
 4796   6528   
Host:example.amazonaws.com
 4797         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4798   6529   
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
 4799   6530   
new file mode 100644
 4800   6531   
index 0000000..5187392
 4801         -
-- /dev/null
        6532  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 4802   6533   
@@ -0,0 +1,14 @@
        6534  +
{
        6535  +
    "credentials": {
        6536  +
        "access_key_id": "AKIDEXAMPLE",
        6537  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6538  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6539  +
    },
        6540  +
    "expiration_in_seconds": 3600,
        6541  +
    "normalize": true,
        6542  +
    "region": "us-east-1",
        6543  +
    "service": "service",
        6544  +
    "sign_body": false,
        6545  +
    "timestamp": "2015-08-30T12:36:00Z",
        6546  +
    "omit_session_token": false
        6547  +
}
 4803   6548   
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
 4804   6549   
similarity index 99%
 4805   6550   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 4806   6551   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 4807   6552   
index dd408c8..e95924e 100644
 4808   6553   
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
 4809   6554   
new file mode 100644
 4810   6555   
index 0000000..1573f07
 4811         -
-- /dev/null
        6556  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 4812   6557   
@@ -0,0 +1 @@
        6558  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 4813   6559   
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
 4814   6560   
new file mode 100644
 4815   6561   
index 0000000..6ef9a08
 4816         -
-- /dev/null
        6562  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 4817   6563   
@@ -0,0 +1,7 @@
        6564  +
POST / HTTP/1.1
        6565  +
Host:example.amazonaws.com
        6566  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6567  +
X-Amz-Date:20150830T123600Z
        6568  +
X-Amz-Region-Set:us-east-1
        6569  +
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
        6570  +
 4818   6571   
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
 4819   6572   
similarity index 99%
 4820   6573   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 4821   6574   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 4822   6575   
index f352b54..3c3235f 100644
 4823   6576   
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
 4824   6577   
new file mode 100644
 4825   6578   
index 0000000..379dcb2
 4826         -
-- /dev/null
        6579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 4827   6580   
@@ -0,0 +1,4 @@
        6581  +
{
        6582  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6583  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6584  +
}
 4828   6585   
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
 4829   6586   
similarity index 99%
 4830   6587   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 4831   6588   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 4832   6589   
index 832cdc0..63b7de5 100644
 4833   6590   
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
 4834   6591   
new file mode 100644
 4835   6592   
index 0000000..713f57c
 4836         -
-- /dev/null
        6593  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 4837   6594   
@@ -0,0 +1 @@
        6595  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 4838   6596   
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
 4839   6597   
new file mode 100644
 4840   6598   
index 0000000..32c3bb3
 4841         -
-- /dev/null
        6599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 4842   6600   
@@ -0,0 +1,3 @@
        6601  +
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
        6602  +
Host:example.amazonaws.com
        6603  +
 4843   6604   
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
 4844   6605   
similarity index 99%
 4845   6606   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 4846   6607   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 4847   6608   
index d7f3668..b46cd8c 100644
 4848   6609   
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
 4849   6610   
similarity index 60%
 4850   6611   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 4851   6612   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4852   6613   
index 8b5efc8..3f0a82a 100644
 4853         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6614  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4854   6615   
@@ -1,3 +1,2 @@
 4855   6616   
POST / HTTP/1.1
 4856   6617   
Host:example.amazonaws.com
 4857         -
X-Amz-Date:20150830T123600Z
 4858   6618   
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
 4859   6619   
new file mode 100644
 4860   6620   
index 0000000..0468d80
 4861         -
-- /dev/null
        6621  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 4862   6622   
@@ -0,0 +1,12 @@
        6623  +
{
        6624  +
    "credentials": {
        6625  +
        "access_key_id": "AKIDEXAMPLE",
        6626  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6627  +
    },
        6628  +
    "expiration_in_seconds": 3600,
        6629  +
    "normalize": true,
        6630  +
    "region": "us-east-1",
        6631  +
    "service": "service",
        6632  +
    "sign_body": false,
        6633  +
    "timestamp": "2015-08-30T12:36:00Z"
        6634  +
}
              \
 No newline at end of file
 4863   6635   
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
 4864   6636   
similarity index 99%
 4865   6637   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 4866   6638   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 4867   6639   
index 02af60f..34b8c11 100644
 4868   6640   
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
 4869   6641   
new file mode 100644
 4870   6642   
index 0000000..aac6427
 4871         -
-- /dev/null
        6643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 4872   6644   
@@ -0,0 +1 @@
        6645  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 4873   6646   
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
 4874   6647   
new file mode 100644
 4875   6648   
index 0000000..a611436
 4876         -
-- /dev/null
        6649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 4877   6650   
@@ -0,0 +1,6 @@
        6651  +
POST /?Param1=value1 HTTP/1.1
        6652  +
Host:example.amazonaws.com
        6653  +
X-Amz-Date:20150830T123600Z
        6654  +
X-Amz-Region-Set:us-east-1
        6655  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6656  +
 4878   6657   
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
 4879   6658   
similarity index 99%
 4880   6659   
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
 4881   6660   
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
 4882   6661   
index 4256b4f..ad88dff 100644
 4883   6662   
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
 4884   6663   
new file mode 100644
 4885   6664   
index 0000000..379dcb2
 4886         -
-- /dev/null
        6665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 4887   6666   
@@ -0,0 +1,4 @@
        6667  +
{
        6668  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6669  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6670  +
}
 4888   6671   
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
 4889   6672   
similarity index 99%
 4890   6673   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 4891   6674   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 4892   6675   
index fa84bbd..76d5ad6 100644
 4893   6676   
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
 4894   6677   
new file mode 100644
 4895   6678   
index 0000000..4cb1c94
 4896         -
-- /dev/null
        6679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 4897   6680   
@@ -0,0 +1 @@
        6681  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 4898   6682   
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
 4899   6683   
new file mode 100644
 4900   6684   
index 0000000..bd22b97
 4901         -
-- /dev/null
        6685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 4902   6686   
@@ -0,0 +1,3 @@
        6687  +
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
        6688  +
Host:example.amazonaws.com
        6689  +
 4903   6690   
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
 4904   6691   
similarity index 99%
 4905   6692   
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
 4906   6693   
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
 4907   6694   
index de270ef..8c9d319 100644
 4908   6695   
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
 4909   6696   
similarity index 67%
 4910   6697   
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
 4911   6698   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4912   6699   
index 9157bc7..c9d6e5d 100644
 4913         -
-- 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
        6700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 4914   6701   
@@ -1,3 +1,2 @@
 4915   6702   
POST /?Param1=value1 HTTP/1.1
 4916   6703   
Host:example.amazonaws.com
 4917         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4918   6704   
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
 4919   6705   
new file mode 100644
 4920   6706   
index 0000000..0468d80
 4921         -
-- /dev/null
        6707  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 4922   6708   
@@ -0,0 +1,12 @@
        6709  +
{
        6710  +
    "credentials": {
        6711  +
        "access_key_id": "AKIDEXAMPLE",
        6712  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6713  +
    },
        6714  +
    "expiration_in_seconds": 3600,
        6715  +
    "normalize": true,
        6716  +
    "region": "us-east-1",
        6717  +
    "service": "service",
        6718  +
    "sign_body": false,
        6719  +
    "timestamp": "2015-08-30T12:36:00Z"
        6720  +
}
              \
 No newline at end of file
 4923   6721   
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
 4924   6722   
similarity index 99%
 4925   6723   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 4926   6724   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 4927   6725   
index 02af60f..34b8c11 100644
 4928   6726   
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
 4929   6727   
new file mode 100644
 4930   6728   
index 0000000..34f75c8
 4931         -
-- /dev/null
        6729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 4932   6730   
@@ -0,0 +1 @@
        6731  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 4933   6732   
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
 4934   6733   
new file mode 100644
 4935   6734   
index 0000000..c731408
 4936         -
-- /dev/null
        6735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 4937   6736   
@@ -0,0 +1,6 @@
        6737  +
POST /?Param1=value1 HTTP/1.1
        6738  +
Host:example.amazonaws.com
        6739  +
X-Amz-Date:20150830T123600Z
        6740  +
X-Amz-Region-Set:us-east-1
        6741  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6742  +
 4938   6743   
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
 4939   6744   
similarity index 99%
 4940   6745   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 4941   6746   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 4942   6747   
index 4256b4f..ad88dff 100644
 4943   6748   
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
 4944   6749   
new file mode 100644
 4945   6750   
index 0000000..379dcb2
 4946         -
-- /dev/null
        6751  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 4947   6752   
@@ -0,0 +1,4 @@
        6753  +
{
        6754  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6755  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6756  +
}
 4948   6757   
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
 4949   6758   
similarity index 99%
 4950   6759   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 4951   6760   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 4952   6761   
index fa84bbd..76d5ad6 100644
 4953   6762   
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
 4954   6763   
new file mode 100644
 4955   6764   
index 0000000..ae000d6
 4956         -
-- /dev/null
        6765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 4957   6766   
@@ -0,0 +1 @@
        6767  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 4958   6768   
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
 4959   6769   
new file mode 100644
 4960   6770   
index 0000000..a868f7d
 4961         -
-- /dev/null
        6771  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 4962   6772   
@@ -0,0 +1,3 @@
        6773  +
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
        6774  +
Host:example.amazonaws.com
        6775  +
 4963   6776   
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
 4964   6777   
similarity index 99%
 4965   6778   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 4966   6779   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 4967   6780   
index de270ef..8c9d319 100644
 4968   6781   
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
 4969   6782   
similarity index 67%
 4970   6783   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 4971   6784   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4972   6785   
index 9157bc7..c9d6e5d 100644
 4973         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 4974   6787   
@@ -1,3 +1,2 @@
 4975   6788   
POST /?Param1=value1 HTTP/1.1
 4976   6789   
Host:example.amazonaws.com
 4977         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4978   6790   
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
 4979   6791   
new file mode 100644
 4980   6792   
index 0000000..0468d80
 4981         -
-- /dev/null
        6793  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 4982   6794   
@@ -0,0 +1,12 @@
        6795  +
{
        6796  +
    "credentials": {
        6797  +
        "access_key_id": "AKIDEXAMPLE",
        6798  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6799  +
    },
        6800  +
    "expiration_in_seconds": 3600,
        6801  +
    "normalize": true,
        6802  +
    "region": "us-east-1",
        6803  +
    "service": "service",
        6804  +
    "sign_body": false,
        6805  +
    "timestamp": "2015-08-30T12:36:00Z"
        6806  +
}
              \
 No newline at end of file
 4983   6807   
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
 4984   6808   
similarity index 99%
 4985   6809   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 4986   6810   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 4987   6811   
index a6942c1..e881ac7 100644
 4988   6812   
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
 4989   6813   
new file mode 100644
 4990   6814   
index 0000000..7c5e47b
 4991         -
-- /dev/null
        6815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 4992   6816   
@@ -0,0 +1 @@
        6817  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 4993   6818   
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
 4994   6819   
new file mode 100644
 4995   6820   
index 0000000..c0e50a0
 4996         -
-- /dev/null
        6821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 4997   6822   
@@ -0,0 +1,6 @@
        6823  +
POST / HTTP/1.1
        6824  +
Host:example.amazonaws.com
        6825  +
X-Amz-Date:20150830T123600Z
        6826  +
X-Amz-Region-Set:us-east-1
        6827  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6828  +
 4998   6829   
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
 4999   6830   
similarity index 99%
 5000   6831   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 5001   6832   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 5002   6833   
index d5650cb..f8adf13 100644
 5003   6834   
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
 5004   6835   
new file mode 100644
 5005   6836   
index 0000000..379dcb2
 5006         -
-- /dev/null
        6837  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 5007   6838   
@@ -0,0 +1,4 @@
        6839  +
{
        6840  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6841  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6842  +
}
 5008   6843   
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
 5009   6844   
similarity index 99%
 5010   6845   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 5011   6846   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 5012   6847   
index e48ce07..5ea8e3c 100644
 5013   6848   
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
 5014   6849   
new file mode 100644
 5015   6850   
index 0000000..ea8e3b4
 5016         -
-- /dev/null
        6851  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 5017   6852   
@@ -0,0 +1 @@
        6853  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 5018   6854   
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
 5019   6855   
new file mode 100644
 5020   6856   
index 0000000..616973f
 5021         -
-- /dev/null
        6857  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 5022   6858   
@@ -0,0 +1,3 @@
        6859  +
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
        6860  +
Host:example.amazonaws.com
        6861  +
 5023   6862   
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
 5024   6863   
similarity index 99%
 5025   6864   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 5026   6865   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 5027   6866   
index 34e3382..711c162 100644
 5028   6867   
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
 5029   6868   
new file mode 100644
 5030   6869   
index 0000000..3f0a82a
 5031         -
-- /dev/null
        6870  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 5032   6871   
@@ -0,0 +1,2 @@
        6872  +
POST / HTTP/1.1
        6873  +
Host:example.amazonaws.com
 5033   6874   
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
 5034   6875   
new file mode 100644
 5035   6876   
index 0000000..0db1df1
 5036         -
-- /dev/null
        6877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 5037   6878   
@@ -0,0 +1,12 @@
        6879  +
{
        6880  +
    "credentials": {
        6881  +
        "access_key_id": "AKIDEXAMPLE",
        6882  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6883  +
    },
        6884  +
    "expiration_in_seconds": 3600,
        6885  +
    "normalize": true,
        6886  +
    "region": "us-east-1",
        6887  +
    "service": "service",
        6888  +
    "sign_body": true,
        6889  +
    "timestamp": "2015-08-30T12:36:00Z"
        6890  +
}
              \
 No newline at end of file
 5038   6891   
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
 5039   6892   
similarity index 62%
 5040   6893   
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
 5041   6894   
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
 5042   6895   
index 05ab787..62639b2 100644
 5043         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        6896  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 5044   6897   
@@ -1,12 +1,12 @@
 5045   6898   
POST
 5046   6899   
/
 5047   6900   
 5048   6901   
content-length:13
 5049   6902   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5050   6903   
host:example.amazonaws.com
 5051         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6904  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5052   6905   
x-amz-date:20150830T123600Z
 5053   6906   
x-amz-region-set:us-east-1
 5054   6907   
 5055   6908   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5056         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6909  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5057   6910   
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
 5058   6911   
new file mode 100644
 5059   6912   
index 0000000..006ec2e
 5060         -
-- /dev/null
        6913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 5061   6914   
@@ -0,0 +1 @@
        6915  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 5062   6916   
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
 5063   6917   
new file mode 100644
 5064   6918   
index 0000000..87a11f2
 5065         -
-- /dev/null
        6919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 5066   6920   
@@ -0,0 +1,10 @@
        6921  +
POST / HTTP/1.1
        6922  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6923  +
Host:example.amazonaws.com
        6924  +
Content-Length:13
        6925  +
X-Amz-Date:20150830T123600Z
        6926  +
X-Amz-Region-Set:us-east-1
        6927  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        6928  +
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
        6929  +
        6930  +
Param1=value1
              \
 No newline at end of file
 5067   6931   
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
 5068   6932   
new file mode 100644
 5069   6933   
index 0000000..c047afb
 5070         -
-- /dev/null
        6934  +
++ 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
 5071   6935   
@@ -0,0 +1,4 @@
        6936  +
AWS4-ECDSA-P256-SHA256
        6937  +
20150830T123600Z
        6938  +
20150830/service/aws4_request
        6939  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 5072   6940   
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
 5073   6941   
new file mode 100644
 5074   6942   
index 0000000..379dcb2
 5075         -
-- /dev/null
        6943  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 5076   6944   
@@ -0,0 +1,4 @@
        6945  +
{
        6946  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6947  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6948  +
}
 5077   6949   
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
 5078   6950   
similarity index 85%
 5079   6951   
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
 5080   6952   
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
 5081   6953   
index fcc454f..6933a8c 100644
 5082         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        6954  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 5083   6955   
@@ -1,9 +1,9 @@
 5084   6956   
POST
 5085   6957   
/
 5086   6958   
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
 5087   6959   
content-length:13
 5088   6960   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5089   6961   
host:example.amazonaws.com
 5090   6962   
 5091   6963   
content-length;content-type;host
 5092         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6964  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5093   6965   
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
 5094   6966   
new file mode 100644
 5095   6967   
index 0000000..34a2e12
 5096         -
-- /dev/null
        6968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 5097   6969   
@@ -0,0 +1 @@
        6970  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 5098   6971   
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
 5099   6972   
new file mode 100644
 5100   6973   
index 0000000..197b99e
 5101         -
-- /dev/null
        6974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 5102   6975   
@@ -0,0 +1,6 @@
        6976  +
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
        6977  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        6978  +
Host:example.amazonaws.com
        6979  +
Content-Length:13
        6980  +
        6981  +
Param1=value1
              \
 No newline at end of file
 5103   6982   
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
 5104   6983   
new file mode 100644
 5105   6984   
index 0000000..9d2bc74
 5106         -
-- /dev/null
        6985  +
++ 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
 5107   6986   
@@ -0,0 +1,4 @@
        6987  +
AWS4-ECDSA-P256-SHA256
        6988  +
20150830T123600Z
        6989  +
20150830/service/aws4_request
        6990  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 5108   6991   
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
 5109   6992   
similarity index 80%
 5110   6993   
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
 5111   6994   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5112   6995   
index 36015f1..8289eaa 100644
 5113         -
-- 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
        6996  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5114   6997   
@@ -1,6 +1,6 @@
 5115   6998   
POST / HTTP/1.1
 5116   6999   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 5117   7000   
Host:example.amazonaws.com
 5118         -
X-Amz-Date:20150830T123600Z
        7001  +
Content-Length:13
 5119   7002   
 5120   7003   
Param1=value1
              \
 No newline at end of file
 5121   7004   
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
 5122   7005   
new file mode 100644
 5123   7006   
index 0000000..0db1df1
 5124         -
-- /dev/null
        7007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 5125   7008   
@@ -0,0 +1,12 @@
        7009  +
{
        7010  +
    "credentials": {
        7011  +
        "access_key_id": "AKIDEXAMPLE",
        7012  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7013  +
    },
        7014  +
    "expiration_in_seconds": 3600,
        7015  +
    "normalize": true,
        7016  +
    "region": "us-east-1",
        7017  +
    "service": "service",
        7018  +
    "sign_body": true,
        7019  +
    "timestamp": "2015-08-30T12:36:00Z"
        7020  +
}
              \
 No newline at end of file
 5126   7021   
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
 5127   7022   
similarity index 61%
 5128   7023   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 5129   7024   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5130   7025   
index 69009dc..797632b 100644
 5131         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        7026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5132   7027   
@@ -1,12 +1,12 @@
 5133   7028   
POST
 5134   7029   
/
 5135   7030   
 5136   7031   
content-length:13
 5137   7032   
content-type:application/x-www-form-urlencoded
 5138   7033   
host:example.amazonaws.com
 5139         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7034  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5140   7035   
x-amz-date:20150830T123600Z
 5141   7036   
x-amz-region-set:us-east-1
 5142   7037   
 5143   7038   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5144         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7039  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5145   7040   
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
 5146   7041   
new file mode 100644
 5147   7042   
index 0000000..f5a641c
 5148         -
-- /dev/null
        7043  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 5149   7044   
@@ -0,0 +1 @@
        7045  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 5150   7046   
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
 5151   7047   
new file mode 100644
 5152   7048   
index 0000000..7bd94a7
 5153         -
-- /dev/null
        7049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 5154   7050   
@@ -0,0 +1,10 @@
        7051  +
POST / HTTP/1.1
        7052  +
Content-Type:application/x-www-form-urlencoded
        7053  +
Host:example.amazonaws.com
        7054  +
Content-Length:13
        7055  +
X-Amz-Date:20150830T123600Z
        7056  +
X-Amz-Region-Set:us-east-1
        7057  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7058  +
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
        7059  +
        7060  +
Param1=value1
              \
 No newline at end of file
 5155   7061   
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
 5156   7062   
new file mode 100644
 5157   7063   
index 0000000..8d25ba9
 5158         -
-- /dev/null
        7064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 5159   7065   
@@ -0,0 +1,4 @@
        7066  +
AWS4-ECDSA-P256-SHA256
        7067  +
20150830T123600Z
        7068  +
20150830/service/aws4_request
        7069  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 5160   7070   
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
 5161   7071   
new file mode 100644
 5162   7072   
index 0000000..379dcb2
 5163         -
-- /dev/null
        7073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 5164   7074   
@@ -0,0 +1,4 @@
        7075  +
{
        7076  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7077  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7078  +
}
 5165   7079   
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
 5166   7080   
similarity index 99%
 5167   7081   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 5168   7082   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 5169   7083   
index 9ed065b..563ff58 100644
 5170   7084   
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
 5171   7085   
new file mode 100644
 5172   7086   
index 0000000..0c77daf
 5173         -
-- /dev/null
        7087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 5174   7088   
@@ -0,0 +1 @@
        7089  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 5175   7090   
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
 5176   7091   
new file mode 100644
 5177   7092   
index 0000000..71d6de9
 5178         -
-- /dev/null
        7093  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5179   7094   
@@ -0,0 +1,6 @@
        7095  +
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
        7096  +
Content-Type:application/x-www-form-urlencoded
        7097  +
Host:example.amazonaws.com
        7098  +
Content-Length:13
        7099  +
        7100  +
Param1=value1
              \
 No newline at end of file
 5180   7101   
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
 5181   7102   
similarity index 99%
 5182   7103   
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
 5183   7104   
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
 5184   7105   
index bef3143..cc7a224 100644
 5185   7106   
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
 5186   7107   
new file mode 100644
 5187   7108   
index 0000000..760b2d3
 5188         -
-- /dev/null
        7109  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5189   7110   
@@ -0,0 +1,6 @@
        7111  +
POST / HTTP/1.1
        7112  +
Content-Type:application/x-www-form-urlencoded
        7113  +
Host:example.amazonaws.com
        7114  +
Content-Length:13
        7115  +
        7116  +
Param1=value1
              \
 No newline at end of file
 5190   7117   
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
 5191   7118   
index 9bd636f..b53f33f 100644
 5192         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5193   7120   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5194   7121   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5195   7122   
        }
 5196   7123   
 5197   7124   
        if let SignatureValues::QueryParams(values) = values {
 5198   7125   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5199   7126   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5200   7127   
 5201   7128   
            #[cfg(feature = "sigv4a")]
 5202   7129   
            if let Some(regions) = values.region_set {
 5203   7130   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5204   7131   
            }
 5205   7132   
 5206   7133   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5207   7134   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5208   7135   
            add_param(
 5209   7136   
                &mut params,
 5210   7137   
                param::X_AMZ_SIGNED_HEADERS,
 5211   7138   
                values.signed_headers.as_str(),
 5212   7139   
            );
 5213   7140   
 5214   7141   
            if let Some(security_token) = values.security_token {
 5215   7142   
                add_param(
 5216   7143   
                    &mut params,
 5217   7144   
                    settings
 5218   7145   
                        .session_token_name_override
 5219   7146   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5220   7147   
                    security_token,
 5221   7148   
                );
 5222   7149   
            }
 5223   7150   
        }
 5224         -
        // Sort by param name, and then by param value
        7151  +
        7152  +
        // Sort on the _encoded_ key/value pairs
        7153  +
        let mut params: Vec<(String, String)> = params
        7154  +
            .into_iter()
        7155  +
            .map(|x| {
        7156  +
                use aws_smithy_http::query::fmt_string;
        7157  +
                let enc_k = fmt_string(&x.0);
        7158  +
                let enc_v = fmt_string(&x.1);
        7159  +
                (enc_k, enc_v)
        7160  +
            })
        7161  +
            .collect();
        7162  +
 5225   7163   
        params.sort();
 5226   7164   
 5227   7165   
        let mut query = QueryWriter::new(uri);
 5228   7166   
        query.clear_params();
 5229   7167   
        for (key, value) in params {
 5230         -
            query.insert(&key, &value);
        7168  +
            query.insert_encoded(&key, &value);
 5231   7169   
        }
 5232   7170   
 5233   7171   
        let query = query.build_query();
 5234   7172   
        if query.is_empty() {
 5235   7173   
            None
 5236   7174   
        } else {
 5237   7175   
            Some(query)
 5238   7176   
        }
 5239   7177   
    }
 5240   7178   
 5241   7179   
    fn insert_host_header(
 5242   7180   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5243   7181   
        uri: &Uri,
 5244   7182   
    ) -> HeaderValue {
 5245   7183   
        match canonical_headers.get(&HOST) {
 5246   7184   
            Some(header) => header.clone(),
 5247   7185   
            None => {
 5248   7186   
                let port = uri.port();
 5249   7187   
                let scheme = uri.scheme();
 5250   7188   
                let authority = uri
 5251   7189   
                    .authority()
 5252   7190   
                    .expect("request uri authority must be set for signing")
 5253   7191   
                    .as_str();
 5254   7192   
                let host = uri
 5255   7193   
                    .host()
 5256   7194   
                    .expect("request uri host must be set for signing");
 5257   7195   
 5258   7196   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5259   7197   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5260   7198   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5261   7199   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5262   7200   
            service,
 5263   7201   
            hashed_creq,
 5264   7202   
            signature_version: SignatureVersion::V4a,
 5265   7203   
        }
 5266   7204   
    }
 5267   7205   
}
 5268   7206   
 5269   7207   
impl fmt::Display for StringToSign<'_> {
 5270   7208   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5271   7209   
        write!(
 5272   7210   
            f,
 5273   7211   
            "{}\n{}\n{}\n{}",
 5274   7212   
            self.algorithm,
 5275   7213   
            format_date_time(self.time),
 5276   7214   
            match self.signature_version {
 5277   7215   
                SignatureVersion::V4 => self.scope.to_string(),
 5278   7216   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5279   7217   
            },
 5280   7218   
            self.hashed_creq
 5281   7219   
        )
 5282   7220   
    }
 5283   7221   
}
 5284   7222   
 5285   7223   
#[cfg(test)]
 5286   7224   
mod tests {
 5287   7225   
    use crate::date_time::test_parsers::parse_date_time;
 5288   7226   
    use crate::http_request::canonical_request::{
 5289   7227   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5290   7228   
    };
 5291   7229   
    use crate::http_request::test;
        7230  +
    use crate::http_request::test::SigningSuiteTest;
 5292   7231   
    use crate::http_request::{
 5293   7232   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5294   7233   
        SigningParams, SigningSettings,
 5295   7234   
    };
 5296   7235   
    use crate::sign::v4;
 5297   7236   
    use crate::sign::v4::sha256_hex_string;
 5298   7237   
    use aws_credential_types::Credentials;
 5299   7238   
    use aws_smithy_http::query_writer::QueryWriter;
 5300   7239   
    use aws_smithy_runtime_api::client::identity::Identity;
 5301   7240   
    use http0::{HeaderValue, Uri};
 5302   7241   
    use pretty_assertions::assert_eq;
 5303   7242   
    use proptest::{prelude::*, proptest};
 5304   7243   
    use std::borrow::Cow;
 5305   7244   
    use std::time::Duration;
 5306   7245   
 5307   7246   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5308   7247   
        v4::signing_params::Builder::default()
 5309   7248   
            .identity(identity)
 5310   7249   
            .region("test-region")
 5311   7250   
            .name("testservicename")
 5312   7251   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5313   7252   
            .settings(settings)
 5314   7253   
            .build()
 5315   7254   
            .unwrap()
 5316   7255   
            .into()
 5317   7256   
    }
 5318   7257   
 5319   7258   
    #[test]
 5320   7259   
    fn test_repeated_header() {
 5321         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7260  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7261  +
        let mut req = test.request();
 5322   7262   
        req.headers.push((
 5323   7263   
            "x-amz-object-attributes".to_string(),
 5324   7264   
            "Checksum".to_string(),
 5325   7265   
        ));
 5326   7266   
        req.headers.push((
 5327   7267   
            "x-amz-object-attributes".to_string(),
 5328   7268   
            "ObjectSize".to_string(),
 5329   7269   
        ));
 5330   7270   
        let req = SignableRequest::from(&req);
 5331   7271   
        let settings = SigningSettings {
 5332   7272   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5333   7273   
            session_token_mode: SessionTokenMode::Exclude,
 5334   7274   
            ..Default::default()
 5335   7275   
        };
 5336   7276   
        let identity = Credentials::for_tests().into();
 5337   7277   
        let signing_params = signing_params(&identity, settings);
 5338   7278   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5339   7279   
 5340   7280   
        assert_eq!(
 5341   7281   
            creq.values.signed_headers().to_string(),
 5342   7282   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5343   7283   
        );
 5344   7284   
        assert_eq!(
 5345   7285   
            creq.header_values_for("x-amz-object-attributes"),
 5346   7286   
            "Checksum,ObjectSize",
 5347   7287   
        );
 5348   7288   
    }
 5349   7289   
 5350   7290   
    #[test]
 5351   7291   
    fn test_host_header_properly_handles_ports() {
 5352   7292   
        fn host_header_test_setup(endpoint: String) -> String {
 5353         -
            let mut req = test::v4::test_request("get-vanilla");
        7293  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7294  +
            let mut req = test.request();
 5354   7295   
            req.uri = endpoint;
 5355   7296   
            let req = SignableRequest::from(&req);
 5356   7297   
            let settings = SigningSettings {
 5357   7298   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5358   7299   
                session_token_mode: SessionTokenMode::Exclude,
 5359   7300   
                ..Default::default()
 5360   7301   
            };
 5361   7302   
            let identity = Credentials::for_tests().into();
 5362   7303   
            let signing_params = signing_params(&identity, settings);
 5363   7304   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5364   7305   
            creq.header_values_for("host")
 5365   7306   
        }
 5366   7307   
 5367   7308   
        // HTTP request with 80 port should not be signed with that port
 5368   7309   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5369   7310   
        assert_eq!(http_80_host_header, "localhost",);
 5370   7311   
 5371   7312   
        // HTTP request with non-80 port should be signed with that port
 5372   7313   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5373   7314   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5374   7315   
 5375   7316   
        // HTTPS request with 443 port should not be signed with that port
 5376   7317   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5377   7318   
        assert_eq!(https_443_host_header, "localhost",);
 5378   7319   
 5379   7320   
        // HTTPS request with non-443 port should be signed with that port
 5380   7321   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5381   7322   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5382   7323   
    }
 5383   7324   
 5384   7325   
    #[test]
 5385   7326   
    fn test_set_xamz_sha_256() {
 5386         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7327  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7328  +
        let req = test.request();
 5387   7329   
        let req = SignableRequest::from(&req);
 5388   7330   
        let settings = SigningSettings {
 5389   7331   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5390   7332   
            session_token_mode: SessionTokenMode::Exclude,
 5391   7333   
            ..Default::default()
 5392   7334   
        };
 5393   7335   
        let identity = Credentials::for_tests().into();
 5394   7336   
        let mut signing_params = signing_params(&identity, settings);
 5395   7337   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5396   7338   
        assert_eq!(
 5397   7339   
            creq.values.content_sha256(),
 5398   7340   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5399   7341   
        );
 5400   7342   
        // assert that the sha256 header was added
 5401   7343   
        assert_eq!(
 5402   7344   
            creq.values.signed_headers().as_str(),
 5403   7345   
            "host;x-amz-content-sha256;x-amz-date"
 5404   7346   
        );
 5405   7347   
 5406   7348   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5407   7349   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5408   7350   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5409   7351   
    }
 5410   7352   
 5411   7353   
    #[test]
 5412   7354   
    fn test_unsigned_payload() {
 5413         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7355  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7356  +
        let mut req = test.request();
 5414   7357   
        req.set_body(SignableBody::UnsignedPayload);
 5415   7358   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5416   7359   
 5417   7360   
        let settings = SigningSettings {
 5418   7361   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5419   7362   
            ..Default::default()
 5420   7363   
        };
 5421   7364   
        let identity = Credentials::for_tests().into();
 5422   7365   
        let signing_params = signing_params(&identity, settings);
 5423   7366   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5424   7367   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5425   7368   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5426   7369   
    }
 5427   7370   
 5428   7371   
    #[test]
 5429   7372   
    fn test_precomputed_payload() {
 5430   7373   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5431         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7374  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7375  +
        let mut req = test.request();
 5432   7376   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5433   7377   
        let req = SignableRequest::from(&req);
 5434   7378   
        let settings = SigningSettings {
 5435   7379   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5436   7380   
            ..Default::default()
 5437   7381   
        };
 5438   7382   
        let identity = Credentials::for_tests().into();
 5439   7383   
        let signing_params = signing_params(&identity, settings);
 5440   7384   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5441   7385   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5442   7386   
        assert!(creq.to_string().ends_with(payload_hash));
 5443   7387   
    }
 5444   7388   
 5445   7389   
    #[test]
 5446   7390   
    fn test_generate_scope() {
 5447   7391   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5448   7392   
        let scope = SigningScope {
 5449   7393   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5450   7394   
            region: "us-east-1",
 5451   7395   
            service: "iam",
 5452   7396   
        };
 5453   7397   
        assert_eq!(format!("{}\n", scope), expected);
 5454   7398   
    }
 5455   7399   
 5456   7400   
    #[test]
 5457   7401   
    fn test_string_to_sign() {
 5458   7402   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5459         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5460         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7403  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7404  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7405  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5461   7406   
        let encoded = sha256_hex_string(creq.as_bytes());
 5462   7407   
 5463   7408   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5464   7409   
        assert_eq!(expected_sts, actual.to_string());
 5465   7410   
    }
 5466   7411   
 5467   7412   
    #[test]
 5468   7413   
    fn test_digest_of_canonical_request() {
 5469         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7414  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7415  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5470   7416   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5471   7417   
        let actual = sha256_hex_string(creq.as_bytes());
 5472   7418   
        assert_eq!(expected, actual);
 5473   7419   
    }
 5474   7420   
 5475   7421   
    #[test]
 5476   7422   
    fn test_double_url_encode_path() {
 5477         -
        let req = test::v4::test_request("double-encode-path");
        7423  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7424  +
        let req = test.request();
 5478   7425   
        let req = SignableRequest::from(&req);
 5479   7426   
        let identity = Credentials::for_tests().into();
 5480   7427   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5481   7428   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5482   7429   
 5483         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7430  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5484   7431   
        let actual = format!("{}", creq);
 5485   7432   
        assert_eq!(actual, expected);
 5486   7433   
    }
 5487   7434   
 5488   7435   
    #[test]
 5489   7436   
    fn test_double_url_encode() {
 5490         -
        let req = test::v4::test_request("double-url-encode");
        7437  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7438  +
        let req = test.request();
 5491   7439   
        let req = SignableRequest::from(&req);
 5492   7440   
        let identity = Credentials::for_tests().into();
 5493   7441   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5494   7442   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5495         -
 5496         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7443  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5497   7444   
        let actual = format!("{}", creq);
 5498   7445   
        assert_eq!(actual, expected);
 5499   7446   
    }
 5500   7447   
 5501   7448   
    #[test]
 5502   7449   
    fn test_tilde_in_uri() {
 5503   7450   
        let req = http0::Request::builder()
 5504   7451   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5505   7452   
        let req = SignableRequest::from(&req);
 5506   7453   
        let identity = Credentials::for_tests().into();
 5507   7454   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5508   7455   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5509   7456   
        assert_eq!(
 5510   7457   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5511   7458   
            creq.params.as_deref(),
 5512   7459   
        );
 5513   7460   
    }
 5514   7461   
 5515   7462   
    #[test]
 5516   7463   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5517   7464   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5518   7465   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5519   7466   
 5520   7467   
        let mut query_writer = QueryWriter::new(&uri);
 5521   7468   
        query_writer.insert("list-type", "2");
 5522   7469   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5523   7470   
 5524   7471   
        let req = http0::Request::builder()
 5525   7472   
            .uri(query_writer.build_uri())
 5526   7473   
            .body("")
 5527   7474   
            .unwrap()
 5528   7475   
            .into();
 5529   7476   
        let req = SignableRequest::from(&req);
 5530   7477   
        let identity = Credentials::for_tests().into();
 5531   7478   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5532   7479   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5533   7480   
 5534   7481   
        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~";
 5535   7482   
        let actual = creq.params.unwrap();
 5536   7483   
        assert_eq!(expected, actual);
 5537   7484   
    }
 5538   7485   
 5539   7486   
    #[test]
 5540   7487   
    fn test_omit_session_token() {
 5541         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7488  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7489  +
        let req = test.request();
 5542   7490   
        let req = SignableRequest::from(&req);
 5543   7491   
        let settings = SigningSettings {
 5544   7492   
            session_token_mode: SessionTokenMode::Include,
 5545   7493   
            ..Default::default()
 5546   7494   
        };
 5547   7495   
        let identity = Credentials::for_tests_with_session_token().into();
 5548   7496   
        let mut signing_params = signing_params(&identity, settings);
 5549   7497   
 5550   7498   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5551   7499   
        assert_eq!(
 5552   7500   
            creq.values.signed_headers().as_str(),
 5553   7501   
            "host;x-amz-date;x-amz-security-token"
 5554   7502   
        );
 5555   7503   
        assert_eq!(
 5556   7504   
            creq.headers.get("x-amz-security-token").unwrap(),
 5557   7505   
            "notarealsessiontoken"
 5558   7506   
        );
 5559   7507   
 5560   7508   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5561   7509   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5562   7510   
        assert_eq!(
 5563   7511   
            creq.headers.get("x-amz-security-token").unwrap(),
 5564   7512   
            "notarealsessiontoken"
 5565   7513   
        );
 5566   7514   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5567   7515   
    }
 5568   7516   
 5569   7517   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5570   7518   
    #[test]
 5571   7519   
    fn non_presigning_header_exclusion() {
 5572   7520   
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
 5573   7521   
index c4bbbee..363fc2c 100644
 5574         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5575   7523   
@@ -6,60 +6,62 @@
 5576   7524   
use super::error::SigningError;
 5577   7525   
use super::{PayloadChecksumKind, SignatureLocation};
 5578   7526   
use crate::http_request::canonical_request::header;
 5579   7527   
use crate::http_request::canonical_request::param;
 5580   7528   
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5581   7529   
use crate::http_request::error::CanonicalRequestError;
 5582   7530   
use crate::http_request::SigningParams;
 5583   7531   
use crate::sign::v4;
 5584   7532   
#[cfg(feature = "sigv4a")]
 5585   7533   
use crate::sign::v4a;
 5586   7534   
use crate::{SignatureVersion, SigningOutput};
 5587   7535   
use http0::Uri;
 5588   7536   
use std::borrow::Cow;
 5589   7537   
use std::fmt::{Debug, Formatter};
 5590   7538   
use std::str;
 5591   7539   
 5592   7540   
const LOG_SIGNABLE_BODY: &str = "LOG_SIGNABLE_BODY";
 5593   7541   
 5594   7542   
/// Represents all of the information necessary to sign an HTTP request.
 5595   7543   
#[derive(Debug)]
 5596   7544   
#[non_exhaustive]
 5597   7545   
pub struct SignableRequest<'a> {
 5598   7546   
    method: &'a str,
 5599   7547   
    uri: Uri,
 5600   7548   
    headers: Vec<(&'a str, &'a str)>,
 5601   7549   
    body: SignableBody<'a>,
 5602   7550   
}
 5603   7551   
 5604   7552   
impl<'a> SignableRequest<'a> {
 5605   7553   
    /// Creates a new `SignableRequest`.
        7554  +
    ///
        7555  +
    /// NOTE: The `uri` is expected to already in encoded form.
 5606   7556   
    pub fn new(
 5607   7557   
        method: &'a str,
 5608   7558   
        uri: impl Into<Cow<'a, str>>,
 5609   7559   
        headers: impl Iterator<Item = (&'a str, &'a str)>,
 5610   7560   
        body: SignableBody<'a>,
 5611   7561   
    ) -> Result<Self, SigningError> {
 5612   7562   
        let uri = uri
 5613   7563   
            .into()
 5614   7564   
            .parse()
 5615   7565   
            .map_err(|e| SigningError::from(CanonicalRequestError::from(e)))?;
 5616   7566   
        let headers = headers.collect();
 5617   7567   
        Ok(Self {
 5618   7568   
            method,
 5619   7569   
            uri,
 5620   7570   
            headers,
 5621   7571   
            body,
 5622   7572   
        })
 5623   7573   
    }
 5624   7574   
 5625   7575   
    /// Returns the signable URI
 5626   7576   
    pub(crate) fn uri(&self) -> &Uri {
 5627   7577   
        &self.uri
 5628   7578   
    }
 5629   7579   
 5630   7580   
    /// Returns the signable HTTP method
 5631   7581   
    pub(crate) fn method(&self) -> &str {
 5632   7582   
        self.method
 5633   7583   
    }
 5634   7584   
 5635   7585   
    /// Returns the request headers
 5636   7586   
@@ -478,436 +480,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5637   7587   
        sensitive,
 5638   7588   
    });
 5639   7589   
}
 5640   7590   
 5641   7591   
// add signature to authorization header
 5642   7592   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5643   7593   
fn build_authorization_header(
 5644   7594   
    access_key: &str,
 5645   7595   
    creq: &CanonicalRequest<'_>,
 5646   7596   
    sts: StringToSign<'_>,
 5647   7597   
    signature: &str,
 5648   7598   
    signature_version: SignatureVersion,
 5649   7599   
) -> String {
 5650   7600   
    let scope = match signature_version {
 5651   7601   
        SignatureVersion::V4 => sts.scope.to_string(),
 5652   7602   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5653   7603   
    };
 5654   7604   
    format!(
 5655   7605   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5656   7606   
        sts.algorithm,
 5657   7607   
        access_key,
 5658   7608   
        scope,
 5659   7609   
        creq.values.signed_headers().as_str(),
 5660   7610   
        signature
 5661   7611   
    )
 5662   7612   
}
 5663   7613   
#[cfg(test)]
 5664   7614   
mod tests {
 5665   7615   
    use crate::date_time::test_parsers::parse_date_time;
 5666   7616   
    use crate::http_request::sign::{add_header, SignableRequest};
        7617  +
    use crate::http_request::test::SigningSuiteTest;
 5667   7618   
    use crate::http_request::{
 5668         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7619  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5669   7620   
        SigningSettings,
 5670   7621   
    };
 5671   7622   
    use crate::sign::v4;
 5672   7623   
    use aws_credential_types::Credentials;
 5673   7624   
    use http0::{HeaderValue, Request};
 5674   7625   
    use pretty_assertions::assert_eq;
 5675   7626   
    use proptest::proptest;
 5676   7627   
    use std::borrow::Cow;
 5677   7628   
    use std::iter;
 5678         -
    use std::time::Duration;
 5679   7629   
 5680   7630   
    macro_rules! assert_req_eq {
 5681   7631   
        (http: $expected:expr, $actual:expr) => {
 5682   7632   
            let mut expected = ($expected).map(|_b|"body");
 5683   7633   
            let mut actual = ($actual).map(|_b|"body");
 5684   7634   
            make_headers_comparable(&mut expected);
 5685   7635   
            make_headers_comparable(&mut actual);
 5686   7636   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5687   7637   
        };
 5688   7638   
        ($expected:tt, $actual:tt) => {
 5689   7639   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5690   7640   
        };
 5691   7641   
    }
 5692   7642   
 5693   7643   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5694   7644   
        for (_name, value) in request.headers_mut() {
 5695   7645   
            value.set_sensitive(false);
 5696   7646   
        }
 5697   7647   
    }
 5698   7648   
 5699         -
    #[test]
 5700         -
    fn test_sign_vanilla_with_headers() {
 5701         -
        let settings = SigningSettings::default();
 5702         -
        let identity = &Credentials::for_tests().into();
 5703         -
        let params = v4::SigningParams {
 5704         -
            identity,
 5705         -
            region: "us-east-1",
 5706         -
            name: "service",
 5707         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5708         -
            settings,
 5709         -
        }
 5710         -
        .into();
 5711         -
 5712         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5713         -
        let signable = SignableRequest::from(&original);
 5714         -
        let out = sign(signable, &params).unwrap();
 5715         -
        assert_eq!(
 5716         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5717         -
            out.signature
 5718         -
        );
 5719         -
 5720         -
        let mut signed = original.as_http_request();
 5721         -
        out.output.apply_to_request_http0x(&mut signed);
 5722         -
 5723         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5724         -
        assert_req_eq!(expected, signed);
 5725         -
    }
 5726         -
        7649  +
    // Sigv4A suite tests
 5727   7650   
    #[cfg(feature = "sigv4a")]
 5728         -
    mod sigv4a_tests {
 5729         -
        use super::*;
 5730         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5731         -
        use crate::http_request::{sign, test, SigningParams};
 5732         -
        use crate::sign::v4a;
 5733         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5734         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5735         -
        use pretty_assertions::assert_eq;
 5736         -
 5737         -
        fn new_v4a_signing_params_from_context(
 5738         -
            test_context: &'_ test::v4a::TestContext,
 5739         -
            signature_location: SignatureLocation,
 5740         -
        ) -> SigningParams<'_> {
 5741         -
            let mut params = v4a::SigningParams::from(test_context);
 5742         -
            params.settings.signature_location = signature_location;
 5743         -
 5744         -
            params.into()
 5745         -
        }
 5746         -
 5747         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5748         -
            let tc = test::v4a::test_context(test_name);
 5749         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5750         -
 5751         -
            let req = test::v4a::test_request(test_name);
 5752         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5753         -
            let signable_req = SignableRequest::from(&req);
 5754         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        7651  +
    mod v4a_suite {
        7652  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5755   7653   
 5756         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 5757         -
 5758         -
            let expected_string_to_sign =
 5759         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5760         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5761         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5762         -
                *params.time(),
 5763         -
                params.region_set().unwrap(),
 5764         -
                params.name(),
 5765         -
                hashed_creq,
 5766         -
            )
 5767         -
            .to_string();
 5768         -
 5769         -
            assert_eq!(
 5770         -
                expected_string_to_sign, actual_string_to_sign,
 5771         -
                "'string to sign' didn't match"
 5772         -
            );
 5773         -
 5774         -
            let out = sign(signable_req, &params).unwrap();
 5775         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5776         -
            out.output
 5777         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5778         -
 5779         -
            let creds = params.credentials().unwrap();
 5780         -
            let signing_key =
 5781         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5782         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5783         -
            let sig = sig
 5784         -
                .try_into()
 5785         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5786         -
 5787         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5788         -
            let peer_public_key = signing_key.verifying_key();
 5789         -
            let sts = actual_string_to_sign.as_bytes();
 5790         -
            peer_public_key.verify(sts, &sig).unwrap();
        7654  +
        #[test]
        7655  +
        fn test_get_header_key_duplicate() {
        7656  +
            run_test_suite_v4a("get-header-key-duplicate")
 5791   7657   
        }
 5792   7658   
 5793   7659   
        #[test]
 5794         -
        fn test_get_header_key_duplicate() {
 5795         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7660  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7661  +
        fn test_get_header_value_multiline() {
        7662  +
            run_test_suite_v4a("get-header-value-multiline")
 5796   7663   
        }
 5797   7664   
 5798   7665   
        #[test]
 5799   7666   
        fn test_get_header_value_order() {
 5800         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7667  +
            run_test_suite_v4a("get-header-value-order")
 5801   7668   
        }
 5802   7669   
 5803   7670   
        #[test]
 5804   7671   
        fn test_get_header_value_trim() {
 5805         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7672  +
            run_test_suite_v4a("get-header-value-trim");
 5806   7673   
        }
 5807   7674   
 5808   7675   
        #[test]
 5809   7676   
        fn test_get_relative_normalized() {
 5810         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7677  +
            run_test_suite_v4a("get-relative-normalized");
 5811   7678   
        }
 5812   7679   
 5813   7680   
        #[test]
 5814   7681   
        fn test_get_relative_relative_normalized() {
 5815         -
            run_v4a_test_suite(
 5816         -
                "get-relative-relative-normalized",
 5817         -
                SignatureLocation::Headers,
 5818         -
            );
        7682  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5819   7683   
        }
 5820   7684   
 5821   7685   
        #[test]
 5822   7686   
        fn test_get_relative_relative_unnormalized() {
 5823         -
            run_v4a_test_suite(
 5824         -
                "get-relative-relative-unnormalized",
 5825         -
                SignatureLocation::Headers,
 5826         -
            );
        7687  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5827   7688   
        }
 5828   7689   
 5829   7690   
        #[test]
 5830   7691   
        fn test_get_relative_unnormalized() {
 5831         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7692  +
            run_test_suite_v4a("get-relative-unnormalized");
 5832   7693   
        }
 5833   7694   
 5834   7695   
        #[test]
 5835   7696   
        fn test_get_slash_dot_slash_normalized() {
 5836         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7697  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5837   7698   
        }
 5838   7699   
 5839   7700   
        #[test]
 5840   7701   
        fn test_get_slash_dot_slash_unnormalized() {
 5841         -
            run_v4a_test_suite(
 5842         -
                "get-slash-dot-slash-unnormalized",
 5843         -
                SignatureLocation::Headers,
 5844         -
            );
        7702  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5845   7703   
        }
 5846   7704   
 5847   7705   
        #[test]
 5848   7706   
        fn test_get_slash_normalized() {
 5849         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7707  +
            run_test_suite_v4a("get-slash-normalized");
 5850   7708   
        }
 5851   7709   
 5852   7710   
        #[test]
 5853   7711   
        fn test_get_slash_pointless_dot_normalized() {
 5854         -
            run_v4a_test_suite(
 5855         -
                "get-slash-pointless-dot-normalized",
 5856         -
                SignatureLocation::Headers,
 5857         -
            );
        7712  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5858   7713   
        }
 5859   7714   
 5860   7715   
        #[test]
 5861   7716   
        fn test_get_slash_pointless_dot_unnormalized() {
 5862         -
            run_v4a_test_suite(
 5863         -
                "get-slash-pointless-dot-unnormalized",
 5864         -
                SignatureLocation::Headers,
 5865         -
            );
        7717  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5866   7718   
        }
 5867   7719   
 5868   7720   
        #[test]
 5869   7721   
        fn test_get_slash_unnormalized() {
 5870         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7722  +
            run_test_suite_v4a("get-slash-unnormalized");
 5871   7723   
        }
 5872   7724   
 5873   7725   
        #[test]
 5874   7726   
        fn test_get_slashes_normalized() {
 5875         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7727  +
            run_test_suite_v4a("get-slashes-normalized");
 5876   7728   
        }
 5877   7729   
 5878   7730   
        #[test]
 5879   7731   
        fn test_get_slashes_unnormalized() {
 5880         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7732  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7733  +
        }
        7734  +
        7735  +
        #[test]
        7736  +
        #[ignore = "relies on single encode of path segments"]
        7737  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7738  +
        // skipped until we add control over double_uri_encode in context.json
        7739  +
        fn test_get_space_normalized() {
        7740  +
            run_test_suite_v4a("get-space-normalized");
        7741  +
        }
        7742  +
        7743  +
        #[test]
        7744  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7745  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7746  +
        fn test_get_space_unnormalized() {
        7747  +
            run_test_suite_v4a("get-space-unnormalized");
 5881   7748   
        }
 5882   7749   
 5883   7750   
        #[test]
 5884   7751   
        fn test_get_unreserved() {
 5885         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7752  +
            run_test_suite_v4a("get-unreserved");
        7753  +
        }
        7754  +
        7755  +
        #[test]
        7756  +
        #[ignore = "httparse fails on invalid uri character"]
        7757  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7758  +
        fn test_get_utf8() {
        7759  +
            run_test_suite_v4a("get-utf8");
 5886   7760   
        }
 5887   7761   
 5888   7762   
        #[test]
 5889   7763   
        fn test_get_vanilla() {
 5890         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7764  +
            run_test_suite_v4a("get-vanilla");
 5891   7765   
        }
 5892   7766   
 5893   7767   
        #[test]
 5894   7768   
        fn test_get_vanilla_empty_query_key() {
 5895         -
            run_v4a_test_suite(
 5896         -
                "get-vanilla-empty-query-key",
 5897         -
                SignatureLocation::QueryParams,
 5898         -
            );
        7769  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5899   7770   
        }
 5900   7771   
 5901   7772   
        #[test]
 5902   7773   
        fn test_get_vanilla_query() {
 5903         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7774  +
            run_test_suite_v4a("get-vanilla-query");
        7775  +
        }
        7776  +
        7777  +
        #[test]
        7778  +
        fn test_get_vanilla_query_order_encoded() {
        7779  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5904   7780   
        }
 5905   7781   
 5906   7782   
        #[test]
 5907   7783   
        fn test_get_vanilla_query_order_key_case() {
 5908         -
            run_v4a_test_suite(
 5909         -
                "get-vanilla-query-order-key-case",
 5910         -
                SignatureLocation::QueryParams,
 5911         -
            );
        7784  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5912   7785   
        }
 5913   7786   
 5914   7787   
        #[test]
 5915   7788   
        fn test_get_vanilla_query_unreserved() {
 5916         -
            run_v4a_test_suite(
 5917         -
                "get-vanilla-query-unreserved",
 5918         -
                SignatureLocation::QueryParams,
 5919         -
            );
        7789  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7790  +
        }
        7791  +
        7792  +
        #[test]
        7793  +
        #[ignore = "httparse fails on invalid uri character"]
        7794  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7795  +
        fn test_get_vanilla_utf8_query() {
        7796  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 5920   7797   
        }
 5921   7798   
 5922   7799   
        #[test]
 5923   7800   
        fn test_get_vanilla_with_session_token() {
 5924         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7801  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 5925   7802   
        }
 5926   7803   
 5927   7804   
        #[test]
 5928   7805   
        fn test_post_header_key_case() {
 5929         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7806  +
            run_test_suite_v4a("post-header-key-case");
 5930   7807   
        }
 5931   7808   
 5932   7809   
        #[test]
 5933   7810   
        fn test_post_header_key_sort() {
 5934         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7811  +
            run_test_suite_v4a("post-header-key-sort");
 5935   7812   
        }
 5936   7813   
 5937   7814   
        #[test]
 5938   7815   
        fn test_post_header_value_case() {
 5939         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7816  +
            run_test_suite_v4a("post-header-value-case");
 5940   7817   
        }
 5941   7818   
 5942   7819   
        #[test]
 5943   7820   
        fn test_post_sts_header_after() {
 5944         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7821  +
            run_test_suite_v4a("post-sts-header-after");
 5945   7822   
        }
 5946   7823   
 5947   7824   
        #[test]
 5948   7825   
        fn test_post_sts_header_before() {
 5949         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7826  +
            run_test_suite_v4a("post-sts-header-before");
 5950   7827   
        }
 5951   7828   
 5952   7829   
        #[test]
 5953   7830   
        fn test_post_vanilla() {
 5954         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7831  +
            run_test_suite_v4a("post-vanilla");
 5955   7832   
        }
 5956   7833   
 5957   7834   
        #[test]
 5958   7835   
        fn test_post_vanilla_empty_query_value() {
 5959         -
            run_v4a_test_suite(
 5960         -
                "post-vanilla-empty-query-value",
 5961         -
                SignatureLocation::QueryParams,
 5962         -
            );
        7836  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 5963   7837   
        }
 5964   7838   
 5965   7839   
        #[test]
 5966   7840   
        fn test_post_vanilla_query() {
 5967         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7841  +
            run_test_suite_v4a("post-vanilla-query");
 5968   7842   
        }
 5969   7843   
 5970   7844   
        #[test]
 5971   7845   
        fn test_post_x_www_form_urlencoded() {
 5972         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7846  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 5973   7847   
        }
 5974   7848   
 5975   7849   
        #[test]
 5976   7850   
        fn test_post_x_www_form_urlencoded_parameters() {
 5977         -
            run_v4a_test_suite(
 5978         -
                "post-x-www-form-urlencoded-parameters",
 5979         -
                SignatureLocation::QueryParams,
 5980         -
            );
        7851  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 5981   7852   
        }
 5982   7853   
    }
 5983   7854   
 5984   7855   
    #[test]
 5985   7856   
    fn test_sign_url_escape() {
 5986         -
        let test = "double-encode-path";
        7857  +
        let test = SigningSuiteTest::v4("double-encode-path");
 5987   7858   
        let settings = SigningSettings::default();
 5988   7859   
        let identity = &Credentials::for_tests().into();
 5989   7860   
        let params = v4::SigningParams {
 5990   7861   
            identity,
 5991   7862   
            region: "us-east-1",
 5992   7863   
            name: "service",
 5993   7864   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5994   7865   
            settings,
 5995   7866   
        }
 5996   7867   
        .into();
 5997   7868   
 5998         -
        let original = test::v4::test_request(test);
        7869  +
        let original = test.request();
 5999   7870   
        let signable = SignableRequest::from(&original);
 6000   7871   
        let out = sign(signable, &params).unwrap();
 6001   7872   
        assert_eq!(
 6002   7873   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 6003   7874   
            out.signature
 6004   7875   
        );
 6005   7876   
 6006   7877   
        let mut signed = original.as_http_request();
 6007   7878   
        out.output.apply_to_request_http0x(&mut signed);
 6008   7879   
 6009         -
        let expected = test::v4::test_signed_request(test);
 6010         -
        assert_req_eq!(expected, signed);
 6011         -
    }
 6012         -
 6013         -
    #[test]
 6014         -
    fn test_sign_vanilla_with_query_params() {
 6015         -
        let settings = SigningSettings {
 6016         -
            signature_location: SignatureLocation::QueryParams,
 6017         -
            expires_in: Some(Duration::from_secs(35)),
 6018         -
            ..Default::default()
 6019         -
        };
 6020         -
        let identity = &Credentials::for_tests().into();
 6021         -
        let params = v4::SigningParams {
 6022         -
            identity,
 6023         -
            region: "us-east-1",
 6024         -
            name: "service",
 6025         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 6026         -
            settings,
 6027         -
        }
 6028         -
        .into();
 6029         -
 6030         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 6031         -
        let signable = SignableRequest::from(&original);
 6032         -
        let out = sign(signable, &params).unwrap();
 6033         -
        assert_eq!(
 6034         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 6035         -
            out.signature
 6036         -
        );
 6037         -
 6038         -
        let mut signed = original.as_http_request();
 6039         -
        out.output.apply_to_request_http0x(&mut signed);
 6040         -
 6041         -
        let expected =
 6042         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7880  +
        let expected = test.signed_request(SignatureLocation::Headers);
 6043   7881   
        assert_req_eq!(expected, signed);
 6044   7882   
    }
 6045   7883   
 6046   7884   
    #[test]
 6047   7885   
    fn test_sign_headers_utf8() {
 6048   7886   
        let settings = SigningSettings::default();
 6049   7887   
        let identity = &Credentials::for_tests().into();
 6050   7888   
        let params = v4::SigningParams {
 6051   7889   
            identity,
 6052   7890   
            region: "us-east-1",
 6053   7891   
            name: "service",
 6054   7892   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6055   7893   
            settings,
 6056   7894   
        }
 6057   7895   
        .into();
 6058   7896   
 6059   7897   
        let original = http0::Request::builder()
 6060   7898   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 6061   7899   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 6062   7900   
            .body("")
 6063   7901   
            .unwrap()
 6064   7902   
            .into();
 6065   7903   
        let signable = SignableRequest::from(&original);
 6066   7904   
        let out = sign(signable, &params).unwrap();
 6067   7905   
        assert_eq!(
 6068   7906   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 6069   7907   
            out.signature
 6070   7908   
        );
 6071   7909   
 6072   7910   
        let mut signed = original.as_http_request();
 6073   7911   
@@ -1138,31 +1028,236 @@ mod tests {
 6074   7912   
        let mut request = http::Request::builder()
 6075   7913   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 6076   7914   
            .body("")
 6077   7915   
            .unwrap();
 6078   7916   
 6079   7917   
        instructions.apply_to_request_http1x(&mut request);
 6080   7918   
 6081   7919   
        assert_eq!(
 6082   7920   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 6083   7921   
            request.uri().path_and_query().unwrap().to_string()
 6084   7922   
        );
 6085   7923   
    }
 6086   7924   
 6087   7925   
    #[test]
 6088   7926   
    fn test_debug_signable_body() {
 6089   7927   
        let sut = SignableBody::Bytes(b"hello signable body");
 6090   7928   
        assert_eq!(
 6091   7929   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 6092   7930   
            format!("{sut:?}")
 6093   7931   
        );
 6094   7932   
 6095   7933   
        let sut = SignableBody::UnsignedPayload;
 6096   7934   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 6097   7935   
 6098   7936   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 6099   7937   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 6100   7938   
 6101   7939   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 6102   7940   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 6103   7941   
    }
        7942  +
        7943  +
    // v4 test suite
        7944  +
    mod v4_suite {
        7945  +
        use crate::http_request::test::run_test_suite_v4;
        7946  +
        7947  +
        #[test]
        7948  +
        fn test_get_header_key_duplicate() {
        7949  +
            run_test_suite_v4("get-header-key-duplicate");
        7950  +
        }
        7951  +
        7952  +
        #[test]
        7953  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7954  +
        fn test_get_header_value_multiline() {
        7955  +
            run_test_suite_v4("get-header-value-multiline");
        7956  +
        }
        7957  +
        7958  +
        #[test]
        7959  +
        fn test_get_header_value_order() {
        7960  +
            run_test_suite_v4("get-header-value-order");
        7961  +
        }
        7962  +
        7963  +
        #[test]
        7964  +
        fn test_get_header_value_trim() {
        7965  +
            run_test_suite_v4("get-header-value-trim");
        7966  +
        }
        7967  +
        7968  +
        #[test]
        7969  +
        fn test_get_relative_normalized() {
        7970  +
            run_test_suite_v4("get-relative-normalized");
        7971  +
        }
        7972  +
        7973  +
        #[test]
        7974  +
        fn test_get_relative_relative_normalized() {
        7975  +
            run_test_suite_v4("get-relative-relative-normalized");
        7976  +
        }
        7977  +
        7978  +
        #[test]
        7979  +
        fn test_get_relative_relative_unnormalized() {
        7980  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        7981  +
        }
        7982  +
        7983  +
        #[test]
        7984  +
        fn test_get_relative_unnormalized() {
        7985  +
            run_test_suite_v4("get-relative-unnormalized");
        7986  +
        }
        7987  +
        7988  +
        #[test]
        7989  +
        fn test_get_slash_dot_slash_normalized() {
        7990  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        7991  +
        }
        7992  +
        7993  +
        #[test]
        7994  +
        fn test_get_slash_dot_slash_unnormalized() {
        7995  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        7996  +
        }
        7997  +
        7998  +
        #[test]
        7999  +
        fn test_get_slash_normalized() {
        8000  +
            run_test_suite_v4("get-slash-normalized");
        8001  +
        }
        8002  +
        8003  +
        #[test]
        8004  +
        fn test_get_slash_pointless_dot_normalized() {
        8005  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        8006  +
        }
        8007  +
        8008  +
        #[test]
        8009  +
        fn test_get_slash_pointless_dot_unnormalized() {
        8010  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        8011  +
        }
        8012  +
        8013  +
        #[test]
        8014  +
        fn test_get_slash_unnormalized() {
        8015  +
            run_test_suite_v4("get-slash-unnormalized");
        8016  +
        }
        8017  +
        8018  +
        #[test]
        8019  +
        fn test_get_slashes_normalized() {
        8020  +
            run_test_suite_v4("get-slashes-normalized");
        8021  +
        }
        8022  +
        8023  +
        #[test]
        8024  +
        fn test_get_slashes_unnormalized() {
        8025  +
            run_test_suite_v4("get-slashes-unnormalized");
        8026  +
        }
        8027  +
        8028  +
        #[test]
        8029  +
        #[ignore = "relies on single encode of path segments"]
        8030  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        8031  +
        // skipped until we add control over double_uri_encode in context.json
        8032  +
        fn test_get_space_normalized() {
        8033  +
            run_test_suite_v4("get-space-normalized");
        8034  +
        }
        8035  +
        8036  +
        #[test]
        8037  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        8038  +
        // the input request has unencoded space ' ' in the path which fails to parse
        8039  +
        fn test_get_space_unnormalized() {
        8040  +
            run_test_suite_v4("get-space-unnormalized");
        8041  +
        }
        8042  +
        8043  +
        #[test]
        8044  +
        fn test_get_unreserved() {
        8045  +
            run_test_suite_v4("get-unreserved");
        8046  +
        }
        8047  +
        8048  +
        #[test]
        8049  +
        #[ignore = "httparse fails on invalid uri character"]
        8050  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8051  +
        fn test_get_utf8() {
        8052  +
            run_test_suite_v4("get-utf8");
        8053  +
        }
        8054  +
        8055  +
        #[test]
        8056  +
        fn test_get_vanilla() {
        8057  +
            run_test_suite_v4("get-vanilla");
        8058  +
        }
        8059  +
        8060  +
        #[test]
        8061  +
        fn test_get_vanilla_empty_query_key() {
        8062  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        8063  +
        }
        8064  +
        8065  +
        #[test]
        8066  +
        fn test_get_vanilla_query() {
        8067  +
            run_test_suite_v4("get-vanilla-query");
        8068  +
        }
        8069  +
        8070  +
        #[test]
        8071  +
        fn test_get_vanilla_query_order_encoded() {
        8072  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        8073  +
        }
        8074  +
        8075  +
        #[test]
        8076  +
        fn test_get_vanilla_query_order_key_case() {
        8077  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        8078  +
        }
        8079  +
        8080  +
        #[test]
        8081  +
        fn test_get_vanilla_query_unreserved() {
        8082  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        8083  +
        }
        8084  +
        8085  +
        #[test]
        8086  +
        #[ignore = "httparse fails on invalid uri character"]
        8087  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8088  +
        fn test_get_vanilla_utf8_query() {
        8089  +
            run_test_suite_v4("get-vanilla-utf8-query");
        8090  +
        }
        8091  +
        8092  +
        #[test]
        8093  +
        fn test_get_vanilla_with_session_token() {
        8094  +
            run_test_suite_v4("get-vanilla-with-session-token");
        8095  +
        }
        8096  +
        8097  +
        #[test]
        8098  +
        fn test_post_header_key_case() {
        8099  +
            run_test_suite_v4("post-header-key-case");
        8100  +
        }
        8101  +
        8102  +
        #[test]
        8103  +
        fn test_post_header_key_sort() {
        8104  +
            run_test_suite_v4("post-header-key-sort");
        8105  +
        }
        8106  +
        8107  +
        #[test]
        8108  +
        fn test_post_header_value_case() {
        8109  +
            run_test_suite_v4("post-header-value-case");
        8110  +
        }
        8111  +
        8112  +
        #[test]
        8113  +
        fn test_post_sts_header_after() {
        8114  +
            run_test_suite_v4("post-sts-header-after");
        8115  +
        }
        8116  +
        8117  +
        #[test]
        8118  +
        fn test_post_sts_header_before() {
        8119  +
            run_test_suite_v4("post-sts-header-before");
        8120  +
        }
        8121  +
        8122  +
        #[test]
        8123  +
        fn test_post_vanilla() {
        8124  +
            run_test_suite_v4("post-vanilla");
        8125  +
        }
        8126  +
        8127  +
        #[test]
        8128  +
        fn test_post_vanilla_empty_query_value() {
        8129  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8130  +
        }
        8131  +
        8132  +
        #[test]
        8133  +
        fn test_post_vanilla_query() {
        8134  +
            run_test_suite_v4("post-vanilla-query");
        8135  +
        }
        8136  +
        8137  +
        #[test]
        8138  +
        fn test_post_x_www_form_urlencoded() {
        8139  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8140  +
        }
        8141  +
        8142  +
        #[test]
        8143  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8144  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8145  +
        }
        8146  +
    }
 6104   8147   
}
 6105   8148   
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
 6106   8149   
index be6c496..86eec20 100644
 6107         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8150  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 6108   8151   
@@ -1,242 +1,453 @@
 6109   8152   
/*
 6110   8153   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 6111   8154   
 * SPDX-License-Identifier: Apache-2.0
 6112   8155   
 */
 6113   8156   
 6114   8157   
//! Functions shared between the tests of several modules.
 6115   8158   
 6116         -
use crate::http_request::{SignableBody, SignableRequest};
        8159  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8160  +
use crate::http_request::{
        8161  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8162  +
    SigningSettings,
        8163  +
};
        8164  +
use aws_credential_types::Credentials;
        8165  +
use aws_smithy_runtime_api::client::identity::Identity;
 6117   8166   
use http0::{Method, Uri};
        8167  +
use std::borrow::Cow;
 6118   8168   
use std::error::Error as StdError;
        8169  +
use std::time::{Duration, SystemTime};
        8170  +
use time::format_description::well_known::Rfc3339;
        8171  +
use time::OffsetDateTime;
        8172  +
        8173  +
/// Common test suite collection
        8174  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8175  +
enum Collection {
        8176  +
    V4,
        8177  +
    V4A,
        8178  +
}
 6119   8179   
 6120         -
pub(crate) mod v4 {
 6121         -
    use super::*;
        8180  +
/// A test from the common CRT test suite
        8181  +
#[derive(Debug, Clone)]
        8182  +
pub(crate) struct SigningSuiteTest {
        8183  +
    test_name: &'static str,
        8184  +
    collection: Collection,
        8185  +
}
 6122   8186   
 6123         -
    fn path(name: &str, ext: &str) -> String {
 6124         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8187  +
impl SigningSuiteTest {
        8188  +
    /// Create a new test from the V4 test suite
        8189  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8190  +
        Self {
        8191  +
            test_name,
        8192  +
            collection: Collection::V4,
 6125   8193   
        }
 6126         -
 6127         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 6128         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 6129         -
        read(&path(name, "creq")).trim().to_string()
 6130   8194   
    }
 6131   8195   
 6132         -
    pub(crate) fn test_sts(name: &str) -> String {
 6133         -
        read(&path(name, "sts"))
        8196  +
    /// Create a new test from the V4a test suite
        8197  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8198  +
        Self {
        8199  +
            test_name,
        8200  +
            collection: Collection::V4A,
 6134   8201   
        }
 6135         -
 6136         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6137         -
        test_parsed_request(name, "req")
 6138   8202   
    }
 6139   8203   
 6140         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 6141         -
        test_parsed_request(name, "sreq")
        8204  +
    /// Get the path to a file in this test suite directory
        8205  +
    fn path(&self, filename: &str) -> String {
        8206  +
        let dir = match self.collection {
        8207  +
            Collection::V4 => "v4",
        8208  +
            Collection::V4A => "v4a",
        8209  +
        };
        8210  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 6142   8211   
    }
 6143   8212   
 6144         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 6145         -
        test_parsed_request(name, "qpsreq")
        8213  +
    /// Get the HTTP request for the test
        8214  +
    pub(crate) fn request(&self) -> TestRequest {
        8215  +
        test_parsed_request(&self.path("request.txt"))
 6146   8216   
    }
 6147   8217   
 6148         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 6149         -
        let path = path(name, ext);
 6150         -
        match parse_request(read(&path).as_bytes()) {
 6151         -
            Ok(parsed) => parsed,
 6152         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8218  +
    /// Get the signed HTTP request for the test
        8219  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8220  +
        match signature_location {
        8221  +
            SignatureLocation::QueryParams => {
        8222  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 6153   8223   
            }
        8224  +
            SignatureLocation::Headers => {
        8225  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 6154   8226   
            }
 6155         -
 6156         -
    #[test]
 6157         -
    fn test_parse() {
 6158         -
        test_request("post-header-key-case");
 6159   8227   
        }
 6160         -
 6161         -
    #[test]
 6162         -
    fn test_read_query_params() {
 6163         -
        test_request("get-vanilla-query-order-key-case");
 6164   8228   
    }
 6165         -
}
 6166         -
 6167         -
#[cfg(feature = "sigv4a")]
 6168         -
pub(crate) mod v4a {
 6169         -
    use super::*;
 6170         -
    use crate::http_request::{
 6171         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 6172         -
    };
 6173         -
    use aws_credential_types::Credentials;
 6174         -
    use aws_smithy_runtime_api::client::identity::Identity;
 6175         -
    use serde_derive::Deserialize;
 6176         -
    use std::time::{Duration, SystemTime};
 6177         -
    use time::format_description::well_known::Rfc3339;
 6178         -
    use time::OffsetDateTime;
 6179   8229   
 6180         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6181         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8230  +
    /// Get the canonical request for the test
        8231  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8232  +
        match signature_location {
        8233  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8234  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6182   8235   
        }
 6183         -
 6184         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6185         -
        test_parsed_request(&path(name, "request"))
 6186   8236   
    }
 6187   8237   
 6188         -
    pub(crate) fn test_canonical_request(
 6189         -
        name: &str,
 6190         -
        signature_location: SignatureLocation,
 6191         -
    ) -> String {
        8238  +
    /// Get the string to sign for the test
        8239  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6192   8240   
        match signature_location {
 6193         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6194         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8241  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8242  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6195   8243   
        }
 6196   8244   
    }
 6197   8245   
 6198         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8246  +
    /// Get the signature for the test
        8247  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6199   8248   
        match signature_location {
 6200         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6201         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8249  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8250  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8251  +
        }
 6202   8252   
    }
        8253  +
        8254  +
    /// Get the test context for the test
        8255  +
    pub(crate) fn context(&self) -> TestContext {
        8256  +
        let context = read(&self.path("context.json"));
        8257  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8258  +
        tc_builder.build()
 6203   8259   
    }
        8260  +
}
 6204   8261   
 6205         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8262  +
fn test_parsed_request(path: &str) -> TestRequest {
 6206   8263   
    match parse_request(read(path).as_bytes()) {
 6207   8264   
        Ok(parsed) => parsed,
 6208   8265   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6209   8266   
    }
 6210         -
    }
        8267  +
}
 6211   8268   
 6212         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6213         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6214         -
        let context = read(&path);
 6215         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6216         -
        tc_builder.build()
 6217         -
    }
        8269  +
fn new_v4_signing_params_from_context(
        8270  +
    test_context: &'_ TestContext,
        8271  +
    signature_location: SignatureLocation,
        8272  +
) -> crate::http_request::SigningParams<'_> {
        8273  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8274  +
    params.settings.signature_location = signature_location;
        8275  +
    params.into()
        8276  +
}
        8277  +
        8278  +
/// Run the given test from the v4 suite for both header and query
        8279  +
/// signature locations
        8280  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8281  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8282  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8283  +
}
        8284  +
        8285  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8286  +
    assert_eq!(expected.scheme(), actual.scheme());
        8287  +
    assert_eq!(expected.authority(), actual.authority());
        8288  +
    assert_eq!(expected.path(), actual.path());
        8289  +
        8290  +
    // query params may be out of order
        8291  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8292  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8293  +
    expected_params.sort();
        8294  +
        8295  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8296  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8297  +
    actual_params.sort();
        8298  +
        8299  +
    assert_eq!(expected_params, actual_params);
        8300  +
}
 6218   8301   
 6219         -
    pub(crate) struct TestContext {
        8302  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8303  +
    let expected = expected.as_http_request();
        8304  +
    let actual = actual;
        8305  +
    assert_eq!(expected.method(), actual.method());
        8306  +
    assert_eq!(
        8307  +
        expected.headers().len(),
        8308  +
        actual.headers().len(),
        8309  +
        "extra or missing headers"
        8310  +
    );
        8311  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8312  +
    assert_uri_eq(expected.uri(), actual.uri());
        8313  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8314  +
}
        8315  +
        8316  +
/// Run the given test from the v4 suite for the given signature location
        8317  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8318  +
    let test = SigningSuiteTest::v4(test_name);
        8319  +
    let tc = test.context();
        8320  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8321  +
        8322  +
    let req = test.request();
        8323  +
    let expected_creq = test.canonical_request(signature_location);
        8324  +
    let signable_req = SignableRequest::from(&req);
        8325  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8326  +
        8327  +
    // check canonical request
        8328  +
    assert_eq!(
        8329  +
        expected_creq,
        8330  +
        actual_creq.to_string(),
        8331  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8332  +
    );
        8333  +
        8334  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8335  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8336  +
    let actual_string_to_sign = StringToSign::new_v4(
        8337  +
        *params.time(),
        8338  +
        params.region().unwrap(),
        8339  +
        params.name(),
        8340  +
        hashed_creq,
        8341  +
    )
        8342  +
    .to_string();
        8343  +
        8344  +
    // check string to sign
        8345  +
    assert_eq!(
        8346  +
        expected_string_to_sign, actual_string_to_sign,
        8347  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8348  +
    );
        8349  +
        8350  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8351  +
    let mut signed = req.as_http_request();
        8352  +
    out.output.apply_to_request_http0x(&mut signed);
        8353  +
        8354  +
    // check signature
        8355  +
    assert_eq!(
        8356  +
        test.signature(signature_location),
        8357  +
        out.signature,
        8358  +
        "signature didn't match (signature location: {signature_location:?})"
        8359  +
    );
        8360  +
        8361  +
    let expected = test.signed_request(signature_location);
        8362  +
    assert_requests_eq(expected, signed);
        8363  +
}
        8364  +
        8365  +
/// Test suite context.json
        8366  +
pub(crate) struct TestContext {
 6220   8367   
    pub(crate) identity: Identity,
 6221   8368   
    pub(crate) expiration_in_seconds: u64,
 6222   8369   
    pub(crate) normalize: bool,
 6223   8370   
    pub(crate) region: String,
 6224   8371   
    pub(crate) service: String,
 6225   8372   
    pub(crate) timestamp: String,
 6226   8373   
    pub(crate) omit_session_token: bool,
 6227   8374   
    pub(crate) sign_body: bool,
 6228         -
    }
 6229         -
 6230         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6231         -
        fn from(tc: &'a TestContext) -> Self {
 6232         -
            crate::sign::v4a::SigningParams {
 6233         -
                identity: &tc.identity,
 6234         -
                region_set: &tc.region,
 6235         -
                name: &tc.service,
 6236         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6237         -
                    .unwrap()
 6238         -
                    .into(),
 6239         -
                settings: SigningSettings {
 6240         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6241         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6242         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6243         -
                    session_token_mode: if tc.omit_session_token {
 6244         -
                        SessionTokenMode::Exclude
 6245         -
                    } else {
 6246         -
                        SessionTokenMode::Include
 6247         -
                    },
 6248         -
                    payload_checksum_kind: if tc.sign_body {
 6249         -
                        PayloadChecksumKind::XAmzSha256
 6250         -
                    } else {
 6251         -
                        PayloadChecksumKind::NoHeader
 6252         -
                    },
 6253         -
                    ..Default::default()
 6254         -
                },
 6255         -
            }
 6256         -
        }
 6257         -
    }
        8375  +
}
 6258   8376   
 6259         -
    // Serde has limitations requiring this odd workaround.
 6260         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6261         -
    fn return_true() -> bool {
        8377  +
// Serde has limitations requiring this odd workaround.
        8378  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8379  +
fn return_true() -> bool {
 6262   8380   
    true
 6263         -
    }
        8381  +
}
 6264   8382   
 6265         -
    #[derive(Deserialize)]
 6266         -
    pub(crate) struct TestContextBuilder {
        8383  +
#[derive(serde_derive::Deserialize)]
        8384  +
pub(crate) struct TestContextBuilder {
 6267   8385   
    credentials: TestContextCreds,
 6268   8386   
    expiration_in_seconds: u64,
 6269   8387   
    normalize: bool,
 6270   8388   
    region: String,
 6271   8389   
    service: String,
 6272   8390   
    timestamp: String,
 6273   8391   
    #[serde(default)]
 6274   8392   
    omit_session_token: bool,
 6275   8393   
    #[serde(default = "return_true")]
 6276   8394   
    sign_body: bool,
 6277         -
    }
        8395  +
}
 6278   8396   
 6279         -
    impl TestContextBuilder {
        8397  +
impl TestContextBuilder {
 6280   8398   
    pub(crate) fn build(self) -> TestContext {
 6281   8399   
        let identity = Identity::new(
 6282   8400   
            Credentials::from_keys(
 6283   8401   
                &self.credentials.access_key_id,
 6284   8402   
                &self.credentials.secret_access_key,
 6285   8403   
                self.credentials.token.clone(),
 6286   8404   
            ),
 6287   8405   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6288   8406   
        );
 6289   8407   
 6290   8408   
        TestContext {
 6291   8409   
            identity,
 6292   8410   
            expiration_in_seconds: self.expiration_in_seconds,
 6293   8411   
            normalize: self.normalize,
 6294   8412   
            region: self.region,
 6295   8413   
            service: self.service,
 6296   8414   
            timestamp: self.timestamp,
 6297   8415   
            omit_session_token: self.omit_session_token,
 6298   8416   
            sign_body: self.sign_body,
 6299   8417   
        }
 6300   8418   
    }
 6301         -
    }
        8419  +
}
 6302   8420   
 6303         -
    #[derive(Deserialize)]
 6304         -
    pub(crate) struct TestContextCreds {
        8421  +
#[derive(serde_derive::Deserialize)]
        8422  +
pub(crate) struct TestContextCreds {
 6305   8423   
    access_key_id: String,
 6306   8424   
    secret_access_key: String,
 6307   8425   
    token: Option<String>,
        8426  +
}
        8427  +
        8428  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8429  +
    fn from(tc: &'a TestContext) -> Self {
        8430  +
        crate::sign::v4::SigningParams {
        8431  +
            identity: &tc.identity,
        8432  +
            region: &tc.region,
        8433  +
            name: &tc.service,
        8434  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8435  +
                .unwrap()
        8436  +
                .into(),
        8437  +
            settings: SigningSettings {
        8438  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8439  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8440  +
                uri_path_normalization_mode: tc.normalize.into(),
        8441  +
                session_token_mode: if tc.omit_session_token {
        8442  +
                    SessionTokenMode::Exclude
        8443  +
                } else {
        8444  +
                    SessionTokenMode::Include
        8445  +
                },
        8446  +
                payload_checksum_kind: if tc.sign_body {
        8447  +
                    PayloadChecksumKind::XAmzSha256
        8448  +
                } else {
        8449  +
                    PayloadChecksumKind::NoHeader
        8450  +
                },
        8451  +
                ..Default::default()
        8452  +
            },
        8453  +
        }
        8454  +
    }
        8455  +
}
        8456  +
        8457  +
#[cfg(feature = "sigv4a")]
        8458  +
pub(crate) mod v4a {
        8459  +
    use super::*;
        8460  +
    use crate::http_request::{
        8461  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8462  +
    };
        8463  +
    use crate::sign::v4a;
        8464  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8465  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8466  +
    use std::time::Duration;
        8467  +
    use time::format_description::well_known::Rfc3339;
        8468  +
    use time::OffsetDateTime;
        8469  +
        8470  +
    fn new_v4a_signing_params_from_context(
        8471  +
        test_context: &'_ TestContext,
        8472  +
        signature_location: SignatureLocation,
        8473  +
    ) -> crate::http_request::SigningParams<'_> {
        8474  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8475  +
        params.settings.signature_location = signature_location;
        8476  +
        params.into()
        8477  +
    }
        8478  +
        8479  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8480  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8481  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8482  +
    }
        8483  +
        8484  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8485  +
        let test = SigningSuiteTest::v4a(test_name);
        8486  +
        let tc = test.context();
        8487  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8488  +
        8489  +
        let req = test.request();
        8490  +
        let expected_creq = test.canonical_request(signature_location);
        8491  +
        let signable_req = SignableRequest::from(&req);
        8492  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8493  +
        8494  +
        assert_eq!(
        8495  +
            expected_creq,
        8496  +
            actual_creq.to_string(),
        8497  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8498  +
        );
        8499  +
        8500  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8501  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8502  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8503  +
            *params.time(),
        8504  +
            params.region_set().unwrap(),
        8505  +
            params.name(),
        8506  +
            hashed_creq,
        8507  +
        )
        8508  +
        .to_string();
        8509  +
        8510  +
        assert_eq!(
        8511  +
            expected_string_to_sign, actual_string_to_sign,
        8512  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8513  +
        );
        8514  +
        8515  +
        let out = sign(signable_req, &params).unwrap();
        8516  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8517  +
        out.output
        8518  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8519  +
        8520  +
        let creds = params.credentials().unwrap();
        8521  +
        let signing_key =
        8522  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8523  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8524  +
        let sig = sig
        8525  +
            .try_into()
        8526  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8527  +
        8528  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8529  +
        let peer_public_key = signing_key.verifying_key();
        8530  +
        let sts = actual_string_to_sign.as_bytes();
        8531  +
        peer_public_key.verify(sts, &sig).unwrap();
        8532  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8533  +
    }
        8534  +
        8535  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8536  +
        fn from(tc: &'a TestContext) -> Self {
        8537  +
            crate::sign::v4a::SigningParams {
        8538  +
                identity: &tc.identity,
        8539  +
                region_set: &tc.region,
        8540  +
                name: &tc.service,
        8541  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8542  +
                    .unwrap()
        8543  +
                    .into(),
        8544  +
                settings: SigningSettings {
        8545  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8546  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8547  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8548  +
                    session_token_mode: if tc.omit_session_token {
        8549  +
                        SessionTokenMode::Exclude
        8550  +
                    } else {
        8551  +
                        SessionTokenMode::Include
        8552  +
                    },
        8553  +
                    payload_checksum_kind: if tc.sign_body {
        8554  +
                        PayloadChecksumKind::XAmzSha256
        8555  +
                    } else {
        8556  +
                        PayloadChecksumKind::NoHeader
        8557  +
                    },
        8558  +
                    ..Default::default()
        8559  +
                },
        8560  +
            }
        8561  +
        }
 6308   8562   
    }
 6309   8563   
 6310   8564   
    #[test]
 6311   8565   
    fn test_parse() {
 6312         -
        let req = test_request("post-header-key-case");
        8566  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6313   8567   
        assert_eq!(req.method, "POST");
 6314   8568   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6315   8569   
        assert!(req.headers.is_empty());
 6316   8570   
    }
 6317   8571   
 6318   8572   
    #[test]
 6319   8573   
    fn test_read_query_params() {
 6320         -
        let req = test_request("get-header-value-trim");
        8574  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6321   8575   
        assert_eq!(req.method, "GET");
 6322   8576   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6323   8577   
        assert!(!req.headers.is_empty());
 6324   8578   
    }
 6325   8579   
}
 6326   8580   
 6327   8581   
fn read(path: &str) -> String {
 6328   8582   
    println!("Loading `{}` for test case...", path);
 6329   8583   
    let v = {
 6330   8584   
        match std::fs::read_to_string(path) {
 6331   8585   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6332   8586   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6333   8587   
            Ok(value) => value.replace("\r\n", "\n"),
 6334   8588   
            Err(err) => {
 6335   8589   
                panic!("failed to load test case `{}`: {}", path, err);
 6336   8590   
            }
 6337   8591   
        }
 6338   8592   
    };
 6339   8593   
 6340   8594   
    v.trim().to_string()
 6341   8595   
}
 6342   8596   
 6343   8597   
pub(crate) struct TestRequest {
 6344   8598   
    pub(crate) uri: String,
 6345   8599   
    pub(crate) method: String,
 6346   8600   
    pub(crate) headers: Vec<(String, String)>,
 6347   8601   
    pub(crate) body: TestSignedBody,
 6348   8602   
}
 6349   8603   
 6350   8604   
pub(crate) enum TestSignedBody {
 6351   8605   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6352   8606   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6353   8607   
                    )
 6354   8608   
                })
 6355   8609   
                .collect::<Vec<_>>(),
 6356   8610   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6357   8611   
        }
 6358   8612   
    }
 6359   8613   
}
 6360   8614   
 6361   8615   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6362   8616   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6363   8617   
        SignableRequest::new(
 6364   8618   
            &request.method,
 6365   8619   
            &request.uri,
 6366   8620   
            request
 6367   8621   
                .headers
 6368   8622   
                .iter()
 6369   8623   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6370   8624   
            request.body.as_signable_body(),
 6371   8625   
        )
 6372   8626   
        .expect("URI MUST be valid")
 6373   8627   
    }
 6374   8628   
}
 6375   8629   
 6376   8630   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6377   8631   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6378   8632   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6379   8633   
    let mut with_newline = Vec::from(s);
 6380   8634   
    with_newline.push(b'\n');
 6381   8635   
    let mut req = httparse::Request::new(&mut headers);
 6382         -
    let _ = req.parse(&with_newline).unwrap();
        8636  +
    let status = req.parse(&with_newline).unwrap();
        8637  +
        8638  +
    let body = if status.is_complete() {
        8639  +
        let body_offset = status.unwrap();
        8640  +
        // ignore the newline we added, take from original
        8641  +
        &s[body_offset..]
        8642  +
    } else {
        8643  +
        &[]
        8644  +
    };
 6383   8645   
 6384   8646   
    let mut uri_builder = Uri::builder().scheme("https");
 6385   8647   
    if let Some(path) = req.path {
 6386   8648   
        uri_builder = uri_builder.path_and_query(path);
 6387   8649   
    }
 6388   8650   
 6389   8651   
    let mut headers = vec![];
 6390   8652   
    for header in req.headers {
 6391   8653   
        let name = header.name.to_lowercase();
 6392   8654   
        if name == "host" {
 6393   8655   
            uri_builder = uri_builder.authority(header.value);
 6394   8656   
        } else if !name.is_empty() {
 6395   8657   
            headers.push((
 6396   8658   
                header.name.to_string(),
 6397   8659   
                std::str::from_utf8(header.value)?.to_string(),
 6398   8660   
            ));
 6399   8661   
        }
 6400   8662   
    }
 6401   8663   
 6402   8664   
    Ok(TestRequest {
 6403   8665   
        uri: uri_builder.build()?.to_string(),
 6404   8666   
        method: req.method.unwrap().to_string(),
 6405   8667   
        headers,
 6406         -
        body: TestSignedBody::Bytes(vec![]),
        8668  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6407   8669   
    })
 6408   8670   
}
 6409   8671   
 6410   8672   
#[test]
 6411   8673   
fn test_parse_headers() {
 6412   8674   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6413   8675   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6414   8676   
    assert_eq!(
 6415   8677   
        httparse::parse_headers(buf, &mut headers),
 6416   8678   
        Ok(httparse::Status::Complete((
 6417   8679   
            56,
 6418   8680   
            &[
 6419   8681   
                httparse::Header {
 6420   8682   
                    name: "Host",
 6421   8683   
                    value: b"example.amazonaws.com",
 6422   8684   
                },
 6423   8685   
                httparse::Header {
 6424   8686   
                    name: "X-Amz-Date",
 6425   8687   
                    value: b"20150830T123600Z",
 6426   8688   
                }
 6427   8689   
            ][..]
 6428   8690   
        )))
 6429   8691   
    );
 6430   8692   
}
 6431   8693   
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
 6432   8694   
index a208453..fc00249 100644
 6433         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6434   8696   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6435   8697   
        );
 6436   8698   
 6437   8699   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6438   8700   
        /// a required argument was not given.
 6439   8701   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6440   8702   
            Ok(SigningParams {
 6441   8703   
                identity: self
 6442   8704   
                    .identity
 6443   8705   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6444   8706   
                region: self
 6445   8707   
                    .region
 6446   8708   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6447   8709   
                name: self
 6448   8710   
                    .name
 6449   8711   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6450   8712   
                time: self
 6451   8713   
                    .time
 6452   8714   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6453   8715   
                settings: self
 6454   8716   
                    .settings
 6455   8717   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6456   8718   
            })
 6457   8719   
        }
 6458   8720   
    }
 6459   8721   
}
 6460   8722   
 6461   8723   
#[cfg(test)]
 6462   8724   
mod tests {
 6463   8725   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6464   8726   
    use crate::date_time::test_parsers::parse_date_time;
 6465         -
    use crate::http_request::test;
 6466   8727   
 6467   8728   
    #[test]
 6468   8729   
    fn test_signature_calculation() {
 6469   8730   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6470         -
        let creq = test::v4::test_canonical_request("iam");
        8731  +
        let creq = r#"AWS4-HMAC-SHA256
        8732  +
20150830T123600Z
        8733  +
20150830/us-east-1/iam/aws4_request
        8734  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6471   8735   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6472   8736   
 6473   8737   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6474   8738   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6475   8739   
 6476   8740   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6477   8741   
        assert_eq!(expected, &signature);
 6478   8742   
    }
 6479   8743   
 6480   8744   
    #[test]
 6481   8745   
    fn sign_payload_empty_string() {
 6482   8746   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6483   8747   
        let actual = sha256_hex_string([]);
 6484   8748   
        assert_eq!(expected, actual);
 6485   8749   
    }
 6486   8750   
}
 6487   8751   
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
 6488   8752   
index ce78c38..8c2f591 100644
 6489         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8753  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6490   8754   
@@ -1,43 +1,43 @@
 6491   8755   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6492   8756   
[package]
 6493   8757   
name = "aws-smithy-checksums"
 6494   8758   
version = "0.63.5"
 6495   8759   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6496   8760   
description = "Checksum calculation and verification callbacks"
 6497   8761   
edition = "2021"
 6498   8762   
license = "Apache-2.0"
 6499   8763   
repository = "https://github.com/smithy-lang/smithy-rs"
 6500   8764   
[package.metadata.docs.rs]
 6501   8765   
all-features = true
 6502   8766   
targets = ["x86_64-unknown-linux-gnu"]
 6503   8767   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6504   8768   
rustdoc-args = ["--cfg", "docsrs"]
 6505   8769   
 6506   8770   
[dependencies]
 6507   8771   
bytes = "1.10.0"
 6508   8772   
crc-fast = "1.3.0"
 6509   8773   
hex = "0.4.3"
 6510   8774   
http = "0.2.9"
 6511   8775   
http-body = "0.4.5"
 6512   8776   
md-5 = "0.10"
 6513   8777   
pin-project-lite = "0.2.14"
 6514   8778   
sha1 = "0.10"
 6515   8779   
sha2 = "0.10"
 6516   8780   
tracing = "0.1.40"
 6517   8781   
 6518   8782   
[dependencies.aws-smithy-http]
 6519   8783   
path = "../aws-smithy-http"
 6520         -
version = "0.62.2"
        8784  +
version = "0.62.3"
 6521   8785   
 6522   8786   
[dependencies.aws-smithy-types]
 6523   8787   
path = "../aws-smithy-types"
 6524   8788   
version = "1.3.2"
 6525   8789   
 6526   8790   
[dev-dependencies]
 6527   8791   
bytes-utils = "0.1.2"
 6528   8792   
pretty_assertions = "1.3"
 6529   8793   
tracing-test = "0.2.1"
 6530   8794   
 6531   8795   
[dev-dependencies.tokio]
 6532   8796   
version = "1.23.1"
 6533   8797   
features = ["macros", "rt"]
 6534   8798   
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
 6535   8799   
index 970c99e..d3c7a49 100644
 6536         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8800  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6537   8801   
@@ -1,34 +1,34 @@
 6538   8802   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6539   8803   
[package]
 6540   8804   
name = "aws-smithy-http"
 6541         -
version = "0.62.2"
        8805  +
version = "0.62.3"
 6542   8806   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6543   8807   
description = "Smithy HTTP logic for smithy-rs."
 6544   8808   
edition = "2021"
 6545   8809   
license = "Apache-2.0"
 6546   8810   
repository = "https://github.com/smithy-lang/smithy-rs"
 6547   8811   
[package.metadata.docs.rs]
 6548   8812   
all-features = true
 6549   8813   
targets = ["x86_64-unknown-linux-gnu"]
 6550   8814   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6551   8815   
rustdoc-args = ["--cfg", "docsrs"]
 6552   8816   
 6553   8817   
[features]
 6554   8818   
event-stream = ["aws-smithy-eventstream"]
 6555   8819   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6556   8820   
 6557   8821   
[dependencies]
 6558   8822   
bytes = "1.10.0"
 6559   8823   
bytes-utils = "0.1"
 6560   8824   
percent-encoding = "2.3.1"
 6561   8825   
pin-project-lite = "0.2.14"
 6562   8826   
pin-utils = "0.1.0"
 6563   8827   
tracing = "0.1.40"
 6564   8828   
futures-core = "0.3.31"
 6565   8829   
 6566   8830   
[dependencies.aws-smithy-eventstream]
 6567   8831   
path = "../aws-smithy-eventstream"
 6568   8832   
optional = true
 6569   8833   
version = "0.60.10"
 6570   8834   
 6571   8835   
[dependencies.aws-smithy-runtime-api]
 6572   8836   
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
 6573   8837   
index 508f7a2..361545e 100644
 6574         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8838  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6575   8839   
@@ -1,27 +1,27 @@
 6576   8840   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6577   8841   
[[bin]]
 6578   8842   
name = "read_many_from_str"
 6579   8843   
path = "fuzz_targets/read_many_from_str.rs"
 6580   8844   
test = false
 6581   8845   
doc = false
 6582   8846   
 6583   8847   
[package]
 6584   8848   
name = "aws-smithy-http-fuzz"
 6585   8849   
version = "0.0.0"
 6586   8850   
authors = ["Automatically generated"]
 6587   8851   
publish = false
 6588   8852   
edition = "2021"
 6589   8853   
 6590   8854   
[package.metadata]
 6591   8855   
cargo-fuzz = true
 6592   8856   
 6593   8857   
[dependencies]
 6594   8858   
libfuzzer-sys = "=0.4.7"
 6595   8859   
http = "0.2.3"
 6596   8860   
 6597   8861   
[dependencies.aws-smithy-http]
 6598   8862   
path = ".."
 6599         -
version = "0.62.2"
        8863  +
version = "0.62.3"
 6600   8864   
 6601   8865   
[workspace]
 6602   8866   
members = ["."]
 6603   8867   
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
 6604   8868   
index fef41d0..7694da6 100644
 6605         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6606   8870   
@@ -25,68 +25,73 @@ impl QueryWriter {
 6607   8871   
    pub fn new(uri: &Uri) -> Self {
 6608   8872   
        let new_path_and_query = uri
 6609   8873   
            .path_and_query()
 6610   8874   
            .map(|pq| pq.to_string())
 6611   8875   
            .unwrap_or_default();
 6612   8876   
        let prefix = if uri.query().is_none() {
 6613   8877   
            Some('?')
 6614   8878   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6615   8879   
            Some('&')
 6616   8880   
        } else {
 6617   8881   
            None
 6618   8882   
        };
 6619   8883   
        QueryWriter {
 6620   8884   
            base_uri: uri.clone(),
 6621   8885   
            new_path_and_query,
 6622   8886   
            prefix,
 6623   8887   
        }
 6624   8888   
    }
 6625   8889   
 6626   8890   
    /// Clears all query parameters.
 6627   8891   
    pub fn clear_params(&mut self) {
 6628   8892   
        if let Some(index) = self.new_path_and_query.find('?') {
 6629   8893   
            self.new_path_and_query.truncate(index);
 6630   8894   
            self.prefix = Some('?');
 6631   8895   
        }
 6632   8896   
    }
 6633   8897   
 6634   8898   
    /// Inserts a new query parameter. The key and value are percent encoded
 6635   8899   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6636   8900   
    pub fn insert(&mut self, k: &str, v: &str) {
        8901  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8902  +
    }
        8903  +
        8904  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8905  +
    /// as is.
        8906  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6637   8907   
        if let Some(prefix) = self.prefix {
 6638   8908   
            self.new_path_and_query.push(prefix);
 6639   8909   
        }
 6640   8910   
        self.prefix = Some('&');
 6641         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8911  +
        self.new_path_and_query.push_str(encoded_k);
 6642   8912   
        self.new_path_and_query.push('=');
 6643         -
 6644         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
        8913  +
        self.new_path_and_query.push_str(encoded_v)
 6645   8914   
    }
 6646   8915   
 6647   8916   
    /// Returns just the built query string.
 6648   8917   
    pub fn build_query(self) -> String {
 6649   8918   
        self.build_uri().query().unwrap_or_default().to_string()
 6650   8919   
    }
 6651   8920   
 6652   8921   
    /// Returns a full [`Uri`] with the query string updated.
 6653   8922   
    pub fn build_uri(self) -> Uri {
 6654   8923   
        let mut parts = self.base_uri.into_parts();
 6655   8924   
        parts.path_and_query = Some(
 6656   8925   
            self.new_path_and_query
 6657   8926   
                .parse()
 6658   8927   
                .expect("adding query should not invalidate URI"),
 6659   8928   
        );
 6660   8929   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6661   8930   
    }
 6662   8931   
}
 6663   8932   
 6664   8933   
#[cfg(test)]
 6665   8934   
mod test {
 6666   8935   
    use super::QueryWriter;
 6667   8936   
    use http_02x::Uri;
 6668   8937   
 6669   8938   
    #[test]
 6670   8939   
    fn empty_uri() {
 6671   8940   
        let uri = Uri::from_static("http://www.example.com");
 6672   8941   
        let mut query_writer = QueryWriter::new(&uri);
 6673   8942   
        query_writer.insert("key", "val%ue");
 6674   8943   
        query_writer.insert("another", "value");
 6675   8944   
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
 6676   8945   
index f108978..df7a9fe 100644
 6677         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6678   8947   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6679   8948   
 6680   8949   
[package.metadata.smithy-rs-release-tooling]
 6681   8950   
stable = true
 6682   8951   
[package.metadata.cargo-udeps.ignore]
 6683   8952   
normal = ["aws-smithy-http"]
 6684   8953   
 6685   8954   
[features]
 6686   8955   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6687   8956   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6688   8957   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6689   8958   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6690   8959   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6691   8960   
rt-tokio = ["tokio/rt"]
 6692   8961   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6693   8962   
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"]
 6694   8963   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6695   8964   
 6696   8965   
[dependencies]
 6697   8966   
bytes = "1.10.0"
 6698   8967   
fastrand = "2.3.0"
 6699   8968   
pin-project-lite = "0.2.14"
 6700   8969   
pin-utils = "0.1.0"
 6701   8970   
tracing = "0.1.40"
 6702   8971   
 6703   8972   
[dependencies.aws-smithy-async]
 6704   8973   
path = "../aws-smithy-async"
 6705   8974   
version = "1.2.5"
 6706   8975   
 6707   8976   
[dependencies.aws-smithy-http]
 6708   8977   
path = "../aws-smithy-http"
 6709         -
version = "0.62.2"
        8978  +
version = "0.62.3"
 6710   8979   
 6711   8980   
[dependencies.aws-smithy-observability]
 6712   8981   
path = "../aws-smithy-observability"
 6713   8982   
version = "0.1.3"
 6714   8983   
 6715   8984   
[dependencies.aws-smithy-runtime-api]
 6716   8985   
path = "../aws-smithy-runtime-api"
 6717   8986   
version = "1.8.5"
 6718   8987   
 6719   8988   
[dependencies.aws-smithy-types]
 6720   8989   
path = "../aws-smithy-types"
 6721   8990   
features = ["http-body-0-4-x"]
 6722   8991   
version = "1.3.2"
 6723   8992   
 6724   8993   
[dependencies.aws-smithy-http-client]
 6725   8994   
path = "../aws-smithy-http-client"
 6726   8995   
optional = true
 6727   8996   
version = "1.0.6"
 6728   8997   
 6729   8998   
[dependencies.http-02x]
 6730   8999   
package = "http"
 6731   9000   
version = "0.2.9"
 6732   9001   
 6733   9002   
[dependencies.http-1x]
 6734   9003   
package = "http"
 6735   9004   
version = "1"
 6736   9005   
 6737   9006   
[dependencies.http-body-04x]
 6738   9007   
package = "http-body"
 6739   9008   
version = "0.4.5"
 6740   9009   
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
 6741   9010   
index 4e050c6..f58eb1c 100644
 6742         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        9011  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6743   9012   
@@ -1,33 +1,33 @@
 6744   9013   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6745   9014   
[package]
 6746   9015   
name = "aws-smithy-wasm"
 6747   9016   
version = "0.1.4"
 6748   9017   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6749   9018   
description = "Smithy WebAssembly configuration for smithy-rs."
 6750   9019   
edition = "2021"
 6751   9020   
license = "Apache-2.0"
 6752   9021   
repository = "https://github.com/awslabs/smithy-rs"
 6753   9022   
[package.metadata.docs.rs]
 6754   9023   
all-features = true
 6755   9024   
targets = ["x86_64-unknown-linux-gnu"]
 6756   9025   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6757   9026   
rustdoc-args = ["--cfg", "docsrs"]
 6758   9027   
 6759   9028   
[dependencies]
 6760   9029   
bytes = "1.10.0"
 6761   9030   
http = "1.0.0"
 6762   9031   
tracing = "0.1.40"
 6763   9032   
wasi = "0.12.1"
 6764   9033   
 6765   9034   
[dependencies.aws-smithy-runtime-api]
 6766   9035   
path = "../aws-smithy-runtime-api"
 6767   9036   
features = ["http-1x"]
 6768   9037   
version = "1.8.5"
 6769   9038   
 6770   9039   
[dependencies.aws-smithy-http]
 6771   9040   
path = "../aws-smithy-http"
 6772         -
version = "0.62.2"
        9041  +
version = "0.62.3"
 6773   9042   
 6774   9043   
[dependencies.aws-smithy-types]
 6775   9044   
path = "../aws-smithy-types"
 6776   9045   
version = "1.3.2"
 6777   9046   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6778   9047   
index a880648..139e808 100644
 6779         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        9048  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6780   9049   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6781   9050   
edition = "2021"
 6782   9051   
license = "Apache-2.0"
 6783   9052   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6784   9053   
rust-version = "1.86.0"
 6785   9054   
readme = "README.md"
 6786   9055   
[package.metadata.smithy]
 6787   9056   
codegen-version = "ci"
 6788   9057   
[package.metadata.docs.rs]
 6789   9058   
all-features = true
 6790   9059   
targets = ["x86_64-unknown-linux-gnu"]
 6791   9060   
[dependencies.aws-credential-types]
 6792   9061   
path = "../aws-credential-types"
 6793   9062   
version = "1.2.4"
 6794   9063   
 6795   9064   
[dependencies.aws-runtime]
 6796   9065   
path = "../aws-runtime"
 6797   9066   
features = ["event-stream"]
 6798   9067   
version = "1.5.9"
 6799   9068   
 6800   9069   
[dependencies.aws-smithy-async]
 6801   9070   
path = "../aws-smithy-async"
 6802   9071   
version = "1.2.5"
 6803   9072   
 6804   9073   
[dependencies.aws-smithy-eventstream]
 6805   9074   
path = "../aws-smithy-eventstream"
 6806   9075   
version = "0.60.10"
 6807   9076   
 6808   9077   
[dependencies.aws-smithy-http]
 6809   9078   
path = "../aws-smithy-http"
 6810   9079   
features = ["event-stream"]
 6811         -
version = "0.62.2"
        9080  +
version = "0.62.3"
 6812   9081   
 6813   9082   
[dependencies.aws-smithy-json]
 6814   9083   
path = "../aws-smithy-json"
 6815   9084   
version = "0.61.4"
 6816   9085   
 6817   9086   
[dependencies.aws-smithy-runtime]
 6818   9087   
path = "../aws-smithy-runtime"
 6819   9088   
features = ["client"]
 6820   9089   
version = "1.8.5"
 6821   9090   
 6822   9091   
[dependencies.aws-smithy-runtime-api]
 6823   9092   
path = "../aws-smithy-runtime-api"
 6824   9093   
features = ["client", "http-02x"]
 6825   9094   
version = "1.8.5"
 6826   9095   
 6827   9096   
[dependencies.aws-smithy-types]
 6828   9097   
path = "../aws-smithy-types"
 6829   9098   
version = "1.3.2"
 6830   9099   
 6831   9100   
[dependencies.aws-types]
 6832   9101   
path = "../aws-types"
 6833   9102   
version = "1.3.8"
 6834   9103   
 6835   9104   
[dependencies.bytes]
 6836   9105   
version = "1.4.0"
 6837   9106   
 6838   9107   
[dependencies.fastrand]
 6839   9108   
version = "2.0.0"
 6840   9109   
 6841   9110   
[dependencies.http]
 6842   9111   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6843   9112   
index 415ecc9..667d12b 100644
 6844         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6845   9114   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6846   9115   
edition = "2021"
 6847   9116   
license = "Apache-2.0"
 6848   9117   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6849   9118   
rust-version = "1.86.0"
 6850   9119   
readme = "README.md"
 6851   9120   
[package.metadata.smithy]
 6852   9121   
codegen-version = "ci"
 6853   9122   
[package.metadata.docs.rs]
 6854   9123   
all-features = true
 6855   9124   
targets = ["x86_64-unknown-linux-gnu"]
 6856   9125   
[dependencies.aws-credential-types]
 6857   9126   
path = "../aws-credential-types"
 6858   9127   
version = "1.2.4"
 6859   9128   
 6860   9129   
[dependencies.aws-runtime]
 6861   9130   
path = "../aws-runtime"
 6862   9131   
features = ["event-stream"]
 6863   9132   
version = "1.5.9"
 6864   9133   
 6865   9134   
[dependencies.aws-smithy-async]
 6866   9135   
path = "../aws-smithy-async"
 6867   9136   
version = "1.2.5"
 6868   9137   
 6869   9138   
[dependencies.aws-smithy-eventstream]
 6870   9139   
path = "../aws-smithy-eventstream"
 6871   9140   
version = "0.60.10"
 6872   9141   
 6873   9142   
[dependencies.aws-smithy-http]
 6874   9143   
path = "../aws-smithy-http"
 6875   9144   
features = ["event-stream"]
 6876         -
version = "0.62.2"
        9145  +
version = "0.62.3"
 6877   9146   
 6878   9147   
[dependencies.aws-smithy-json]
 6879   9148   
path = "../aws-smithy-json"
 6880   9149   
version = "0.61.4"
 6881   9150   
 6882   9151   
[dependencies.aws-smithy-runtime]
 6883   9152   
path = "../aws-smithy-runtime"
 6884   9153   
features = ["client"]
 6885   9154   
version = "1.8.5"
 6886   9155   
 6887   9156   
[dependencies.aws-smithy-runtime-api]
 6888   9157   
path = "../aws-smithy-runtime-api"
 6889   9158   
features = ["client", "http-02x"]
 6890   9159   
version = "1.8.5"
 6891   9160   
 6892   9161   
[dependencies.aws-smithy-types]
 6893   9162   
path = "../aws-smithy-types"
 6894   9163   
version = "1.3.2"
 6895   9164   
 6896   9165   
[dependencies.aws-types]
 6897   9166   
path = "../aws-types"
 6898   9167   
version = "1.3.8"
 6899   9168   
 6900   9169   
[dependencies.bytes]
 6901   9170   
version = "1.4.0"
 6902   9171   
 6903   9172   
[dependencies.fastrand]
 6904   9173   
version = "2.0.0"
 6905   9174   
 6906   9175   
[dependencies.http]
 6907   9176   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6908   9177   
index 8871cab..ed88de6 100644
 6909         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9178  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6910   9179   
@@ -1,61 +1,61 @@
 6911   9180   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6912   9181   
[package]
 6913   9182   
name = "aws-sdk-codecatalyst"
 6914   9183   
version = "0.0.0-local"
 6915   9184   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6916   9185   
description = "AWS SDK for Amazon CodeCatalyst"
 6917   9186   
edition = "2021"
 6918   9187   
license = "Apache-2.0"
 6919   9188   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6920   9189   
rust-version = "1.86.0"
 6921   9190   
readme = "README.md"
 6922   9191   
[package.metadata.smithy]
 6923   9192   
codegen-version = "ci"
 6924   9193   
[package.metadata.docs.rs]
 6925   9194   
all-features = true
 6926   9195   
targets = ["x86_64-unknown-linux-gnu"]
 6927   9196   
[dependencies.aws-credential-types]
 6928   9197   
path = "../aws-credential-types"
 6929   9198   
version = "1.2.4"
 6930   9199   
 6931   9200   
[dependencies.aws-runtime]
 6932   9201   
path = "../aws-runtime"
 6933   9202   
version = "1.5.9"
 6934   9203   
 6935   9204   
[dependencies.aws-smithy-async]
 6936   9205   
path = "../aws-smithy-async"
 6937   9206   
version = "1.2.5"
 6938   9207   
 6939   9208   
[dependencies.aws-smithy-http]
 6940   9209   
path = "../aws-smithy-http"
 6941         -
version = "0.62.2"
        9210  +
version = "0.62.3"
 6942   9211   
 6943   9212   
[dependencies.aws-smithy-json]
 6944   9213   
path = "../aws-smithy-json"
 6945   9214   
version = "0.61.4"
 6946   9215   
 6947   9216   
[dependencies.aws-smithy-runtime]
 6948   9217   
path = "../aws-smithy-runtime"
 6949   9218   
features = ["client", "http-auth"]
 6950   9219   
version = "1.8.5"
 6951   9220   
 6952   9221   
[dependencies.aws-smithy-runtime-api]
 6953   9222   
path = "../aws-smithy-runtime-api"
 6954   9223   
features = ["client", "http-02x", "http-auth"]
 6955   9224   
version = "1.8.5"
 6956   9225   
 6957   9226   
[dependencies.aws-smithy-types]
 6958   9227   
path = "../aws-smithy-types"
 6959   9228   
version = "1.3.2"
 6960   9229   
 6961   9230   
[dependencies.aws-types]
 6962   9231   
path = "../aws-types"
 6963   9232   
version = "1.3.8"
 6964   9233   
 6965   9234   
[dependencies.bytes]
 6966   9235   
version = "1.4.0"
 6967   9236   
 6968   9237   
[dependencies.fastrand]
 6969   9238   
version = "2.0.0"
 6970   9239   
 6971   9240   
[dependencies.http]
 6972   9241   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6973   9242   
index 89573ff..05238af 100644
 6974         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 6975   9244   
@@ -1,61 +1,61 @@
 6976   9245   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6977   9246   
[package]
 6978   9247   
name = "aws-sdk-config"
 6979   9248   
version = "0.0.0-local"
 6980   9249   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6981   9250   
description = "AWS SDK for AWS Config"
 6982   9251   
edition = "2021"
 6983   9252   
license = "Apache-2.0"
 6984   9253   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6985   9254   
rust-version = "1.86.0"
 6986   9255   
readme = "README.md"
 6987   9256   
[package.metadata.smithy]
 6988   9257   
codegen-version = "ci"
 6989   9258   
[package.metadata.docs.rs]
 6990   9259   
all-features = true
 6991   9260   
targets = ["x86_64-unknown-linux-gnu"]
 6992   9261   
[dependencies.aws-credential-types]
 6993   9262   
path = "../aws-credential-types"
 6994   9263   
version = "1.2.4"
 6995   9264   
 6996   9265   
[dependencies.aws-runtime]
 6997   9266   
path = "../aws-runtime"
 6998   9267   
version = "1.5.9"
 6999   9268   
 7000   9269   
[dependencies.aws-smithy-async]
 7001   9270   
path = "../aws-smithy-async"
 7002   9271   
version = "1.2.5"
 7003   9272   
 7004   9273   
[dependencies.aws-smithy-http]
 7005   9274   
path = "../aws-smithy-http"
 7006         -
version = "0.62.2"
        9275  +
version = "0.62.3"
 7007   9276   
 7008   9277   
[dependencies.aws-smithy-json]
 7009   9278   
path = "../aws-smithy-json"
 7010   9279   
version = "0.61.4"
 7011   9280   
 7012   9281   
[dependencies.aws-smithy-runtime]
 7013   9282   
path = "../aws-smithy-runtime"
 7014   9283   
features = ["client"]
 7015   9284   
version = "1.8.5"
 7016   9285   
 7017   9286   
[dependencies.aws-smithy-runtime-api]
 7018   9287   
path = "../aws-smithy-runtime-api"
 7019   9288   
features = ["client", "http-02x"]
 7020   9289   
version = "1.8.5"
 7021   9290   
 7022   9291   
[dependencies.aws-smithy-types]
 7023   9292   
path = "../aws-smithy-types"
 7024   9293   
version = "1.3.2"
 7025   9294   
 7026   9295   
[dependencies.aws-types]
 7027   9296   
path = "../aws-types"
 7028   9297   
version = "1.3.8"
 7029   9298   
 7030   9299   
[dependencies.bytes]
 7031   9300   
version = "1.4.0"
 7032   9301   
 7033   9302   
[dependencies.fastrand]
 7034   9303   
version = "2.0.0"
 7035   9304   
 7036   9305   
[dependencies.http]
 7037   9306   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7038   9307   
index d397c58..2c1062b 100644
 7039         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7040   9309   
@@ -1,61 +1,61 @@
 7041   9310   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7042   9311   
[package]
 7043   9312   
name = "aws-sdk-dynamodb"
 7044   9313   
version = "0.0.0-local"
 7045   9314   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7046   9315   
description = "AWS SDK for Amazon DynamoDB"
 7047   9316   
edition = "2021"
 7048   9317   
license = "Apache-2.0"
 7049   9318   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7050   9319   
rust-version = "1.86.0"
 7051   9320   
readme = "README.md"
 7052   9321   
[package.metadata.smithy]
 7053   9322   
codegen-version = "ci"
 7054   9323   
[package.metadata.docs.rs]
 7055   9324   
all-features = true
 7056   9325   
targets = ["x86_64-unknown-linux-gnu"]
 7057   9326   
[dependencies.aws-credential-types]
 7058   9327   
path = "../aws-credential-types"
 7059   9328   
version = "1.2.4"
 7060   9329   
 7061   9330   
[dependencies.aws-runtime]
 7062   9331   
path = "../aws-runtime"
 7063   9332   
version = "1.5.9"
 7064   9333   
 7065   9334   
[dependencies.aws-smithy-async]
 7066   9335   
path = "../aws-smithy-async"
 7067   9336   
version = "1.2.5"
 7068   9337   
 7069   9338   
[dependencies.aws-smithy-http]
 7070   9339   
path = "../aws-smithy-http"
 7071         -
version = "0.62.2"
        9340  +
version = "0.62.3"
 7072   9341   
 7073   9342   
[dependencies.aws-smithy-json]
 7074   9343   
path = "../aws-smithy-json"
 7075   9344   
version = "0.61.4"
 7076   9345   
 7077   9346   
[dependencies.aws-smithy-runtime]
 7078   9347   
path = "../aws-smithy-runtime"
 7079   9348   
features = ["client"]
 7080   9349   
version = "1.8.5"
 7081   9350   
 7082   9351   
[dependencies.aws-smithy-runtime-api]
 7083   9352   
path = "../aws-smithy-runtime-api"
 7084   9353   
features = ["client", "http-02x"]
 7085   9354   
version = "1.8.5"
 7086   9355   
 7087   9356   
[dependencies.aws-smithy-types]
 7088   9357   
path = "../aws-smithy-types"
 7089   9358   
version = "1.3.2"
 7090   9359   
 7091   9360   
[dependencies.aws-types]
 7092   9361   
path = "../aws-types"
 7093   9362   
version = "1.3.8"
 7094   9363   
 7095   9364   
[dependencies.bytes]
 7096   9365   
version = "1.4.0"
 7097   9366   
 7098   9367   
[dependencies.fastrand]
 7099   9368   
version = "2.0.0"
 7100   9369   
 7101   9370   
[dependencies.http]
 7102   9371   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7103   9372   
index c0ba315..46168af 100644
 7104         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9373  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7105   9374   
@@ -1,61 +1,61 @@
 7106   9375   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7107   9376   
[package]
 7108   9377   
name = "aws-sdk-ec2"
 7109   9378   
version = "0.0.0-local"
 7110   9379   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7111   9380   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 7112   9381   
edition = "2021"
 7113   9382   
license = "Apache-2.0"
 7114   9383   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7115   9384   
rust-version = "1.86.0"
 7116   9385   
readme = "README.md"
 7117   9386   
[package.metadata.smithy]
 7118   9387   
codegen-version = "ci"
 7119   9388   
[package.metadata.docs.rs]
 7120   9389   
all-features = true
 7121   9390   
targets = ["x86_64-unknown-linux-gnu"]
 7122   9391   
[dependencies.aws-credential-types]
 7123   9392   
path = "../aws-credential-types"
 7124   9393   
version = "1.2.4"
 7125   9394   
 7126   9395   
[dependencies.aws-runtime]
 7127   9396   
path = "../aws-runtime"
 7128   9397   
version = "1.5.9"
 7129   9398   
 7130   9399   
[dependencies.aws-smithy-async]
 7131   9400   
path = "../aws-smithy-async"
 7132   9401   
version = "1.2.5"
 7133   9402   
 7134   9403   
[dependencies.aws-smithy-http]
 7135   9404   
path = "../aws-smithy-http"
 7136         -
version = "0.62.2"
        9405  +
version = "0.62.3"
 7137   9406   
 7138   9407   
[dependencies.aws-smithy-json]
 7139   9408   
path = "../aws-smithy-json"
 7140   9409   
version = "0.61.4"
 7141   9410   
 7142   9411   
[dependencies.aws-smithy-query]
 7143   9412   
path = "../aws-smithy-query"
 7144   9413   
version = "0.60.7"
 7145   9414   
 7146   9415   
[dependencies.aws-smithy-runtime]
 7147   9416   
path = "../aws-smithy-runtime"
 7148   9417   
features = ["client"]
 7149   9418   
version = "1.8.5"
 7150   9419   
 7151   9420   
[dependencies.aws-smithy-runtime-api]
 7152   9421   
path = "../aws-smithy-runtime-api"
 7153   9422   
features = ["client", "http-02x"]
 7154   9423   
version = "1.8.5"
 7155   9424   
 7156   9425   
[dependencies.aws-smithy-types]
 7157   9426   
path = "../aws-smithy-types"
 7158   9427   
version = "1.3.2"
 7159   9428   
 7160   9429   
[dependencies.aws-smithy-xml]
 7161   9430   
path = "../aws-smithy-xml"
 7162   9431   
version = "0.60.10"
 7163   9432   
 7164   9433   
[dependencies.aws-types]
 7165   9434   
path = "../aws-types"
 7166   9435   
version = "1.3.8"
 7167   9436   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7168   9437   
index 4474d17..095d40e 100644
 7169         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9438  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7170   9439   
@@ -1,61 +1,61 @@
 7171   9440   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7172   9441   
[package]
 7173   9442   
name = "aws-sdk-ecs"
 7174   9443   
version = "0.0.0-local"
 7175   9444   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7176   9445   
description = "AWS SDK for Amazon EC2 Container Service"
 7177   9446   
edition = "2021"
 7178   9447   
license = "Apache-2.0"
 7179   9448   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7180   9449   
rust-version = "1.86.0"
 7181   9450   
readme = "README.md"
 7182   9451   
[package.metadata.smithy]
 7183   9452   
codegen-version = "ci"
 7184   9453   
[package.metadata.docs.rs]
 7185   9454   
all-features = true
 7186   9455   
targets = ["x86_64-unknown-linux-gnu"]
 7187   9456   
[dependencies.aws-credential-types]
 7188   9457   
path = "../aws-credential-types"
 7189   9458   
version = "1.2.4"
 7190   9459   
 7191   9460   
[dependencies.aws-runtime]
 7192   9461   
path = "../aws-runtime"
 7193   9462   
version = "1.5.9"
 7194   9463   
 7195   9464   
[dependencies.aws-smithy-async]
 7196   9465   
path = "../aws-smithy-async"
 7197   9466   
version = "1.2.5"
 7198   9467   
 7199   9468   
[dependencies.aws-smithy-http]
 7200   9469   
path = "../aws-smithy-http"
 7201         -
version = "0.62.2"
        9470  +
version = "0.62.3"
 7202   9471   
 7203   9472   
[dependencies.aws-smithy-json]
 7204   9473   
path = "../aws-smithy-json"
 7205   9474   
version = "0.61.4"
 7206   9475   
 7207   9476   
[dependencies.aws-smithy-runtime]
 7208   9477   
path = "../aws-smithy-runtime"
 7209   9478   
features = ["client"]
 7210   9479   
version = "1.8.5"
 7211   9480   
 7212   9481   
[dependencies.aws-smithy-runtime-api]
 7213   9482   
path = "../aws-smithy-runtime-api"
 7214   9483   
features = ["client", "http-02x"]
 7215   9484   
version = "1.8.5"
 7216   9485   
 7217   9486   
[dependencies.aws-smithy-types]
 7218   9487   
path = "../aws-smithy-types"
 7219   9488   
version = "1.3.2"
 7220   9489   
 7221   9490   
[dependencies.aws-types]
 7222   9491   
path = "../aws-types"
 7223   9492   
version = "1.3.8"
 7224   9493   
 7225   9494   
[dependencies.bytes]
 7226   9495   
version = "1.4.0"
 7227   9496   
 7228   9497   
[dependencies.fastrand]
 7229   9498   
version = "2.0.0"
 7230   9499   
 7231   9500   
[dependencies.http]
 7232   9501   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7233   9502   
index 15b1d77..16d7d89 100644
 7234         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9503  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7235   9504   
@@ -1,65 +1,65 @@
 7236   9505   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7237   9506   
[package]
 7238   9507   
name = "aws-sdk-glacier"
 7239   9508   
version = "0.0.0-local"
 7240   9509   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7241   9510   
description = "AWS SDK for Amazon Glacier"
 7242   9511   
edition = "2021"
 7243   9512   
license = "Apache-2.0"
 7244   9513   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7245   9514   
rust-version = "1.86.0"
 7246   9515   
readme = "README.md"
 7247   9516   
[package.metadata.smithy]
 7248   9517   
codegen-version = "ci"
 7249   9518   
[package.metadata.docs.rs]
 7250   9519   
all-features = true
 7251   9520   
targets = ["x86_64-unknown-linux-gnu"]
 7252   9521   
[dependencies.aws-credential-types]
 7253   9522   
path = "../aws-credential-types"
 7254   9523   
version = "1.2.4"
 7255   9524   
 7256   9525   
[dependencies.aws-runtime]
 7257   9526   
path = "../aws-runtime"
 7258   9527   
version = "1.5.9"
 7259   9528   
 7260   9529   
[dependencies.aws-sigv4]
 7261   9530   
path = "../aws-sigv4"
 7262         -
version = "1.3.3"
        9531  +
version = "1.3.4"
 7263   9532   
 7264   9533   
[dependencies.aws-smithy-async]
 7265   9534   
path = "../aws-smithy-async"
 7266   9535   
version = "1.2.5"
 7267   9536   
 7268   9537   
[dependencies.aws-smithy-http]
 7269   9538   
path = "../aws-smithy-http"
 7270         -
version = "0.62.2"
        9539  +
version = "0.62.3"
 7271   9540   
 7272   9541   
[dependencies.aws-smithy-json]
 7273   9542   
path = "../aws-smithy-json"
 7274   9543   
version = "0.61.4"
 7275   9544   
 7276   9545   
[dependencies.aws-smithy-runtime]
 7277   9546   
path = "../aws-smithy-runtime"
 7278   9547   
features = ["client"]
 7279   9548   
version = "1.8.5"
 7280   9549   
 7281   9550   
[dependencies.aws-smithy-runtime-api]
 7282   9551   
path = "../aws-smithy-runtime-api"
 7283   9552   
features = ["client", "http-02x"]
 7284   9553   
version = "1.8.5"
 7285   9554   
 7286   9555   
[dependencies.aws-smithy-types]
 7287   9556   
path = "../aws-smithy-types"
 7288   9557   
version = "1.3.2"
 7289   9558   
 7290   9559   
[dependencies.aws-types]
 7291   9560   
path = "../aws-types"
 7292   9561   
version = "1.3.8"
 7293   9562   
 7294   9563   
[dependencies.bytes]
 7295   9564   
version = "1.4.0"
 7296   9565   
 7297   9566   
[dependencies.fastrand]
 7298   9567   
version = "2.0.0"
 7299   9568   
 7300   9569   
[dependencies.hex]
 7301   9570   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7302   9571   
index d718a3a..65e6f24 100644
 7303         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7304   9573   
@@ -1,61 +1,61 @@
 7305   9574   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7306   9575   
[package]
 7307   9576   
name = "aws-sdk-iam"
 7308   9577   
version = "0.0.0-local"
 7309   9578   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7310   9579   
description = "AWS SDK for AWS Identity and Access Management"
 7311   9580   
edition = "2021"
 7312   9581   
license = "Apache-2.0"
 7313   9582   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7314   9583   
rust-version = "1.86.0"
 7315   9584   
readme = "README.md"
 7316   9585   
[package.metadata.smithy]
 7317   9586   
codegen-version = "ci"
 7318   9587   
[package.metadata.docs.rs]
 7319   9588   
all-features = true
 7320   9589   
targets = ["x86_64-unknown-linux-gnu"]
 7321   9590   
[dependencies.aws-credential-types]
 7322   9591   
path = "../aws-credential-types"
 7323   9592   
version = "1.2.4"
 7324   9593   
 7325   9594   
[dependencies.aws-runtime]
 7326   9595   
path = "../aws-runtime"
 7327   9596   
version = "1.5.9"
 7328   9597   
 7329   9598   
[dependencies.aws-smithy-async]
 7330   9599   
path = "../aws-smithy-async"
 7331   9600   
version = "1.2.5"
 7332   9601   
 7333   9602   
[dependencies.aws-smithy-http]
 7334   9603   
path = "../aws-smithy-http"
 7335         -
version = "0.62.2"
        9604  +
version = "0.62.3"
 7336   9605   
 7337   9606   
[dependencies.aws-smithy-json]
 7338   9607   
path = "../aws-smithy-json"
 7339   9608   
version = "0.61.4"
 7340   9609   
 7341   9610   
[dependencies.aws-smithy-query]
 7342   9611   
path = "../aws-smithy-query"
 7343   9612   
version = "0.60.7"
 7344   9613   
 7345   9614   
[dependencies.aws-smithy-runtime]
 7346   9615   
path = "../aws-smithy-runtime"
 7347   9616   
features = ["client"]
 7348   9617   
version = "1.8.5"
 7349   9618   
 7350   9619   
[dependencies.aws-smithy-runtime-api]
 7351   9620   
path = "../aws-smithy-runtime-api"
 7352   9621   
features = ["client", "http-02x"]
 7353   9622   
version = "1.8.5"
 7354   9623   
 7355   9624   
[dependencies.aws-smithy-types]
 7356   9625   
path = "../aws-smithy-types"
 7357   9626   
version = "1.3.2"
 7358   9627   
 7359   9628   
[dependencies.aws-smithy-xml]
 7360   9629   
path = "../aws-smithy-xml"
 7361   9630   
version = "0.60.10"
 7362   9631   
 7363   9632   
[dependencies.aws-types]
 7364   9633   
path = "../aws-types"
 7365   9634   
version = "1.3.8"
 7366   9635   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7367   9636   
index 0ed4302..3d828a5 100644
 7368         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7369   9638   
@@ -1,61 +1,61 @@
 7370   9639   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7371   9640   
[package]
 7372   9641   
name = "aws-sdk-kms"
 7373   9642   
version = "0.0.0-local"
 7374   9643   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7375   9644   
description = "AWS SDK for AWS Key Management Service"
 7376   9645   
edition = "2021"
 7377   9646   
license = "Apache-2.0"
 7378   9647   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7379   9648   
rust-version = "1.86.0"
 7380   9649   
readme = "README.md"
 7381   9650   
[package.metadata.smithy]
 7382   9651   
codegen-version = "ci"
 7383   9652   
[package.metadata.docs.rs]
 7384   9653   
all-features = true
 7385   9654   
targets = ["x86_64-unknown-linux-gnu"]
 7386   9655   
[dependencies.aws-credential-types]
 7387   9656   
path = "../aws-credential-types"
 7388   9657   
version = "1.2.4"
 7389   9658   
 7390   9659   
[dependencies.aws-runtime]
 7391   9660   
path = "../aws-runtime"
 7392   9661   
version = "1.5.9"
 7393   9662   
 7394   9663   
[dependencies.aws-smithy-async]
 7395   9664   
path = "../aws-smithy-async"
 7396   9665   
version = "1.2.5"
 7397   9666   
 7398   9667   
[dependencies.aws-smithy-http]
 7399   9668   
path = "../aws-smithy-http"
 7400         -
version = "0.62.2"
        9669  +
version = "0.62.3"
 7401   9670   
 7402   9671   
[dependencies.aws-smithy-json]
 7403   9672   
path = "../aws-smithy-json"
 7404   9673   
version = "0.61.4"
 7405   9674   
 7406   9675   
[dependencies.aws-smithy-runtime]
 7407   9676   
path = "../aws-smithy-runtime"
 7408   9677   
features = ["client"]
 7409   9678   
version = "1.8.5"
 7410   9679   
 7411   9680   
[dependencies.aws-smithy-runtime-api]
 7412   9681   
path = "../aws-smithy-runtime-api"
 7413   9682   
features = ["client", "http-02x"]
 7414   9683   
version = "1.8.5"
 7415   9684   
 7416   9685   
[dependencies.aws-smithy-types]
 7417   9686   
path = "../aws-smithy-types"
 7418   9687   
version = "1.3.2"
 7419   9688   
 7420   9689   
[dependencies.aws-types]
 7421   9690   
path = "../aws-types"
 7422   9691   
version = "1.3.8"
 7423   9692   
 7424   9693   
[dependencies.bytes]
 7425   9694   
version = "1.4.0"
 7426   9695   
 7427   9696   
[dependencies.fastrand]
 7428   9697   
version = "2.0.0"
 7429   9698   
 7430   9699   
[dependencies.http]
 7431   9700   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7432   9701   
index 6518dfc..6b94752 100644
 7433         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9702  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7434   9703   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7435   9704   
edition = "2021"
 7436   9705   
license = "Apache-2.0"
 7437   9706   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7438   9707   
rust-version = "1.86.0"
 7439   9708   
readme = "README.md"
 7440   9709   
[package.metadata.smithy]
 7441   9710   
codegen-version = "ci"
 7442   9711   
[package.metadata.docs.rs]
 7443   9712   
all-features = true
 7444   9713   
targets = ["x86_64-unknown-linux-gnu"]
 7445   9714   
[dependencies.aws-credential-types]
 7446   9715   
path = "../aws-credential-types"
 7447   9716   
version = "1.2.4"
 7448   9717   
 7449   9718   
[dependencies.aws-runtime]
 7450   9719   
path = "../aws-runtime"
 7451   9720   
features = ["event-stream"]
 7452   9721   
version = "1.5.9"
 7453   9722   
 7454   9723   
[dependencies.aws-smithy-async]
 7455   9724   
path = "../aws-smithy-async"
 7456   9725   
version = "1.2.5"
 7457   9726   
 7458   9727   
[dependencies.aws-smithy-eventstream]
 7459   9728   
path = "../aws-smithy-eventstream"
 7460   9729   
version = "0.60.10"
 7461   9730   
 7462   9731   
[dependencies.aws-smithy-http]
 7463   9732   
path = "../aws-smithy-http"
 7464   9733   
features = ["event-stream"]
 7465         -
version = "0.62.2"
        9734  +
version = "0.62.3"
 7466   9735   
 7467   9736   
[dependencies.aws-smithy-json]
 7468   9737   
path = "../aws-smithy-json"
 7469   9738   
version = "0.61.4"
 7470   9739   
 7471   9740   
[dependencies.aws-smithy-runtime]
 7472   9741   
path = "../aws-smithy-runtime"
 7473   9742   
features = ["client"]
 7474   9743   
version = "1.8.5"
 7475   9744   
 7476   9745   
[dependencies.aws-smithy-runtime-api]
 7477   9746   
path = "../aws-smithy-runtime-api"
 7478   9747   
features = ["client", "http-02x"]
 7479   9748   
version = "1.8.5"
 7480   9749   
 7481   9750   
[dependencies.aws-smithy-types]
 7482   9751   
path = "../aws-smithy-types"
 7483   9752   
version = "1.3.2"
 7484   9753   
 7485   9754   
[dependencies.aws-types]
 7486   9755   
path = "../aws-types"
 7487   9756   
version = "1.3.8"
 7488   9757   
 7489   9758   
[dependencies.bytes]
 7490   9759   
version = "1.4.0"
 7491   9760   
 7492   9761   
[dependencies.fastrand]
 7493   9762   
version = "2.0.0"
 7494   9763   
 7495   9764   
[dependencies.http]
 7496   9765   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7497   9766   
index dabb0e0..34cbc15 100644
 7498         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7499   9768   
@@ -1,65 +1,65 @@
 7500   9769   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7501   9770   
[package]
 7502   9771   
name = "aws-sdk-polly"
 7503   9772   
version = "0.0.0-local"
 7504   9773   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7505   9774   
description = "AWS SDK for Amazon Polly"
 7506   9775   
edition = "2021"
 7507   9776   
license = "Apache-2.0"
 7508   9777   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7509   9778   
rust-version = "1.86.0"
 7510   9779   
readme = "README.md"
 7511   9780   
[package.metadata.smithy]
 7512   9781   
codegen-version = "ci"
 7513   9782   
[package.metadata.docs.rs]
 7514   9783   
all-features = true
 7515   9784   
targets = ["x86_64-unknown-linux-gnu"]
 7516   9785   
[dependencies.aws-credential-types]
 7517   9786   
path = "../aws-credential-types"
 7518   9787   
version = "1.2.4"
 7519   9788   
 7520   9789   
[dependencies.aws-runtime]
 7521   9790   
path = "../aws-runtime"
 7522   9791   
version = "1.5.9"
 7523   9792   
 7524   9793   
[dependencies.aws-sigv4]
 7525   9794   
path = "../aws-sigv4"
 7526         -
version = "1.3.3"
        9795  +
version = "1.3.4"
 7527   9796   
 7528   9797   
[dependencies.aws-smithy-async]
 7529   9798   
path = "../aws-smithy-async"
 7530   9799   
version = "1.2.5"
 7531   9800   
 7532   9801   
[dependencies.aws-smithy-http]
 7533   9802   
path = "../aws-smithy-http"
 7534         -
version = "0.62.2"
        9803  +
version = "0.62.3"
 7535   9804   
 7536   9805   
[dependencies.aws-smithy-json]
 7537   9806   
path = "../aws-smithy-json"
 7538   9807   
version = "0.61.4"
 7539   9808   
 7540   9809   
[dependencies.aws-smithy-runtime]
 7541   9810   
path = "../aws-smithy-runtime"
 7542   9811   
features = ["client"]
 7543   9812   
version = "1.8.5"
 7544   9813   
 7545   9814   
[dependencies.aws-smithy-runtime-api]
 7546   9815   
path = "../aws-smithy-runtime-api"
 7547   9816   
features = ["client", "http-02x"]
 7548   9817   
version = "1.8.5"
 7549   9818   
 7550   9819   
[dependencies.aws-smithy-types]
 7551   9820   
path = "../aws-smithy-types"
 7552   9821   
version = "1.3.2"
 7553   9822   
 7554   9823   
[dependencies.aws-types]
 7555   9824   
path = "../aws-types"
 7556   9825   
version = "1.3.8"
 7557   9826   
 7558   9827   
[dependencies.bytes]
 7559   9828   
version = "1.4.0"
 7560   9829   
 7561   9830   
[dependencies.fastrand]
 7562   9831   
version = "2.0.0"
 7563   9832   
 7564   9833   
[dependencies.http]
 7565   9834   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7566   9835   
index a884716..f3d8713 100644
 7567         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9836  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7568   9837   
@@ -1,61 +1,61 @@
 7569   9838   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7570   9839   
[package]
 7571   9840   
name = "aws-sdk-qldbsession"
 7572   9841   
version = "0.0.0-local"
 7573   9842   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7574   9843   
description = "AWS SDK for Amazon QLDB Session"
 7575   9844   
edition = "2021"
 7576   9845   
license = "Apache-2.0"
 7577   9846   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7578   9847   
rust-version = "1.86.0"
 7579   9848   
readme = "README.md"
 7580   9849   
[package.metadata.smithy]
 7581   9850   
codegen-version = "ci"
 7582   9851   
[package.metadata.docs.rs]
 7583   9852   
all-features = true
 7584   9853   
targets = ["x86_64-unknown-linux-gnu"]
 7585   9854   
[dependencies.aws-credential-types]
 7586   9855   
path = "../aws-credential-types"
 7587   9856   
version = "1.2.4"
 7588   9857   
 7589   9858   
[dependencies.aws-runtime]
 7590   9859   
path = "../aws-runtime"
 7591   9860   
version = "1.5.9"
 7592   9861   
 7593   9862   
[dependencies.aws-smithy-async]
 7594   9863   
path = "../aws-smithy-async"
 7595   9864   
version = "1.2.5"
 7596   9865   
 7597   9866   
[dependencies.aws-smithy-http]
 7598   9867   
path = "../aws-smithy-http"
 7599         -
version = "0.62.2"
        9868  +
version = "0.62.3"
 7600   9869   
 7601   9870   
[dependencies.aws-smithy-json]
 7602   9871   
path = "../aws-smithy-json"
 7603   9872   
version = "0.61.4"
 7604   9873   
 7605   9874   
[dependencies.aws-smithy-runtime]
 7606   9875   
path = "../aws-smithy-runtime"
 7607   9876   
features = ["client"]
 7608   9877   
version = "1.8.5"
 7609   9878   
 7610   9879   
[dependencies.aws-smithy-runtime-api]
 7611   9880   
path = "../aws-smithy-runtime-api"
 7612   9881   
features = ["client", "http-02x"]
 7613   9882   
version = "1.8.5"
 7614   9883   
 7615   9884   
[dependencies.aws-smithy-types]
 7616   9885   
path = "../aws-smithy-types"
 7617   9886   
version = "1.3.2"
 7618   9887   
 7619   9888   
[dependencies.aws-types]
 7620   9889   
path = "../aws-types"
 7621   9890   
version = "1.3.8"
 7622   9891   
 7623   9892   
[dependencies.bytes]
 7624   9893   
version = "1.4.0"
 7625   9894   
 7626   9895   
[dependencies.fastrand]
 7627   9896   
version = "2.0.0"
 7628   9897   
 7629   9898   
[dependencies.http]
 7630   9899   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7631   9900   
index 32a7dc9..a2c752d 100644
 7632         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9901  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7633   9902   
@@ -1,61 +1,61 @@
 7634   9903   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7635   9904   
[package]
 7636   9905   
name = "aws-sdk-route53"
 7637   9906   
version = "0.0.0-local"
 7638   9907   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7639   9908   
description = "AWS SDK for Amazon Route 53"
 7640   9909   
edition = "2021"
 7641   9910   
license = "Apache-2.0"
 7642   9911   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7643   9912   
rust-version = "1.86.0"
 7644   9913   
readme = "README.md"
 7645   9914   
[package.metadata.smithy]
 7646   9915   
codegen-version = "ci"
 7647   9916   
[package.metadata.docs.rs]
 7648   9917   
all-features = true
 7649   9918   
targets = ["x86_64-unknown-linux-gnu"]
 7650   9919   
[dependencies.aws-credential-types]
 7651   9920   
path = "../aws-credential-types"
 7652   9921   
version = "1.2.4"
 7653   9922   
 7654   9923   
[dependencies.aws-runtime]
 7655   9924   
path = "../aws-runtime"
 7656   9925   
version = "1.5.9"
 7657   9926   
 7658   9927   
[dependencies.aws-smithy-async]
 7659   9928   
path = "../aws-smithy-async"
 7660   9929   
version = "1.2.5"
 7661   9930   
 7662   9931   
[dependencies.aws-smithy-http]
 7663   9932   
path = "../aws-smithy-http"
 7664         -
version = "0.62.2"
        9933  +
version = "0.62.3"
 7665   9934   
 7666   9935   
[dependencies.aws-smithy-json]
 7667   9936   
path = "../aws-smithy-json"
 7668   9937   
version = "0.61.4"
 7669   9938   
 7670   9939   
[dependencies.aws-smithy-runtime]
 7671   9940   
path = "../aws-smithy-runtime"
 7672   9941   
features = ["client"]
 7673   9942   
version = "1.8.5"
 7674   9943   
 7675   9944   
[dependencies.aws-smithy-runtime-api]
 7676   9945   
path = "../aws-smithy-runtime-api"
 7677   9946   
features = ["client", "http-02x"]
 7678   9947   
version = "1.8.5"
 7679   9948   
 7680   9949   
[dependencies.aws-smithy-types]
 7681   9950   
path = "../aws-smithy-types"
 7682   9951   
version = "1.3.2"
 7683   9952   
 7684   9953   
[dependencies.aws-smithy-xml]
 7685   9954   
path = "../aws-smithy-xml"
 7686   9955   
version = "0.60.10"
 7687   9956   
 7688   9957   
[dependencies.aws-types]
 7689   9958   
path = "../aws-types"
 7690   9959   
version = "1.3.8"
 7691   9960   
 7692   9961   
[dependencies.fastrand]
 7693   9962   
version = "2.0.0"
 7694   9963   
 7695   9964   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7696   9965   
index f65e261..2f6bec0 100644
 7697         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9966  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7698   9967   
@@ -1,75 +1,75 @@
 7699   9968   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7700   9969   
[package]
 7701   9970   
name = "aws-sdk-s3"
 7702   9971   
version = "0.0.0-local"
 7703   9972   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7704   9973   
description = "AWS SDK for Amazon Simple Storage Service"
 7705   9974   
edition = "2021"
 7706   9975   
license = "Apache-2.0"
 7707   9976   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7708   9977   
rust-version = "1.86.0"
 7709   9978   
readme = "README.md"
 7710   9979   
[package.metadata.smithy]
 7711   9980   
codegen-version = "ci"
 7712   9981   
[package.metadata.docs.rs]
 7713   9982   
all-features = true
 7714   9983   
targets = ["x86_64-unknown-linux-gnu"]
 7715   9984   
[dependencies.aws-credential-types]
 7716   9985   
path = "../aws-credential-types"
 7717   9986   
version = "1.2.4"
 7718   9987   
 7719   9988   
[dependencies.aws-runtime]
 7720   9989   
path = "../aws-runtime"
 7721   9990   
features = ["event-stream", "http-02x"]
 7722   9991   
version = "1.5.9"
 7723   9992   
 7724   9993   
[dependencies.aws-sigv4]
 7725   9994   
path = "../aws-sigv4"
 7726         -
version = "1.3.3"
        9995  +
version = "1.3.4"
 7727   9996   
 7728   9997   
[dependencies.aws-smithy-async]
 7729   9998   
path = "../aws-smithy-async"
 7730   9999   
version = "1.2.5"
 7731  10000   
 7732  10001   
[dependencies.aws-smithy-checksums]
 7733  10002   
path = "../aws-smithy-checksums"
 7734  10003   
version = "0.63.5"
 7735  10004   
 7736  10005   
[dependencies.aws-smithy-eventstream]
 7737  10006   
path = "../aws-smithy-eventstream"
 7738  10007   
version = "0.60.10"
 7739  10008   
 7740  10009   
[dependencies.aws-smithy-http]
 7741  10010   
path = "../aws-smithy-http"
 7742  10011   
features = ["event-stream"]
 7743         -
version = "0.62.2"
       10012  +
version = "0.62.3"
 7744  10013   
 7745  10014   
[dependencies.aws-smithy-json]
 7746  10015   
path = "../aws-smithy-json"
 7747  10016   
version = "0.61.4"
 7748  10017   
 7749  10018   
[dependencies.aws-smithy-runtime]
 7750  10019   
path = "../aws-smithy-runtime"
 7751  10020   
features = ["client"]
 7752  10021   
version = "1.8.5"
 7753  10022   
 7754  10023   
[dependencies.aws-smithy-runtime-api]
 7755  10024   
path = "../aws-smithy-runtime-api"
 7756  10025   
features = ["client", "http-02x"]
 7757  10026   
version = "1.8.5"
 7758  10027   
 7759  10028   
[dependencies.aws-smithy-types]
 7760  10029   
path = "../aws-smithy-types"
 7761  10030   
version = "1.3.2"
 7762  10031   
 7763  10032   
[dependencies.aws-smithy-xml]
 7764  10033   
path = "../aws-smithy-xml"
 7765  10034   
version = "0.60.10"
 7766  10035   
 7767  10036   
[dependencies.aws-types]
 7768  10037   
path = "../aws-types"
 7769  10038   
version = "1.3.8"
 7770  10039   
 7771  10040   
[dependencies.bytes]
 7772  10041   
version = "1.4.0"
 7773  10042   
 7774  10043   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7775  10044   
index b4d1cdd..861c0cc 100644
 7776         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       10045  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7777  10046   
@@ -1,61 +1,61 @@
 7778  10047   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7779  10048   
[package]
 7780  10049   
name = "aws-sdk-s3control"
 7781  10050   
version = "0.0.0-local"
 7782  10051   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7783  10052   
description = "AWS SDK for AWS S3 Control"
 7784  10053   
edition = "2021"
 7785  10054   
license = "Apache-2.0"
 7786  10055   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7787  10056   
rust-version = "1.86.0"
 7788  10057   
readme = "README.md"
 7789  10058   
[package.metadata.smithy]
 7790  10059   
codegen-version = "ci"
 7791  10060   
[package.metadata.docs.rs]
 7792  10061   
all-features = true
 7793  10062   
targets = ["x86_64-unknown-linux-gnu"]
 7794  10063   
[dependencies.aws-credential-types]
 7795  10064   
path = "../aws-credential-types"
 7796  10065   
version = "1.2.4"
 7797  10066   
 7798  10067   
[dependencies.aws-runtime]
 7799  10068   
path = "../aws-runtime"
 7800  10069   
version = "1.5.9"
 7801  10070   
 7802  10071   
[dependencies.aws-smithy-async]
 7803  10072   
path = "../aws-smithy-async"
 7804  10073   
version = "1.2.5"
 7805  10074   
 7806  10075   
[dependencies.aws-smithy-http]
 7807  10076   
path = "../aws-smithy-http"
 7808         -
version = "0.62.2"
       10077  +
version = "0.62.3"
 7809  10078   
 7810  10079   
[dependencies.aws-smithy-json]
 7811  10080   
path = "../aws-smithy-json"
 7812  10081   
version = "0.61.4"
 7813  10082   
 7814  10083   
[dependencies.aws-smithy-runtime]
 7815  10084   
path = "../aws-smithy-runtime"
 7816  10085   
features = ["client"]
 7817  10086   
version = "1.8.5"
 7818  10087   
 7819  10088   
[dependencies.aws-smithy-runtime-api]
 7820  10089   
path = "../aws-smithy-runtime-api"
 7821  10090   
features = ["client", "http-02x"]
 7822  10091   
version = "1.8.5"
 7823  10092   
 7824  10093   
[dependencies.aws-smithy-types]
 7825  10094   
path = "../aws-smithy-types"
 7826  10095   
version = "1.3.2"
 7827  10096   
 7828  10097   
[dependencies.aws-smithy-xml]
 7829  10098   
path = "../aws-smithy-xml"
 7830  10099   
version = "0.60.10"
 7831  10100   
 7832  10101   
[dependencies.aws-types]
 7833  10102   
path = "../aws-types"
 7834  10103   
version = "1.3.8"
 7835  10104   
 7836  10105   
[dependencies.fastrand]
 7837  10106   
version = "2.0.0"
 7838  10107   
 7839  10108   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7840  10109   
index 2cde182..fc367f4 100644
 7841         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       10110  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7842  10111   
@@ -1,61 +1,61 @@
 7843  10112   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7844  10113   
[package]
 7845  10114   
name = "aws-sdk-sso"
 7846  10115   
version = "0.0.0-local"
 7847  10116   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7848  10117   
description = "AWS SDK for AWS Single Sign-On"
 7849  10118   
edition = "2021"
 7850  10119   
license = "Apache-2.0"
 7851  10120   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7852  10121   
rust-version = "1.86.0"
 7853  10122   
readme = "README.md"
 7854  10123   
[package.metadata.smithy]
 7855  10124   
codegen-version = "ci"
 7856  10125   
[package.metadata.docs.rs]
 7857  10126   
all-features = true
 7858  10127   
targets = ["x86_64-unknown-linux-gnu"]
 7859  10128   
[dependencies.aws-credential-types]
 7860  10129   
path = "../aws-credential-types"
 7861  10130   
version = "1.2.4"
 7862  10131   
 7863  10132   
[dependencies.aws-runtime]
 7864  10133   
path = "../aws-runtime"
 7865  10134   
version = "1.5.9"
 7866  10135   
 7867  10136   
[dependencies.aws-smithy-async]
 7868  10137   
path = "../aws-smithy-async"
 7869  10138   
version = "1.2.5"
 7870  10139   
 7871  10140   
[dependencies.aws-smithy-http]
 7872  10141   
path = "../aws-smithy-http"
 7873         -
version = "0.62.2"
       10142  +
version = "0.62.3"
 7874  10143   
 7875  10144   
[dependencies.aws-smithy-json]
 7876  10145   
path = "../aws-smithy-json"
 7877  10146   
version = "0.61.4"
 7878  10147   
 7879  10148   
[dependencies.aws-smithy-runtime]
 7880  10149   
path = "../aws-smithy-runtime"
 7881  10150   
features = ["client"]
 7882  10151   
version = "1.8.5"
 7883  10152   
 7884  10153   
[dependencies.aws-smithy-runtime-api]
 7885  10154   
path = "../aws-smithy-runtime-api"
 7886  10155   
features = ["client", "http-02x"]
 7887  10156   
version = "1.8.5"
 7888  10157   
 7889  10158   
[dependencies.aws-smithy-types]
 7890  10159   
path = "../aws-smithy-types"
 7891  10160   
version = "1.3.2"
 7892  10161   
 7893  10162   
[dependencies.aws-types]
 7894  10163   
path = "../aws-types"
 7895  10164   
version = "1.3.8"
 7896  10165   
 7897  10166   
[dependencies.bytes]
 7898  10167   
version = "1.4.0"
 7899  10168   
 7900  10169   
[dependencies.fastrand]
 7901  10170   
version = "2.0.0"
 7902  10171   
 7903  10172   
[dependencies.http]
 7904  10173   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7905  10174   
index 7a34c16..588d0bd 100644
 7906         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7907  10176   
@@ -1,61 +1,61 @@
 7908  10177   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7909  10178   
[package]
 7910  10179   
name = "aws-sdk-ssooidc"
 7911  10180   
version = "0.0.0-local"
 7912  10181   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7913  10182   
description = "AWS SDK for AWS SSO OIDC"
 7914  10183   
edition = "2021"
 7915  10184   
license = "Apache-2.0"
 7916  10185   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7917  10186   
rust-version = "1.86.0"
 7918  10187   
readme = "README.md"
 7919  10188   
[package.metadata.smithy]
 7920  10189   
codegen-version = "ci"
 7921  10190   
[package.metadata.docs.rs]
 7922  10191   
all-features = true
 7923  10192   
targets = ["x86_64-unknown-linux-gnu"]
 7924  10193   
[dependencies.aws-credential-types]
 7925  10194   
path = "../aws-credential-types"
 7926  10195   
version = "1.2.4"
 7927  10196   
 7928  10197   
[dependencies.aws-runtime]
 7929  10198   
path = "../aws-runtime"
 7930  10199   
version = "1.5.9"
 7931  10200   
 7932  10201   
[dependencies.aws-smithy-async]
 7933  10202   
path = "../aws-smithy-async"
 7934  10203   
version = "1.2.5"
 7935  10204   
 7936  10205   
[dependencies.aws-smithy-http]
 7937  10206   
path = "../aws-smithy-http"
 7938         -
version = "0.62.2"
       10207  +
version = "0.62.3"
 7939  10208   
 7940  10209   
[dependencies.aws-smithy-json]
 7941  10210   
path = "../aws-smithy-json"
 7942  10211   
version = "0.61.4"
 7943  10212   
 7944  10213   
[dependencies.aws-smithy-runtime]
 7945  10214   
path = "../aws-smithy-runtime"
 7946  10215   
features = ["client"]
 7947  10216   
version = "1.8.5"
 7948  10217   
 7949  10218   
[dependencies.aws-smithy-runtime-api]
 7950  10219   
path = "../aws-smithy-runtime-api"
 7951  10220   
features = ["client", "http-02x"]
 7952  10221   
version = "1.8.5"
 7953  10222   
 7954  10223   
[dependencies.aws-smithy-types]
 7955  10224   
path = "../aws-smithy-types"
 7956  10225   
version = "1.3.2"
 7957  10226   
 7958  10227   
[dependencies.aws-types]
 7959  10228   
path = "../aws-types"
 7960  10229   
version = "1.3.8"
 7961  10230   
 7962  10231   
[dependencies.bytes]
 7963  10232   
version = "1.4.0"
 7964  10233   
 7965  10234   
[dependencies.fastrand]
 7966  10235   
version = "2.0.0"
 7967  10236   
 7968  10237   
[dependencies.http]
 7969  10238   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7970  10239   
index 895dfb3..f2ce34e 100644
 7971         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10240  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 7972  10241   
@@ -1,61 +1,61 @@
 7973  10242   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7974  10243   
[package]
 7975  10244   
name = "aws-sdk-sts"
 7976  10245   
version = "0.0.0-local"
 7977  10246   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7978  10247   
description = "AWS SDK for AWS Security Token Service"
 7979  10248   
edition = "2021"
 7980  10249   
license = "Apache-2.0"
 7981  10250   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7982  10251   
rust-version = "1.86.0"
 7983  10252   
readme = "README.md"
 7984  10253   
[package.metadata.smithy]
 7985  10254   
codegen-version = "ci"
 7986  10255   
[package.metadata.docs.rs]
 7987  10256   
all-features = true
 7988  10257   
targets = ["x86_64-unknown-linux-gnu"]
 7989  10258   
[dependencies.aws-credential-types]
 7990  10259   
path = "../aws-credential-types"
 7991  10260   
version = "1.2.4"
 7992  10261   
 7993  10262   
[dependencies.aws-runtime]
 7994  10263   
path = "../aws-runtime"
 7995  10264   
version = "1.5.9"
 7996  10265   
 7997  10266   
[dependencies.aws-smithy-async]
 7998  10267   
path = "../aws-smithy-async"
 7999  10268   
version = "1.2.5"
 8000  10269   
 8001  10270   
[dependencies.aws-smithy-http]
 8002  10271   
path = "../aws-smithy-http"
 8003         -
version = "0.62.2"
       10272  +
version = "0.62.3"
 8004  10273   
 8005  10274   
[dependencies.aws-smithy-json]
 8006  10275   
path = "../aws-smithy-json"
 8007  10276   
version = "0.61.4"
 8008  10277   
 8009  10278   
[dependencies.aws-smithy-query]
 8010  10279   
path = "../aws-smithy-query"
 8011  10280   
version = "0.60.7"
 8012  10281   
 8013  10282   
[dependencies.aws-smithy-runtime]
 8014  10283   
path = "../aws-smithy-runtime"
 8015  10284   
features = ["client"]
 8016  10285   
version = "1.8.5"
 8017  10286   
 8018  10287   
[dependencies.aws-smithy-runtime-api]
 8019  10288   
path = "../aws-smithy-runtime-api"
 8020  10289   
features = ["client", "http-02x"]
 8021  10290   
version = "1.8.5"
 8022  10291   
 8023  10292   
[dependencies.aws-smithy-types]
 8024  10293   
path = "../aws-smithy-types"
 8025  10294   
version = "1.3.2"
 8026  10295   
 8027  10296   
[dependencies.aws-smithy-xml]
 8028  10297   
path = "../aws-smithy-xml"
 8029  10298   
version = "0.60.10"
 8030  10299   
 8031  10300   
[dependencies.aws-types]
 8032  10301   
path = "../aws-types"
 8033  10302   
version = "1.3.8"
 8034  10303   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8035  10304   
index d556561..91178b6 100644
 8036         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10305  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8037  10306   
@@ -1,61 +1,61 @@
 8038  10307   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8039  10308   
[package]
 8040  10309   
name = "aws-sdk-timestreamquery"
 8041  10310   
version = "0.0.0-local"
 8042  10311   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8043  10312   
description = "AWS SDK for Amazon Timestream Query"
 8044  10313   
edition = "2021"
 8045  10314   
license = "Apache-2.0"
 8046  10315   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8047  10316   
rust-version = "1.86.0"
 8048  10317   
readme = "README.md"
 8049  10318   
[package.metadata.smithy]
 8050  10319   
codegen-version = "ci"
 8051  10320   
[package.metadata.docs.rs]
 8052  10321   
all-features = true
 8053  10322   
targets = ["x86_64-unknown-linux-gnu"]
 8054  10323   
[dependencies.aws-credential-types]
 8055  10324   
path = "../aws-credential-types"
 8056  10325   
version = "1.2.4"
 8057  10326   
 8058  10327   
[dependencies.aws-runtime]
 8059  10328   
path = "../aws-runtime"
 8060  10329   
version = "1.5.9"
 8061  10330   
 8062  10331   
[dependencies.aws-smithy-async]
 8063  10332   
path = "../aws-smithy-async"
 8064  10333   
version = "1.2.5"
 8065  10334   
 8066  10335   
[dependencies.aws-smithy-http]
 8067  10336   
path = "../aws-smithy-http"
 8068         -
version = "0.62.2"
       10337  +
version = "0.62.3"
 8069  10338   
 8070  10339   
[dependencies.aws-smithy-json]
 8071  10340   
path = "../aws-smithy-json"
 8072  10341   
version = "0.61.4"
 8073  10342   
 8074  10343   
[dependencies.aws-smithy-runtime]
 8075  10344   
path = "../aws-smithy-runtime"
 8076  10345   
features = ["client"]
 8077  10346   
version = "1.8.5"
 8078  10347   
 8079  10348   
[dependencies.aws-smithy-runtime-api]
 8080  10349   
path = "../aws-smithy-runtime-api"
 8081  10350   
features = ["client", "http-02x"]
 8082  10351   
version = "1.8.5"
 8083  10352   
 8084  10353   
[dependencies.aws-smithy-types]
 8085  10354   
path = "../aws-smithy-types"
 8086  10355   
version = "1.3.2"
 8087  10356   
 8088  10357   
[dependencies.aws-types]
 8089  10358   
path = "../aws-types"
 8090  10359   
version = "1.3.8"
 8091  10360   
 8092  10361   
[dependencies.bytes]
 8093  10362   
version = "1.4.0"
 8094  10363   
 8095  10364   
[dependencies.fastrand]
 8096  10365   
version = "2.0.0"
 8097  10366   
 8098  10367   
[dependencies.http]
 8099  10368   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8100  10369   
index 0c56e4c..95731e3 100644
 8101         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10370  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8102  10371   
@@ -1,61 +1,61 @@
 8103  10372   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8104  10373   
[package]
 8105  10374   
name = "aws-sdk-timestreamwrite"
 8106  10375   
version = "0.0.0-local"
 8107  10376   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8108  10377   
description = "AWS SDK for Amazon Timestream Write"
 8109  10378   
edition = "2021"
 8110  10379   
license = "Apache-2.0"
 8111  10380   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8112  10381   
rust-version = "1.86.0"
 8113  10382   
readme = "README.md"
 8114  10383   
[package.metadata.smithy]
 8115  10384   
codegen-version = "ci"
 8116  10385   
[package.metadata.docs.rs]
 8117  10386   
all-features = true
 8118  10387   
targets = ["x86_64-unknown-linux-gnu"]
 8119  10388   
[dependencies.aws-credential-types]
 8120  10389   
path = "../aws-credential-types"
 8121  10390   
version = "1.2.4"
 8122  10391   
 8123  10392   
[dependencies.aws-runtime]
 8124  10393   
path = "../aws-runtime"
 8125  10394   
version = "1.5.9"
 8126  10395   
 8127  10396   
[dependencies.aws-smithy-async]
 8128  10397   
path = "../aws-smithy-async"
 8129  10398   
version = "1.2.5"
 8130  10399   
 8131  10400   
[dependencies.aws-smithy-http]
 8132  10401   
path = "../aws-smithy-http"
 8133         -
version = "0.62.2"
       10402  +
version = "0.62.3"
 8134  10403   
 8135  10404   
[dependencies.aws-smithy-json]
 8136  10405   
path = "../aws-smithy-json"
 8137  10406   
version = "0.61.4"
 8138  10407   
 8139  10408   
[dependencies.aws-smithy-runtime]
 8140  10409   
path = "../aws-smithy-runtime"
 8141  10410   
features = ["client"]
 8142  10411   
version = "1.8.5"
 8143  10412   
 8144  10413   
[dependencies.aws-smithy-runtime-api]
 8145  10414   
path = "../aws-smithy-runtime-api"
 8146  10415   
features = ["client", "http-02x"]
 8147  10416   
version = "1.8.5"
 8148  10417   
 8149  10418   
[dependencies.aws-smithy-types]
 8150  10419   
path = "../aws-smithy-types"
 8151  10420   
version = "1.3.2"
 8152  10421   
 8153  10422   
[dependencies.aws-types]
 8154  10423   
path = "../aws-types"
 8155  10424   
version = "1.3.8"
 8156  10425   
 8157  10426   
[dependencies.bytes]
 8158  10427   
version = "1.4.0"
 8159  10428   
 8160  10429   
[dependencies.fastrand]
 8161  10430   
version = "2.0.0"
 8162  10431   
 8163  10432   
[dependencies.http]
 8164  10433   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8165  10434   
index 5b35037..9fb220a 100644
 8166         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10435  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8167  10436   
@@ -1,71 +1,71 @@
 8168  10437   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8169  10438   
[package]
 8170  10439   
name = "aws-sdk-transcribestreaming"
 8171  10440   
version = "0.0.0-local"
 8172  10441   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8173  10442   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 8174  10443   
edition = "2021"
 8175  10444   
license = "Apache-2.0"
 8176  10445   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8177  10446   
rust-version = "1.86.0"
 8178  10447   
readme = "README.md"
 8179  10448   
[package.metadata.smithy]
 8180  10449   
codegen-version = "ci"
 8181  10450   
[package.metadata.docs.rs]
 8182  10451   
all-features = true
 8183  10452   
targets = ["x86_64-unknown-linux-gnu"]
 8184  10453   
[dependencies.aws-credential-types]
 8185  10454   
path = "../aws-credential-types"
 8186  10455   
version = "1.2.4"
 8187  10456   
 8188  10457   
[dependencies.aws-runtime]
 8189  10458   
path = "../aws-runtime"
 8190  10459   
features = ["event-stream"]
 8191  10460   
version = "1.5.9"
 8192  10461   
 8193  10462   
[dependencies.aws-sigv4]
 8194  10463   
path = "../aws-sigv4"
 8195         -
version = "1.3.3"
       10464  +
version = "1.3.4"
 8196  10465   
 8197  10466   
[dependencies.aws-smithy-async]
 8198  10467   
path = "../aws-smithy-async"
 8199  10468   
version = "1.2.5"
 8200  10469   
 8201  10470   
[dependencies.aws-smithy-eventstream]
 8202  10471   
path = "../aws-smithy-eventstream"
 8203  10472   
version = "0.60.10"
 8204  10473   
 8205  10474   
[dependencies.aws-smithy-http]
 8206  10475   
path = "../aws-smithy-http"
 8207  10476   
features = ["event-stream"]
 8208         -
version = "0.62.2"
       10477  +
version = "0.62.3"
 8209  10478   
 8210  10479   
[dependencies.aws-smithy-json]
 8211  10480   
path = "../aws-smithy-json"
 8212  10481   
version = "0.61.4"
 8213  10482   
 8214  10483   
[dependencies.aws-smithy-runtime]
 8215  10484   
path = "../aws-smithy-runtime"
 8216  10485   
features = ["client"]
 8217  10486   
version = "1.8.5"
 8218  10487