AWS SDK

AWS SDK

rev. 3964b40d6806bc3f52bd311e2c791030c3325f2c

Files changed:

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq

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

tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/iam/iam.creq

@@ -1,0 +4,0 @@
    1         -
AWS4-HMAC-SHA256
    2         -
20150830T123600Z
    3         -
20150830/us-east-1/iam/aws4_request
    4         -
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59

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

@@ -1,0 +9291,11554 @@
    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-relative/get-relative-relative.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sreq
    3      1   
deleted file mode 100644
    4      2   
index cbdebe2..0000000
    5         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sreq
           3  +
++ /dev/null
    6      4   
@@ -1,4 +0,0 @@
    7         -
GET /example1/example2/../.. 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-relative/get-relative.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.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-relative/get-relative.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-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
   18     11   
deleted file mode 100644
   19     12   
index 4f59e7d..0000000
   20         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sreq
          13  +
++ /dev/null
   21     14   
@@ -1,4 +0,0 @@
   22         -
GET /example/.. 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-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
   27     16   
deleted file mode 100644
   28     17   
index 551c027..0000000
   29         -
-- 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
          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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
   33     21   
deleted file mode 100644
   34     22   
index 23a2b41..0000000
   35         -
-- 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
          23  +
++ /dev/null
   36     24   
@@ -1,4 +0,0 @@
   37         -
GET /./ 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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
   42     26   
deleted file mode 100644
   43     27   
index b76ca1e..0000000
   44         -
-- 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
          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=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 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-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
   48     31   
deleted file mode 100644
   49     32   
index 8096609..0000000
   50         -
-- 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
          33  +
++ /dev/null
   51     34   
@@ -1,4 +0,0 @@
   52         -
GET /./example 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=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 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-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
   57     36   
deleted file mode 100644
   58     37   
index 551c027..0000000
   59         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
   63     41   
deleted file mode 100644
   64     42   
index cde31b4..0000000
   65         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq
          43  +
++ /dev/null
   66     44   
@@ -1,4 +0,0 @@
   67         -
GET // 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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
   72     46   
deleted file mode 100644
   73     47   
index 307c105..0000000
   74         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.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=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 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-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
   78     51   
deleted file mode 100644
   79     52   
index c84a80d..0000000
   80         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq
          53  +
++ /dev/null
   81     54   
@@ -1,4 +0,0 @@
   82         -
GET //example// 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=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 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/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
   87     56   
deleted file mode 100644
   88     57   
index 832d8a5..0000000
   89         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz
          58  +
++ /dev/null
   90     59   
@@ -1 +0,0 @@
   91         -
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
   92     60   
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
   93     61   
deleted file mode 100644
   94     62   
index eefa20c..0000000
   95         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq
          63  +
++ /dev/null
   96     64   
@@ -1,4 +0,0 @@
   97         -
GET /example space/ HTTP/1.1
   98         -
Host:example.amazonaws.com
   99         -
X-Amz-Date:20150830T123600Z
  100         -
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
  101     65   
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
  102     66   
deleted file mode 100644
  103     67   
index c2fcb27..0000000
  104         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt
          68  +
++ /dev/null
  105     69   
@@ -1,3 +0,0 @@
  106         -
A note about signing requests to Amazon S3:
  107         -

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

  175         -
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).
  176         -

  177         -
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.
  178         -

  179         -
The test suite has 2 examples:
  180         -

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

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

  185         -
The test suite uses this example value for X-Amz-Security-Token:
  186         -

  187         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 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-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
  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-empty-query-value/post-vanilla-empty-query-value.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-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
  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-empty-query-value/post-vanilla-empty-query-value.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-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
  204    126   
deleted file mode 100644
  205    127   
index 44280cd..0000000
  206         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.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=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 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-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
  210    131   
deleted file mode 100644
  211    132   
index 82af150..0000000
  212         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
         133  +
++ /dev/null
  213    134   
@@ -1,4 +0,0 @@
  214         -
POST /?Param1=value1 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=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 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-vanilla/post-vanilla.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
  219    136   
deleted file mode 100644
  220    137   
index 89e572e..0000000
  221         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
         138  +
++ /dev/null
  222    139   
@@ -1 +0,0 @@
  223         -
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
  224    140   
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
  225    141   
deleted file mode 100644
  226    142   
index a5ada0d..0000000
  227         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
         143  +
++ /dev/null
  228    144   
@@ -1,4 +0,0 @@
  229         -
POST / HTTP/1.1
  230         -
Host:example.amazonaws.com
  231         -
X-Amz-Date:20150830T123600Z
  232         -
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
  233    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.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
  234    146   
deleted file mode 100644
  235    147   
index df90ca3..0000000
  236         -
-- 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
         148  +
++ /dev/null
  237    149   
@@ -1 +0,0 @@
  238         -
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
  239    150   
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
  240    151   
deleted file mode 100644
  241    152   
index 457b0d5..0000000
  242         -
-- 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
         153  +
++ /dev/null
  243    154   
@@ -1,9 +0,0 @@
  244         -
POST
  245         -
/
  246         -
Param1=value1
  247         -
content-type:application/x-www-form-urlencoded; charset=utf-8
  248         -
host:example.amazonaws.com
  249         -
x-amz-date:20150830T123600Z
  250         -
  251         -
content-type;host;x-amz-date
  252         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  253    155   
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
  254    156   
deleted file mode 100644
  255    157   
index b8ecb89..0000000
  256         -
-- 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
         158  +
++ /dev/null
  257    159   
@@ -1,7 +0,0 @@
  258         -
POST / HTTP/1.1
  259         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  260         -
Host:example.amazonaws.com
  261         -
X-Amz-Date:20150830T123600Z
  262         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  263         -
  264         -
Param1=value1
              \
 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.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
  266    161   
deleted file mode 100644
  267    162   
index 79077d2..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.authz
         163  +
++ /dev/null
  269    164   
@@ -1 +0,0 @@
  270         -
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
  271    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.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
  272    166   
deleted file mode 100644
  273    167   
index 7852617..0000000
  274         -
-- 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
         168  +
++ /dev/null
  275    169   
@@ -1,4 +0,0 @@
  276         -
POST / HTTP/1.1
  277         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  278         -
Host:example.amazonaws.com
  279         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  280    170   
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
  281    171   
deleted file mode 100644
  282    172   
index 3e2e571..0000000
  283         -
-- 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
         173  +
++ /dev/null
  284    174   
@@ -1,4 +0,0 @@
  285         -
POST / HTTP/1.1
  286         -
Host:example.amazonaws.com
  287         -
X-Amz-Date:20150830T123600Z
  288         -
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
  289    175   
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
  290    176   
deleted file mode 100644
  291    177   
index 89ceae8..0000000
  292         -
-- 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
         178  +
++ /dev/null
  293    179   
@@ -1,4 +0,0 @@
  294         -
AWS4-HMAC-SHA256
  295         -
20150830T123600Z
  296         -
20150830/us-east-1/service/aws4_request
  297         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  298    180   
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
  299    181   
deleted file mode 100755
  300    182   
index d645695..0000000
  301         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
         183  +
++ /dev/null
  302    184   
@@ -1,202 +0,0 @@
  303         -
  304         -
                                 Apache License
  305         -
                           Version 2.0, January 2004
  306         -
                        http://www.apache.org/licenses/
  307         -
  308         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  309         -
  310         -
   1. Definitions.
  311         -
  312         -
      "License" shall mean the terms and conditions for use, reproduction,
  313         -
      and distribution as defined by Sections 1 through 9 of this document.
  314         -
  315         -
      "Licensor" shall mean the copyright owner or entity authorized by
  316         -
      the copyright owner that is granting the License.
  317         -
  318         -
      "Legal Entity" shall mean the union of the acting entity and all
  319         -
      other entities that control, are controlled by, or are under common
  320         -
      control with that entity. For the purposes of this definition,
  321         -
      "control" means (i) the power, direct or indirect, to cause the
  322         -
      direction or management of such entity, whether by contract or
  323         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  324         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  325         -
  326         -
      "You" (or "Your") shall mean an individual or Legal Entity
  327         -
      exercising permissions granted by this License.
  328         -
  329         -
      "Source" form shall mean the preferred form for making modifications,
  330         -
      including but not limited to software source code, documentation
  331         -
      source, and configuration files.
  332         -
  333         -
      "Object" form shall mean any form resulting from mechanical
  334         -
      transformation or translation of a Source form, including but
  335         -
      not limited to compiled object code, generated documentation,
  336         -
      and conversions to other media types.
  337         -
  338         -
      "Work" shall mean the work of authorship, whether in Source or
  339         -
      Object form, made available under the License, as indicated by a
  340         -
      copyright notice that is included in or attached to the work
  341         -
      (an example is provided in the Appendix below).
  342         -
  343         -
      "Derivative Works" shall mean any work, whether in Source or Object
  344         -
      form, that is based on (or derived from) the Work and for which the
  345         -
      editorial revisions, annotations, elaborations, or other modifications
  346         -
      represent, as a whole, an original work of authorship. For the purposes
  347         -
      of this License, Derivative Works shall not include works that remain
  348         -
      separable from, or merely link (or bind by name) to the interfaces of,
  349         -
      the Work and Derivative Works thereof.
  350         -
  351         -
      "Contribution" shall mean any work of authorship, including
  352         -
      the original version of the Work and any modifications or additions
  353         -
      to that Work or Derivative Works thereof, that is intentionally
  354         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  355         -
      or by an individual or Legal Entity authorized to submit on behalf of
  356         -
      the copyright owner. For the purposes of this definition, "submitted"
  357         -
      means any form of electronic, verbal, or written communication sent
  358         -
      to the Licensor or its representatives, including but not limited to
  359         -
      communication on electronic mailing lists, source code control systems,
  360         -
      and issue tracking systems that are managed by, or on behalf of, the
  361         -
      Licensor for the purpose of discussing and improving the Work, but
  362         -
      excluding communication that is conspicuously marked or otherwise
  363         -
      designated in writing by the copyright owner as "Not a Contribution."
  364         -
  365         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  366         -
      on behalf of whom a Contribution has been received by Licensor and
  367         -
      subsequently incorporated within the Work.
  368         -
  369         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  370         -
      this License, each Contributor hereby grants to You a perpetual,
  371         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  372         -
      copyright license to reproduce, prepare Derivative Works of,
  373         -
      publicly display, publicly perform, sublicense, and distribute the
  374         -
      Work and such Derivative Works in Source or Object form.
  375         -
  376         -
   3. Grant of Patent License. Subject to the terms and conditions of
  377         -
      this License, each Contributor hereby grants to You a perpetual,
  378         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  379         -
      (except as stated in this section) patent license to make, have made,
  380         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  381         -
      where such license applies only to those patent claims licensable
  382         -
      by such Contributor that are necessarily infringed by their
  383         -
      Contribution(s) alone or by combination of their Contribution(s)
  384         -
      with the Work to which such Contribution(s) was submitted. If You
  385         -
      institute patent litigation against any entity (including a
  386         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  387         -
      or a Contribution incorporated within the Work constitutes direct
  388         -
      or contributory patent infringement, then any patent licenses
  389         -
      granted to You under this License for that Work shall terminate
  390         -
      as of the date such litigation is filed.
  391         -
  392         -
   4. Redistribution. You may reproduce and distribute copies of the
  393         -
      Work or Derivative Works thereof in any medium, with or without
  394         -
      modifications, and in Source or Object form, provided that You
  395         -
      meet the following conditions:
  396         -
  397         -
      (a) You must give any other recipients of the Work or
  398         -
          Derivative Works a copy of this License; and
  399         -
  400         -
      (b) You must cause any modified files to carry prominent notices
  401         -
          stating that You changed the files; and
  402         -
  403         -
      (c) You must retain, in the Source form of any Derivative Works
  404         -
          that You distribute, all copyright, patent, trademark, and
  405         -
          attribution notices from the Source form of the Work,
  406         -
          excluding those notices that do not pertain to any part of
  407         -
          the Derivative Works; and
  408         -
  409         -
      (d) If the Work includes a "NOTICE" text file as part of its
  410         -
          distribution, then any Derivative Works that You distribute must
  411         -
          include a readable copy of the attribution notices contained
  412         -
          within such NOTICE file, excluding those notices that do not
  413         -
          pertain to any part of the Derivative Works, in at least one
  414         -
          of the following places: within a NOTICE text file distributed
  415         -
          as part of the Derivative Works; within the Source form or
  416         -
          documentation, if provided along with the Derivative Works; or,
  417         -
          within a display generated by the Derivative Works, if and
  418         -
          wherever such third-party notices normally appear. The contents
  419         -
          of the NOTICE file are for informational purposes only and
  420         -
          do not modify the License. You may add Your own attribution
  421         -
          notices within Derivative Works that You distribute, alongside
  422         -
          or as an addendum to the NOTICE text from the Work, provided
  423         -
          that such additional attribution notices cannot be construed
  424         -
          as modifying the License.
  425         -
  426         -
      You may add Your own copyright statement to Your modifications and
  427         -
      may provide additional or different license terms and conditions
  428         -
      for use, reproduction, or distribution of Your modifications, or
  429         -
      for any such Derivative Works as a whole, provided Your use,
  430         -
      reproduction, and distribution of the Work otherwise complies with
  431         -
      the conditions stated in this License.
  432         -
  433         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  434         -
      any Contribution intentionally submitted for inclusion in the Work
  435         -
      by You to the Licensor shall be under the terms and conditions of
  436         -
      this License, without any additional terms or conditions.
  437         -
      Notwithstanding the above, nothing herein shall supersede or modify
  438         -
      the terms of any separate license agreement you may have executed
  439         -
      with Licensor regarding such Contributions.
  440         -
  441         -
   6. Trademarks. This License does not grant permission to use the trade
  442         -
      names, trademarks, service marks, or product names of the Licensor,
  443         -
      except as required for reasonable and customary use in describing the
  444         -
      origin of the Work and reproducing the content of the NOTICE file.
  445         -
  446         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  447         -
      agreed to in writing, Licensor provides the Work (and each
  448         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  449         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  450         -
      implied, including, without limitation, any warranties or conditions
  451         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  452         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  453         -
      appropriateness of using or redistributing the Work and assume any
  454         -
      risks associated with Your exercise of permissions under this License.
  455         -
  456         -
   8. Limitation of Liability. In no event and under no legal theory,
  457         -
      whether in tort (including negligence), contract, or otherwise,
  458         -
      unless required by applicable law (such as deliberate and grossly
  459         -
      negligent acts) or agreed to in writing, shall any Contributor be
  460         -
      liable to You for damages, including any direct, indirect, special,
  461         -
      incidental, or consequential damages of any character arising as a
  462         -
      result of this License or out of the use or inability to use the
  463         -
      Work (including but not limited to damages for loss of goodwill,
  464         -
      work stoppage, computer failure or malfunction, or any and all
  465         -
      other commercial damages or losses), even if such Contributor
  466         -
      has been advised of the possibility of such damages.
  467         -
  468         -
   9. Accepting Warranty or Additional Liability. While redistributing
  469         -
      the Work or Derivative Works thereof, You may choose to offer,
  470         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  471         -
      or other liability obligations and/or rights consistent with this
  472         -
      License. However, in accepting such obligations, You may act only
  473         -
      on Your own behalf and on Your sole responsibility, not on behalf
  474         -
      of any other Contributor, and only if You agree to indemnify,
  475         -
      defend, and hold each Contributor harmless for any liability
  476         -
      incurred by, or claims asserted against, such Contributor by reason
  477         -
      of your accepting any such warranty or additional liability.
  478         -
  479         -
   END OF TERMS AND CONDITIONS
  480         -
  481         -
   APPENDIX: How to apply the Apache License to your work.
  482         -
  483         -
      To apply the Apache License to your work, attach the following
  484         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  485         -
      replaced with your own identifying information. (Don't include
  486         -
      the brackets!)  The text should be enclosed in the appropriate
  487         -
      comment syntax for the file format. We also recommend that a
  488         -
      file or class name and description of purpose be included on the
  489         -
      same "printed page" as the copyright notice for easier
  490         -
      identification within third-party archives.
  491         -
  492         -
   Copyright [yyyy] [name of copyright owner]
  493         -
  494         -
   Licensed under the Apache License, Version 2.0 (the "License");
  495         -
   you may not use this file except in compliance with the License.
  496         -
   You may obtain a copy of the License at
  497         -
  498         -
       http://www.apache.org/licenses/LICENSE-2.0
  499         -
  500         -
   Unless required by applicable law or agreed to in writing, software
  501         -
   distributed under the License is distributed on an "AS IS" BASIS,
  502         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  503         -
   See the License for the specific language governing permissions and
  504         -
   limitations under the License.
  505    185   
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
  506    186   
deleted file mode 100755
  507    187   
index d85f69e..0000000
  508         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
         188  +
++ /dev/null
  509    189   
@@ -1,2 +0,0 @@
  510         -
AWS Signature Version 4a Test Suite
  511         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  512    190   
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
  513    191   
deleted file mode 100644
  514    192   
index c716622..0000000
  515         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
         193  +
++ /dev/null
  516    194   
@@ -1,24 +0,0 @@
  517         -
Where did the files in this directory come from?
  518         -
================================================
  519         -
  520         -
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.
  521         -
  522         -
Signature Version 4A Test Suite
  523         -
------------------------------
  524         -
  525         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  526         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  527         -
  528         -
Each test group contains several files that you can use to validate most of the tasks described in
  529         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  530         -
  531         -
- context.json - Credentials and signer options to use when signing test requests
  532         -
- request.txt - The web request to be signed.
  533         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  534         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  535         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  536         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  537         -
  538         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  539         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  540         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  541    195   
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
  542    196   
deleted file mode 100644
  543    197   
index 45771c7..0000000
  544         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
         198  +
++ /dev/null
  545    199   
@@ -1,12 +0,0 @@
  546         -
{
  547         -
    "credentials": {
  548         -
        "access_key_id": "AKIDEXAMPLE",
  549         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  550         -
    },
  551         -
    "expiration_in_seconds": 3600,
  552         -
    "normalize": true,
  553         -
    "region": "us-east-1",
  554         -
    "service": "service",
  555         -
    "sign_body": false,
  556         -
    "timestamp": "2015-08-30T12:36:00Z"
  557         -
}
  558    200   
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
  559    201   
deleted file mode 100644
  560    202   
index 45771c7..0000000
  561         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
         203  +
++ /dev/null
  562    204   
@@ -1,12 +0,0 @@
  563         -
{
  564         -
    "credentials": {
  565         -
        "access_key_id": "AKIDEXAMPLE",
  566         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  567         -
    },
  568         -
    "expiration_in_seconds": 3600,
  569         -
    "normalize": true,
  570         -
    "region": "us-east-1",
  571         -
    "service": "service",
  572         -
    "sign_body": false,
  573         -
    "timestamp": "2015-08-30T12:36:00Z"
  574         -
}
  575    205   
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
  576    206   
deleted file mode 100644
  577    207   
index 45771c7..0000000
  578         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         208  +
++ /dev/null
  579    209   
@@ -1,12 +0,0 @@
  580         -
{
  581         -
    "credentials": {
  582         -
        "access_key_id": "AKIDEXAMPLE",
  583         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  584         -
    },
  585         -
    "expiration_in_seconds": 3600,
  586         -
    "normalize": true,
  587         -
    "region": "us-east-1",
  588         -
    "service": "service",
  589         -
    "sign_body": false,
  590         -
    "timestamp": "2015-08-30T12:36:00Z"
  591         -
}
  592    210   
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
  593    211   
deleted file mode 100644
  594    212   
index 45771c7..0000000
  595         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         213  +
++ /dev/null
  596    214   
@@ -1,12 +0,0 @@
  597         -
{
  598         -
    "credentials": {
  599         -
        "access_key_id": "AKIDEXAMPLE",
  600         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  601         -
    },
  602         -
    "expiration_in_seconds": 3600,
  603         -
    "normalize": true,
  604         -
    "region": "us-east-1",
  605         -
    "service": "service",
  606         -
    "sign_body": false,
  607         -
    "timestamp": "2015-08-30T12:36:00Z"
  608         -
}
  609    215   
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
  610    216   
deleted file mode 100644
  611    217   
index afe367b..0000000
  612         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         218  +
++ /dev/null
  613    219   
@@ -1,12 +0,0 @@
  614         -
{
  615         -
    "credentials": {
  616         -
        "access_key_id": "AKIDEXAMPLE",
  617         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  618         -
    },
  619         -
    "expiration_in_seconds": 3600,
  620         -
    "normalize": false,
  621         -
    "region": "us-east-1",
  622         -
    "service": "service",
  623         -
    "sign_body": false,
  624         -
    "timestamp": "2015-08-30T12:36:00Z"
  625         -
}
  626    220   
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
  627    221   
deleted file mode 100644
  628    222   
index 45771c7..0000000
  629         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         223  +
++ /dev/null
  630    224   
@@ -1,12 +0,0 @@
  631         -
{
  632         -
    "credentials": {
  633         -
        "access_key_id": "AKIDEXAMPLE",
  634         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  635         -
    },
  636         -
    "expiration_in_seconds": 3600,
  637         -
    "normalize": true,
  638         -
    "region": "us-east-1",
  639         -
    "service": "service",
  640         -
    "sign_body": false,
  641         -
    "timestamp": "2015-08-30T12:36:00Z"
  642         -
}
  643    225   
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
  644    226   
deleted file mode 100644
  645    227   
index afe367b..0000000
  646         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         228  +
++ /dev/null
  647    229   
@@ -1,12 +0,0 @@
  648         -
{
  649         -
    "credentials": {
  650         -
        "access_key_id": "AKIDEXAMPLE",
  651         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  652         -
    },
  653         -
    "expiration_in_seconds": 3600,
  654         -
    "normalize": false,
  655         -
    "region": "us-east-1",
  656         -
    "service": "service",
  657         -
    "sign_body": false,
  658         -
    "timestamp": "2015-08-30T12:36:00Z"
  659         -
}
  660    230   
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
  661    231   
deleted file mode 100644
  662    232   
index 45771c7..0000000
  663         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         233  +
++ /dev/null
  664    234   
@@ -1,12 +0,0 @@
  665         -
{
  666         -
    "credentials": {
  667         -
        "access_key_id": "AKIDEXAMPLE",
  668         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  669         -
    },
  670         -
    "expiration_in_seconds": 3600,
  671         -
    "normalize": true,
  672         -
    "region": "us-east-1",
  673         -
    "service": "service",
  674         -
    "sign_body": false,
  675         -
    "timestamp": "2015-08-30T12:36:00Z"
  676         -
}
  677    235   
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
  678    236   
deleted file mode 100644
  679    237   
index 45771c7..0000000
  680         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         238  +
++ /dev/null
  681    239   
@@ -1,12 +0,0 @@
  682         -
{
  683         -
    "credentials": {
  684         -
        "access_key_id": "AKIDEXAMPLE",
  685         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  686         -
    },
  687         -
    "expiration_in_seconds": 3600,
  688         -
    "normalize": true,
  689         -
    "region": "us-east-1",
  690         -
    "service": "service",
  691         -
    "sign_body": false,
  692         -
    "timestamp": "2015-08-30T12:36:00Z"
  693         -
}
  694    240   
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
  695    241   
deleted file mode 100644
  696    242   
index 45771c7..0000000
  697         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         243  +
++ /dev/null
  698    244   
@@ -1,12 +0,0 @@
  699         -
{
  700         -
    "credentials": {
  701         -
        "access_key_id": "AKIDEXAMPLE",
  702         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  703         -
    },
  704         -
    "expiration_in_seconds": 3600,
  705         -
    "normalize": true,
  706         -
    "region": "us-east-1",
  707         -
    "service": "service",
  708         -
    "sign_body": false,
  709         -
    "timestamp": "2015-08-30T12:36:00Z"
  710         -
}
  711    245   
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
  712    246   
deleted file mode 100644
  713    247   
index 45771c7..0000000
  714         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         248  +
++ /dev/null
  715    249   
@@ -1,12 +0,0 @@
  716         -
{
  717         -
    "credentials": {
  718         -
        "access_key_id": "AKIDEXAMPLE",
  719         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  720         -
    },
  721         -
    "expiration_in_seconds": 3600,
  722         -
    "normalize": true,
  723         -
    "region": "us-east-1",
  724         -
    "service": "service",
  725         -
    "sign_body": false,
  726         -
    "timestamp": "2015-08-30T12:36:00Z"
  727         -
}
  728    250   
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
  729    251   
deleted file mode 100644
  730    252   
index 45771c7..0000000
  731         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         253  +
++ /dev/null
  732    254   
@@ -1,12 +0,0 @@
  733         -
{
  734         -
    "credentials": {
  735         -
        "access_key_id": "AKIDEXAMPLE",
  736         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  737         -
    },
  738         -
    "expiration_in_seconds": 3600,
  739         -
    "normalize": true,
  740         -
    "region": "us-east-1",
  741         -
    "service": "service",
  742         -
    "sign_body": false,
  743         -
    "timestamp": "2015-08-30T12:36:00Z"
  744         -
}
  745    255   
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
  746    256   
deleted file mode 100644
  747    257   
index 47e7128..0000000
  748         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         258  +
++ /dev/null
  749    259   
@@ -1,9 +0,0 @@
  750         -
GET
  751         -
/
  752         -
  753         -
host:example.amazonaws.com
  754         -
x-amz-date:20150830T123600Z
  755         -
x-amz-region-set:us-east-1
  756         -
  757         -
host;x-amz-date;x-amz-region-set
  758         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  759    260   
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
  760    261   
deleted file mode 100644
  761    262   
index 95d7219..0000000
  762         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         263  +
++ /dev/null
  763    264   
@@ -1,4 +0,0 @@
  764         -
AWS4-ECDSA-P256-SHA256
  765         -
20150830T123600Z
  766         -
20150830/service/aws4_request
  767         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  768    265   
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
  769    266   
deleted file mode 100644
  770    267   
index a34ea26..0000000
  771         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         268  +
++ /dev/null
  772    269   
@@ -1,7 +0,0 @@
  773         -
GET
  774         -
/
  775         -
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
  776         -
host:example.amazonaws.com
  777         -
  778         -
host
  779         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  780    270   
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
  781    271   
deleted file mode 100644
  782    272   
index 48f855c..0000000
  783         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         273  +
++ /dev/null
  784    274   
@@ -1,4 +0,0 @@
  785         -
AWS4-ECDSA-P256-SHA256
  786         -
20150830T123600Z
  787         -
20150830/service/aws4_request
  788         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  789    275   
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
  790    276   
deleted file mode 100644
  791    277   
index 45771c7..0000000
  792         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         278  +
++ /dev/null
  793    279   
@@ -1,12 +0,0 @@
  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         -
}
  806    280   
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
  807    281   
deleted file mode 100644
  808    282   
index 47e7128..0000000
  809         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         283  +
++ /dev/null
  810    284   
@@ -1,9 +0,0 @@
  811         -
GET
  812         -
/
  813         -
  814         -
host:example.amazonaws.com
  815         -
x-amz-date:20150830T123600Z
  816         -
x-amz-region-set:us-east-1
  817         -
  818         -
host;x-amz-date;x-amz-region-set
  819         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  820    285   
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
  821    286   
deleted file mode 100644
  822    287   
index 95d7219..0000000
  823         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         288  +
++ /dev/null
  824    289   
@@ -1,4 +0,0 @@
  825         -
AWS4-ECDSA-P256-SHA256
  826         -
20150830T123600Z
  827         -
20150830/service/aws4_request
  828         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  829    290   
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
  830    291   
deleted file mode 100644
  831    292   
index a34ea26..0000000
  832         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         293  +
++ /dev/null
  833    294   
@@ -1,7 +0,0 @@
  834         -
GET
  835         -
/
  836         -
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
  837         -
host:example.amazonaws.com
  838         -
  839         -
host
  840         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  841    295   
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
  842    296   
deleted file mode 100644
  843    297   
index 48f855c..0000000
  844         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         298  +
++ /dev/null
  845    299   
@@ -1,4 +0,0 @@
  846         -
AWS4-ECDSA-P256-SHA256
  847         -
20150830T123600Z
  848         -
20150830/service/aws4_request
  849         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  850    300   
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
  851    301   
deleted file mode 100644
  852    302   
index 45771c7..0000000
  853         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         303  +
++ /dev/null
  854    304   
@@ -1,12 +0,0 @@
  855         -
{
  856         -
    "credentials": {
  857         -
        "access_key_id": "AKIDEXAMPLE",
  858         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  859         -
    },
  860         -
    "expiration_in_seconds": 3600,
  861         -
    "normalize": true,
  862         -
    "region": "us-east-1",
  863         -
    "service": "service",
  864         -
    "sign_body": false,
  865         -
    "timestamp": "2015-08-30T12:36:00Z"
  866         -
}
  867    305   
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
  868    306   
deleted file mode 100644
  869    307   
index 45771c7..0000000
  870         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         308  +
++ /dev/null
  871    309   
@@ -1,12 +0,0 @@
  872         -
{
  873         -
    "credentials": {
  874         -
        "access_key_id": "AKIDEXAMPLE",
  875         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  876         -
    },
  877         -
    "expiration_in_seconds": 3600,
  878         -
    "normalize": true,
  879         -
    "region": "us-east-1",
  880         -
    "service": "service",
  881         -
    "sign_body": false,
  882         -
    "timestamp": "2015-08-30T12:36:00Z"
  883         -
}
  884    310   
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
  885    311   
deleted file mode 100644
  886    312   
index 45771c7..0000000
  887         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         313  +
++ /dev/null
  888    314   
@@ -1,12 +0,0 @@
  889         -
{
  890         -
    "credentials": {
  891         -
        "access_key_id": "AKIDEXAMPLE",
  892         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  893         -
    },
  894         -
    "expiration_in_seconds": 3600,
  895         -
    "normalize": true,
  896         -
    "region": "us-east-1",
  897         -
    "service": "service",
  898         -
    "sign_body": false,
  899         -
    "timestamp": "2015-08-30T12:36:00Z"
  900         -
}
  901    315   
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
  902    316   
deleted file mode 100644
  903    317   
index 45771c7..0000000
  904         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         318  +
++ /dev/null
  905    319   
@@ -1,12 +0,0 @@
  906         -
{
  907         -
    "credentials": {
  908         -
        "access_key_id": "AKIDEXAMPLE",
  909         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  910         -
    },
  911         -
    "expiration_in_seconds": 3600,
  912         -
    "normalize": true,
  913         -
    "region": "us-east-1",
  914         -
    "service": "service",
  915         -
    "sign_body": false,
  916         -
    "timestamp": "2015-08-30T12:36:00Z"
  917         -
}
  918    320   
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
  919    321   
deleted file mode 100644
  920    322   
index 45771c7..0000000
  921         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         323  +
++ /dev/null
  922    324   
@@ -1,12 +0,0 @@
  923         -
{
  924         -
    "credentials": {
  925         -
        "access_key_id": "AKIDEXAMPLE",
  926         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  927         -
    },
  928         -
    "expiration_in_seconds": 3600,
  929         -
    "normalize": true,
  930         -
    "region": "us-east-1",
  931         -
    "service": "service",
  932         -
    "sign_body": false,
  933         -
    "timestamp": "2015-08-30T12:36:00Z"
  934         -
}
  935    325   
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
  936    326   
deleted file mode 100644
  937    327   
index 45771c7..0000000
  938         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         328  +
++ /dev/null
  939    329   
@@ -1,12 +0,0 @@
  940         -
{
  941         -
    "credentials": {
  942         -
        "access_key_id": "AKIDEXAMPLE",
  943         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  944         -
    },
  945         -
    "expiration_in_seconds": 3600,
  946         -
    "normalize": true,
  947         -
    "region": "us-east-1",
  948         -
    "service": "service",
  949         -
    "sign_body": false,
  950         -
    "timestamp": "2015-08-30T12:36:00Z"
  951         -
}
  952    330   
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
  953    331   
deleted file mode 100644
  954    332   
index b6fdecf..0000000
  955         -
-- 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
         333  +
++ /dev/null
  956    334   
@@ -1,4 +0,0 @@
  957         -
AWS4-ECDSA-P256-SHA256
  958         -
20150830T123600Z
  959         -
20150830/service/aws4_request
  960         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  961    335   
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
  962    336   
deleted file mode 100644
  963    337   
index a300bea..0000000
  964         -
-- 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
         338  +
++ /dev/null
  965    339   
@@ -1,4 +0,0 @@
  966         -
AWS4-ECDSA-P256-SHA256
  967         -
20150830T123600Z
  968         -
20150830/service/aws4_request
  969         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
  970    340   
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
  971    341   
deleted file mode 100644
  972    342   
index b6fdecf..0000000
  973         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         343  +
++ /dev/null
  974    344   
@@ -1,4 +0,0 @@
  975         -
AWS4-ECDSA-P256-SHA256
  976         -
20150830T123600Z
  977         -
20150830/service/aws4_request
  978         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
  979    345   
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
  980    346   
new file mode 100644
  981    347   
index 0000000..a674243
  982         -
-- /dev/null
         348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
  983    349   
@@ -0,0 +1,7 @@
         350  +
# AWS SigV4 and SigV4A Signing Test Suite
         351  +
         352  +
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).
         353  +
         354  +
We added the following changes:
         355  +
         356  +
* 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
  984    357   
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
  985    358   
similarity index 100%
  986    359   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
  987    360   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
  988    361   
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
  989    362   
similarity index 100%
  990    363   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
  991    364   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
  992    365   
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
  993    366   
similarity index 100%
  994    367   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
  995    368   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
  996    369   
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
  997    370   
similarity index 100%
  998    371   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
  999    372   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
 1000    373   
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
 1001    374   
similarity index 100%
 1002    375   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
 1003    376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
 1004    377   
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
 1005    378   
similarity index 100%
 1006    379   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
 1007    380   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
 1008    381   
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
 1009    382   
similarity index 100%
 1010    383   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
 1011    384   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
 1012    385   
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
 1013    386   
similarity index 99%
 1014    387   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
 1015    388   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
 1016    389   
index 45771c7..0468d80 100644
 1017         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
         390  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
 1018    391   
@@ -1,12 +1,12 @@
 1019    392   
{
 1020    393   
    "credentials": {
 1021    394   
        "access_key_id": "AKIDEXAMPLE",
 1022    395   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1023    396   
    },
 1024    397   
    "expiration_in_seconds": 3600,
 1025    398   
    "normalize": true,
 1026    399   
    "region": "us-east-1",
 1027    400   
    "service": "service",
 1028    401   
    "sign_body": false,
 1029    402   
    "timestamp": "2015-08-30T12:36:00Z"
 1030         -
}
         403  +
}
              \
 No newline at end of file
 1031    404   
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
 1032    405   
similarity index 100%
 1033    406   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
 1034    407   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
 1035    408   
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
 1036    409   
new file mode 100644
 1037    410   
index 0000000..7fc5d7a
 1038         -
-- /dev/null
         411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
 1039    412   
@@ -0,0 +1 @@
         413  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
 1040    414   
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
 1041    415   
new file mode 100644
 1042    416   
index 0000000..36a1205
 1043         -
-- /dev/null
         417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
 1044    418   
@@ -0,0 +1,8 @@
         419  +
GET / HTTP/1.1
         420  +
Host:example.amazonaws.com
         421  +
My-Header1:value2
         422  +
My-Header1:value2
         423  +
My-Header1:value1
         424  +
X-Amz-Date:20150830T123600Z
         425  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         426  +
 1045    427   
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
 1046    428   
similarity index 100%
 1047    429   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
 1048    430   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
 1049    431   
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
 1050    432   
new file mode 100644
 1051    433   
index 0000000..f9f4190
 1052         -
-- /dev/null
         434  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
 1053    435   
@@ -0,0 +1,8 @@
         436  +
GET
         437  +
/
         438  +
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
         439  +
host:example.amazonaws.com
         440  +
my-header1:value2,value2,value1
         441  +
         442  +
host;my-header1
         443  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1054    444   
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
 1055    445   
new file mode 100644
 1056    446   
index 0000000..5d0d87f
 1057         -
-- /dev/null
         447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
 1058    448   
@@ -0,0 +1 @@
         449  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
 1059    450   
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
 1060    451   
new file mode 100644
 1061    452   
index 0000000..c1dfcf4
 1062         -
-- /dev/null
         453  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1063    454   
@@ -0,0 +1,6 @@
         455  +
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
         456  +
Host:example.amazonaws.com
         457  +
My-Header1:value2
         458  +
My-Header1:value2
         459  +
My-Header1:value1
         460  +
 1064    461   
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
 1065    462   
similarity index 53%
 1066    463   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
 1067    464   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1068    465   
index 0a3350a..077c1bb 100644
 1069         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         466  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1070    467   
@@ -1,4 +1,4 @@
 1071    468   
AWS4-HMAC-SHA256
 1072    469   
20150830T123600Z
 1073    470   
20150830/us-east-1/service/aws4_request
 1074         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         471  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1075    472   
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
 1076    473   
similarity index 100%
 1077    474   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1078    475   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1079    476   
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
 1080    477   
similarity index 99%
 1081    478   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1082    479   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1083    480   
index 45771c7..0468d80 100644
 1084         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
         481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1085    482   
@@ -1,12 +1,12 @@
 1086    483   
{
 1087    484   
    "credentials": {
 1088    485   
        "access_key_id": "AKIDEXAMPLE",
 1089    486   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1090    487   
    },
 1091    488   
    "expiration_in_seconds": 3600,
 1092    489   
    "normalize": true,
 1093    490   
    "region": "us-east-1",
 1094    491   
    "service": "service",
 1095    492   
    "sign_body": false,
 1096    493   
    "timestamp": "2015-08-30T12:36:00Z"
 1097         -
}
         494  +
}
              \
 No newline at end of file
 1098    495   
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
 1099    496   
similarity index 82%
 1100    497   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1101    498   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1102    499   
index 721a39f..8cb5476 100644
 1103         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1104    501   
@@ -1,9 +1,9 @@
 1105    502   
GET
 1106    503   
/
 1107    504   
 1108    505   
host:example.amazonaws.com
 1109         -
my-header1:value1,value2,value3
         506  +
my-header1:value1 value2 value3
 1110    507   
x-amz-date:20150830T123600Z
 1111    508   
 1112    509   
host;my-header1;x-amz-date
 1113    510   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1114    511   
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
 1115    512   
new file mode 100644
 1116    513   
index 0000000..e6ff7a9
 1117         -
-- /dev/null
         514  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1118    515   
@@ -0,0 +1 @@
         516  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1119    517   
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
 1120    518   
new file mode 100644
 1121    519   
index 0000000..b5ef6a0
 1122         -
-- /dev/null
         520  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1123    521   
@@ -0,0 +1,8 @@
         522  +
GET / HTTP/1.1
         523  +
Host:example.amazonaws.com
         524  +
My-Header1:value1
         525  +
  value2
         526  +
     value3
         527  +
X-Amz-Date:20150830T123600Z
         528  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         529  +
 1124    530   
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
 1125    531   
similarity index 53%
 1126    532   
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
 1127    533   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1128    534   
index fd43a41..97c7430 100644
 1129         -
-- 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
         535  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1130    536   
@@ -1,4 +1,4 @@
 1131    537   
AWS4-HMAC-SHA256
 1132    538   
20150830T123600Z
 1133    539   
20150830/us-east-1/service/aws4_request
 1134         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         540  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1135    541   
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
 1136    542   
new file mode 100644
 1137    543   
index 0000000..aac46de
 1138         -
-- /dev/null
         544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1139    545   
@@ -0,0 +1,8 @@
         546  +
GET
         547  +
/
         548  +
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
         549  +
host:example.amazonaws.com
         550  +
my-header1:value1 value2 value3
         551  +
         552  +
host;my-header1
         553  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1140    554   
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
 1141    555   
new file mode 100644
 1142    556   
index 0000000..205732d
 1143         -
-- /dev/null
         557  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1144    558   
@@ -0,0 +1 @@
         559  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1145    560   
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
 1146    561   
new file mode 100644
 1147    562   
index 0000000..a891b87
 1148         -
-- /dev/null
         563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1149    564   
@@ -0,0 +1,6 @@
         565  +
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
         566  +
Host:example.amazonaws.com
         567  +
My-Header1:value1
         568  +
  value2
         569  +
     value3
         570  +
 1150    571   
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
 1151    572   
similarity index 53%
 1152    573   
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
 1153    574   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1154    575   
index 90e66b8..ec3fe45 100644
 1155         -
-- 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
         576  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1156    577   
@@ -1,4 +1,4 @@
 1157    578   
AWS4-HMAC-SHA256
 1158    579   
20150830T123600Z
 1159    580   
20150830/us-east-1/service/aws4_request
 1160         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         581  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1161    582   
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
 1162    583   
similarity index 75%
 1163    584   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1164    585   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1165    586   
index 7caa6ac..b5026cd 100644
 1166         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         587  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1167    588   
@@ -1,6 +1,5 @@
 1168    589   
GET / HTTP/1.1
 1169    590   
Host:example.amazonaws.com
 1170    591   
My-Header1:value1
 1171    592   
  value2
 1172    593   
     value3
 1173         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1174    594   
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
 1175    595   
similarity index 99%
 1176    596   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1177    597   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1178    598   
index 45771c7..0468d80 100644
 1179         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
         599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1180    600   
@@ -1,12 +1,12 @@
 1181    601   
{
 1182    602   
    "credentials": {
 1183    603   
        "access_key_id": "AKIDEXAMPLE",
 1184    604   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1185    605   
    },
 1186    606   
    "expiration_in_seconds": 3600,
 1187    607   
    "normalize": true,
 1188    608   
    "region": "us-east-1",
 1189    609   
    "service": "service",
 1190    610   
    "sign_body": false,
 1191    611   
    "timestamp": "2015-08-30T12:36:00Z"
 1192         -
}
         612  +
}
              \
 No newline at end of file
 1193    613   
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
 1194    614   
similarity index 100%
 1195    615   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1196    616   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1197    617   
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
 1198    618   
new file mode 100644
 1199    619   
index 0000000..8ef0494
 1200         -
-- /dev/null
         620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1201    621   
@@ -0,0 +1 @@
         622  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1202    623   
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
 1203    624   
new file mode 100644
 1204    625   
index 0000000..b786dc9
 1205         -
-- /dev/null
         626  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1206    627   
@@ -0,0 +1,9 @@
         628  +
GET / HTTP/1.1
         629  +
Host:example.amazonaws.com
         630  +
My-Header1:value4
         631  +
My-Header1:value1
         632  +
My-Header1:value3
         633  +
My-Header1:value2
         634  +
X-Amz-Date:20150830T123600Z
         635  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         636  +
 1207    637   
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
 1208    638   
similarity index 100%
 1209    639   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1210    640   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1211    641   
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
 1212    642   
new file mode 100644
 1213    643   
index 0000000..a211cc5
 1214         -
-- /dev/null
         644  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1215    645   
@@ -0,0 +1,8 @@
         646  +
GET
         647  +
/
         648  +
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
         649  +
host:example.amazonaws.com
         650  +
my-header1:value4,value1,value3,value2
         651  +
         652  +
host;my-header1
         653  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1216    654   
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
 1217    655   
new file mode 100644
 1218    656   
index 0000000..417b0fa
 1219         -
-- /dev/null
         657  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1220    658   
@@ -0,0 +1 @@
         659  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1221    660   
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
 1222    661   
new file mode 100644
 1223    662   
index 0000000..b615e5d
 1224         -
-- /dev/null
         663  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1225    664   
@@ -0,0 +1,7 @@
         665  +
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
         666  +
Host:example.amazonaws.com
         667  +
My-Header1:value4
         668  +
My-Header1:value1
         669  +
My-Header1:value3
         670  +
My-Header1:value2
         671  +
 1226    672   
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
 1227    673   
similarity index 53%
 1228    674   
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
 1229    675   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1230    676   
index f7e615e..dcaaa1b 100644
 1231         -
-- 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
         677  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1232    678   
@@ -1,4 +1,4 @@
 1233    679   
AWS4-HMAC-SHA256
 1234    680   
20150830T123600Z
 1235    681   
20150830/us-east-1/service/aws4_request
 1236         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         682  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1237    683   
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
 1238    684   
similarity index 100%
 1239    685   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1240    686   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1241    687   
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
 1242    688   
similarity index 99%
 1243    689   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1244    690   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1245    691   
index 45771c7..0468d80 100644
 1246         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
         692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1247    693   
@@ -1,12 +1,12 @@
 1248    694   
{
 1249    695   
    "credentials": {
 1250    696   
        "access_key_id": "AKIDEXAMPLE",
 1251    697   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1252    698   
    },
 1253    699   
    "expiration_in_seconds": 3600,
 1254    700   
    "normalize": true,
 1255    701   
    "region": "us-east-1",
 1256    702   
    "service": "service",
 1257    703   
    "sign_body": false,
 1258    704   
    "timestamp": "2015-08-30T12:36:00Z"
 1259         -
}
         705  +
}
              \
 No newline at end of file
 1260    706   
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
 1261    707   
similarity index 100%
 1262    708   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1263    709   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1264    710   
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
 1265    711   
new file mode 100644
 1266    712   
index 0000000..36081a9
 1267         -
-- /dev/null
         713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1268    714   
@@ -0,0 +1 @@
         715  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1269    716   
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
 1270    717   
new file mode 100644
 1271    718   
index 0000000..6331d16
 1272         -
-- /dev/null
         719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1273    720   
@@ -0,0 +1,7 @@
         721  +
GET / HTTP/1.1
         722  +
Host:example.amazonaws.com
         723  +
My-Header1: value1
         724  +
My-Header2: "a   b   c"
         725  +
X-Amz-Date:20150830T123600Z
         726  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         727  +
 1274    728   
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
 1275    729   
similarity index 100%
 1276    730   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1277    731   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1278    732   
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
 1279    733   
new file mode 100644
 1280    734   
index 0000000..125c1f9
 1281         -
-- /dev/null
         735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1282    736   
@@ -0,0 +1,9 @@
         737  +
GET
         738  +
/
         739  +
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
         740  +
host:example.amazonaws.com
         741  +
my-header1:value1
         742  +
my-header2:"a b c"
         743  +
         744  +
host;my-header1;my-header2
         745  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1283    746   
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
 1284    747   
new file mode 100644
 1285    748   
index 0000000..17007a8
 1286         -
-- /dev/null
         749  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1287    750   
@@ -0,0 +1 @@
         751  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1288    752   
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
 1289    753   
new file mode 100644
 1290    754   
index 0000000..e519fd9
 1291         -
-- /dev/null
         755  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1292    756   
@@ -0,0 +1,5 @@
         757  +
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
         758  +
Host:example.amazonaws.com
         759  +
My-Header1: value1
         760  +
My-Header2: "a   b   c"
         761  +
 1293    762   
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
 1294    763   
new file mode 100644
 1295    764   
index 0000000..6b4b781
 1296         -
-- /dev/null
         765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1297    766   
@@ -0,0 +1,4 @@
         767  +
AWS4-HMAC-SHA256
         768  +
20150830T123600Z
         769  +
20150830/us-east-1/service/aws4_request
         770  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1298    771   
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
 1299    772   
similarity index 100%
 1300    773   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1301    774   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1302    775   
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
 1303    776   
new file mode 100644
 1304    777   
index 0000000..0468d80
 1305         -
-- /dev/null
         778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1306    779   
@@ -0,0 +1,12 @@
         780  +
{
         781  +
    "credentials": {
         782  +
        "access_key_id": "AKIDEXAMPLE",
         783  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         784  +
    },
         785  +
    "expiration_in_seconds": 3600,
         786  +
    "normalize": true,
         787  +
    "region": "us-east-1",
         788  +
    "service": "service",
         789  +
    "sign_body": false,
         790  +
    "timestamp": "2015-08-30T12:36:00Z"
         791  +
}
              \
 No newline at end of file
 1307    792   
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
 1308    793   
similarity index 100%
 1309    794   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1310    795   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1311    796   
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
 1312    797   
new file mode 100644
 1313    798   
index 0000000..87f295f
 1314         -
-- /dev/null
         799  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1315    800   
@@ -0,0 +1 @@
         801  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1316    802   
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
 1317    803   
new file mode 100644
 1318    804   
index 0000000..0de8327
 1319         -
-- /dev/null
         805  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1320    806   
@@ -0,0 +1,5 @@
         807  +
GET /example/.. HTTP/1.1
         808  +
Host:example.amazonaws.com
         809  +
X-Amz-Date:20150830T123600Z
         810  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         811  +
 1321    812   
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
 1322    813   
similarity index 100%
 1323    814   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1324    815   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1325    816   
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
 1326    817   
new file mode 100644
 1327    818   
index 0000000..fb2420d
 1328         -
-- /dev/null
         819  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1329    820   
@@ -0,0 +1,7 @@
         821  +
GET
         822  +
/
         823  +
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
         824  +
host:example.amazonaws.com
         825  +
         826  +
host
         827  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1330    828   
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
 1331    829   
new file mode 100644
 1332    830   
index 0000000..da5c905
 1333         -
-- /dev/null
         831  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1334    832   
@@ -0,0 +1 @@
         833  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1335    834   
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
 1336    835   
new file mode 100644
 1337    836   
index 0000000..4329c98
 1338         -
-- /dev/null
         837  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1339    838   
@@ -0,0 +1,3 @@
         839  +
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
         840  +
Host:example.amazonaws.com
         841  +
 1340    842   
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
 1341    843   
new file mode 100644
 1342    844   
index 0000000..d837e67
 1343         -
-- /dev/null
         845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1344    846   
@@ -0,0 +1,4 @@
         847  +
AWS4-HMAC-SHA256
         848  +
20150830T123600Z
         849  +
20150830/us-east-1/service/aws4_request
         850  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1345    851   
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
 1346    852   
similarity index 100%
 1347    853   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1348    854   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1349    855   
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
 1350    856   
new file mode 100644
 1351    857   
index 0000000..0468d80
 1352         -
-- /dev/null
         858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1353    859   
@@ -0,0 +1,12 @@
         860  +
{
         861  +
    "credentials": {
         862  +
        "access_key_id": "AKIDEXAMPLE",
         863  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         864  +
    },
         865  +
    "expiration_in_seconds": 3600,
         866  +
    "normalize": true,
         867  +
    "region": "us-east-1",
         868  +
    "service": "service",
         869  +
    "sign_body": false,
         870  +
    "timestamp": "2015-08-30T12:36:00Z"
         871  +
}
              \
 No newline at end of file
 1354    872   
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
 1355    873   
similarity index 100%
 1356    874   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1357    875   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1358    876   
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
 1359    877   
new file mode 100644
 1360    878   
index 0000000..87f295f
 1361         -
-- /dev/null
         879  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1362    880   
@@ -0,0 +1 @@
         881  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1363    882   
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
 1364    883   
new file mode 100644
 1365    884   
index 0000000..f9b3815
 1366         -
-- /dev/null
         885  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1367    886   
@@ -0,0 +1,5 @@
         887  +
GET /example1/example2/../.. HTTP/1.1
         888  +
Host:example.amazonaws.com
         889  +
X-Amz-Date:20150830T123600Z
         890  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         891  +
 1368    892   
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
 1369    893   
similarity index 100%
 1370    894   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1371    895   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1372    896   
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
 1373    897   
new file mode 100644
 1374    898   
index 0000000..fb2420d
 1375         -
-- /dev/null
         899  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1376    900   
@@ -0,0 +1,7 @@
         901  +
GET
         902  +
/
         903  +
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
         904  +
host:example.amazonaws.com
         905  +
         906  +
host
         907  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1377    908   
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
 1378    909   
new file mode 100644
 1379    910   
index 0000000..da5c905
 1380         -
-- /dev/null
         911  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1381    912   
@@ -0,0 +1 @@
         913  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1382    914   
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
 1383    915   
new file mode 100644
 1384    916   
index 0000000..b2988b7
 1385         -
-- /dev/null
         917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1386    918   
@@ -0,0 +1,3 @@
         919  +
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
         920  +
Host:example.amazonaws.com
         921  +
 1387    922   
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
 1388    923   
new file mode 100644
 1389    924   
index 0000000..d837e67
 1390         -
-- /dev/null
         925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1391    926   
@@ -0,0 +1,4 @@
         927  +
AWS4-HMAC-SHA256
         928  +
20150830T123600Z
         929  +
20150830/us-east-1/service/aws4_request
         930  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1392    931   
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
 1393    932   
similarity index 100%
 1394    933   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1395    934   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1396    935   
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
 1397    936   
similarity index 99%
 1398    937   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1399    938   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1400    939   
index afe367b..7bee5c7 100644
 1401         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
         940  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1402    941   
@@ -1,12 +1,12 @@
 1403    942   
{
 1404    943   
    "credentials": {
 1405    944   
        "access_key_id": "AKIDEXAMPLE",
 1406    945   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1407    946   
    },
 1408    947   
    "expiration_in_seconds": 3600,
 1409    948   
    "normalize": false,
 1410    949   
    "region": "us-east-1",
 1411    950   
    "service": "service",
 1412    951   
    "sign_body": false,
 1413    952   
    "timestamp": "2015-08-30T12:36:00Z"
 1414         -
}
         953  +
}
              \
 No newline at end of file
 1415    954   
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
 1416    955   
similarity index 82%
 1417    956   
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
 1418    957   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1419    958   
index 36c3cdf..6919c44 100644
 1420         -
-- 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
         959  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1421    960   
@@ -1,8 +1,8 @@
 1422    961   
GET
 1423         -
/
 1424         -
Param1=Value1&Param1=value2
         962  +
/example1/example2/../..
         963  +
 1425    964   
host:example.amazonaws.com
 1426    965   
x-amz-date:20150830T123600Z
 1427    966   
 1428    967   
host;x-amz-date
 1429    968   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1430    969   
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
 1431    970   
new file mode 100644
 1432    971   
index 0000000..4092d83
 1433         -
-- /dev/null
         972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1434    973   
@@ -0,0 +1 @@
         974  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1435    975   
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
 1436    976   
new file mode 100644
 1437    977   
index 0000000..e731b35
 1438         -
-- /dev/null
         978  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1439    979   
@@ -0,0 +1,5 @@
         980  +
GET /example1/example2/../.. HTTP/1.1
         981  +
Host:example.amazonaws.com
         982  +
X-Amz-Date:20150830T123600Z
         983  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         984  +
 1440    985   
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
 1441    986   
new file mode 100644
 1442    987   
index 0000000..4f45752
 1443         -
-- /dev/null
         988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1444    989   
@@ -0,0 +1,4 @@
         990  +
AWS4-HMAC-SHA256
         991  +
20150830T123600Z
         992  +
20150830/us-east-1/service/aws4_request
         993  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1445    994   
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
 1446    995   
new file mode 100644
 1447    996   
index 0000000..e1fb07d
 1448         -
-- /dev/null
         997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1449    998   
@@ -0,0 +1,7 @@
         999  +
GET
        1000  +
/example1/example2/../..
        1001  +
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
        1002  +
host:example.amazonaws.com
        1003  +
        1004  +
host
        1005  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1450   1006   
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
 1451   1007   
new file mode 100644
 1452   1008   
index 0000000..8ac31d7
 1453         -
-- /dev/null
        1009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1454   1010   
@@ -0,0 +1 @@
        1011  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1455   1012   
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
 1456   1013   
new file mode 100644
 1457   1014   
index 0000000..ac074f9
 1458         -
-- /dev/null
        1015  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1459   1016   
@@ -0,0 +1,3 @@
        1017  +
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
        1018  +
Host:example.amazonaws.com
        1019  +
 1460   1020   
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
 1461   1021   
new file mode 100644
 1462   1022   
index 0000000..8dcb6ff
 1463         -
-- /dev/null
        1023  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1464   1024   
@@ -0,0 +1,4 @@
        1025  +
AWS4-HMAC-SHA256
        1026  +
20150830T123600Z
        1027  +
20150830/us-east-1/service/aws4_request
        1028  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1465   1029   
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
 1466   1030   
similarity index 100%
 1467   1031   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1468   1032   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1469   1033   
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
 1470   1034   
similarity index 99%
 1471   1035   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1472   1036   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1473   1037   
index afe367b..7bee5c7 100644
 1474         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
        1038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1475   1039   
@@ -1,12 +1,12 @@
 1476   1040   
{
 1477   1041   
    "credentials": {
 1478   1042   
        "access_key_id": "AKIDEXAMPLE",
 1479   1043   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1480   1044   
    },
 1481   1045   
    "expiration_in_seconds": 3600,
 1482   1046   
    "normalize": false,
 1483   1047   
    "region": "us-east-1",
 1484   1048   
    "service": "service",
 1485   1049   
    "sign_body": false,
 1486   1050   
    "timestamp": "2015-08-30T12:36:00Z"
 1487         -
}
        1051  +
}
              \
 No newline at end of file
 1488   1052   
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
 1489   1053   
similarity index 82%
 1490   1054   
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
 1491   1055   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1492   1056   
index 26898eb..f640bc2 100644
 1493         -
-- 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
        1057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1494   1058   
@@ -1,8 +1,8 @@
 1495   1059   
GET
 1496         -
/
 1497         -
Param1=value1&Param1=value2
        1060  +
/example/..
        1061  +
 1498   1062   
host:example.amazonaws.com
 1499   1063   
x-amz-date:20150830T123600Z
 1500   1064   
 1501   1065   
host;x-amz-date
 1502   1066   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1503   1067   
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
 1504   1068   
new file mode 100644
 1505   1069   
index 0000000..d957303
 1506         -
-- /dev/null
        1070  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1507   1071   
@@ -0,0 +1 @@
        1072  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1508   1073   
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
 1509   1074   
new file mode 100644
 1510   1075   
index 0000000..4f42ffc
 1511         -
-- /dev/null
        1076  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1512   1077   
@@ -0,0 +1,5 @@
        1078  +
GET /example/.. HTTP/1.1
        1079  +
Host:example.amazonaws.com
        1080  +
X-Amz-Date:20150830T123600Z
        1081  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
        1082  +
 1513   1083   
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
 1514   1084   
new file mode 100644
 1515   1085   
index 0000000..ca54bda
 1516         -
-- /dev/null
        1086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1517   1087   
@@ -0,0 +1,4 @@
        1088  +
AWS4-HMAC-SHA256
        1089  +
20150830T123600Z
        1090  +
20150830/us-east-1/service/aws4_request
        1091  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1518   1092   
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
 1519   1093   
new file mode 100644
 1520   1094   
index 0000000..dc80036
 1521         -
-- /dev/null
        1095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1522   1096   
@@ -0,0 +1,7 @@
        1097  +
GET
        1098  +
/example/..
        1099  +
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
        1100  +
host:example.amazonaws.com
        1101  +
        1102  +
host
        1103  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1523   1104   
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
 1524   1105   
new file mode 100644
 1525   1106   
index 0000000..dfa0437
 1526         -
-- /dev/null
        1107  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1527   1108   
@@ -0,0 +1 @@
        1109  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1528   1110   
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
 1529   1111   
new file mode 100644
 1530   1112   
index 0000000..98367b1
 1531         -
-- /dev/null
        1113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1532   1114   
@@ -0,0 +1,3 @@
        1115  +
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
        1116  +
Host:example.amazonaws.com
        1117  +
 1533   1118   
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
 1534   1119   
new file mode 100644
 1535   1120   
index 0000000..f65dd66
 1536         -
-- /dev/null
        1121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1537   1122   
@@ -0,0 +1,4 @@
        1123  +
AWS4-HMAC-SHA256
        1124  +
20150830T123600Z
        1125  +
20150830/us-east-1/service/aws4_request
        1126  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1538   1127   
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
 1539   1128   
similarity index 100%
 1540   1129   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1541   1130   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1542   1131   
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
 1543   1132   
new file mode 100644
 1544   1133   
index 0000000..0468d80
 1545         -
-- /dev/null
        1134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1546   1135   
@@ -0,0 +1,12 @@
        1136  +
{
        1137  +
    "credentials": {
        1138  +
        "access_key_id": "AKIDEXAMPLE",
        1139  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1140  +
    },
        1141  +
    "expiration_in_seconds": 3600,
        1142  +
    "normalize": true,
        1143  +
    "region": "us-east-1",
        1144  +
    "service": "service",
        1145  +
    "sign_body": false,
        1146  +
    "timestamp": "2015-08-30T12:36:00Z"
        1147  +
}
              \
 No newline at end of file
 1547   1148   
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
 1548   1149   
similarity index 100%
 1549   1150   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1550   1151   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1551   1152   
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
 1552   1153   
new file mode 100644
 1553   1154   
index 0000000..87f295f
 1554         -
-- /dev/null
        1155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1555   1156   
@@ -0,0 +1 @@
        1157  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1556   1158   
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
 1557   1159   
new file mode 100644
 1558   1160   
index 0000000..99c8eeb
 1559         -
-- /dev/null
        1161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1560   1162   
@@ -0,0 +1,5 @@
        1163  +
GET /./ HTTP/1.1
        1164  +
Host:example.amazonaws.com
        1165  +
X-Amz-Date:20150830T123600Z
        1166  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1167  +
 1561   1168   
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
 1562   1169   
similarity index 100%
 1563   1170   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1564   1171   
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
 1565   1172   
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
 1566   1173   
new file mode 100644
 1567   1174   
index 0000000..fb2420d
 1568         -
-- /dev/null
        1175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1569   1176   
@@ -0,0 +1,7 @@
        1177  +
GET
        1178  +
/
        1179  +
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
        1180  +
host:example.amazonaws.com
        1181  +
        1182  +
host
        1183  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1570   1184   
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
 1571   1185   
new file mode 100644
 1572   1186   
index 0000000..da5c905
 1573         -
-- /dev/null
        1187  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1574   1188   
@@ -0,0 +1 @@
        1189  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1575   1190   
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
 1576   1191   
new file mode 100644
 1577   1192   
index 0000000..2e47f69
 1578         -
-- /dev/null
        1193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1579   1194   
@@ -0,0 +1,3 @@
        1195  +
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
        1196  +
Host:example.amazonaws.com
        1197  +
 1580   1198   
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
 1581   1199   
new file mode 100644
 1582   1200   
index 0000000..d837e67
 1583         -
-- /dev/null
        1201  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1584   1202   
@@ -0,0 +1,4 @@
        1203  +
AWS4-HMAC-SHA256
        1204  +
20150830T123600Z
        1205  +
20150830/us-east-1/service/aws4_request
        1206  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1585   1207   
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
 1586   1208   
similarity index 100%
 1587   1209   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1588   1210   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1589   1211   
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
 1590   1212   
similarity index 99%
 1591   1213   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1592   1214   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1593   1215   
index afe367b..7bee5c7 100644
 1594         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
        1216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1595   1217   
@@ -1,12 +1,12 @@
 1596   1218   
{
 1597   1219   
    "credentials": {
 1598   1220   
        "access_key_id": "AKIDEXAMPLE",
 1599   1221   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1600   1222   
    },
 1601   1223   
    "expiration_in_seconds": 3600,
 1602   1224   
    "normalize": false,
 1603   1225   
    "region": "us-east-1",
 1604   1226   
    "service": "service",
 1605   1227   
    "sign_body": false,
 1606   1228   
    "timestamp": "2015-08-30T12:36:00Z"
 1607         -
}
        1229  +
}
              \
 No newline at end of file
 1608   1230   
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
 1609   1231   
new file mode 100644
 1610   1232   
index 0000000..5159048
 1611         -
-- /dev/null
        1233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1612   1234   
@@ -0,0 +1,8 @@
        1235  +
GET
        1236  +
/./
        1237  +
        1238  +
host:example.amazonaws.com
        1239  +
x-amz-date:20150830T123600Z
        1240  +
        1241  +
host;x-amz-date
        1242  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1613   1243   
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
 1614   1244   
new file mode 100644
 1615   1245   
index 0000000..b49ff0e
 1616         -
-- /dev/null
        1246  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1617   1247   
@@ -0,0 +1 @@
        1248  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1618   1249   
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
 1619   1250   
new file mode 100644
 1620   1251   
index 0000000..aeb1ffa
 1621         -
-- /dev/null
        1252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1622   1253   
@@ -0,0 +1,5 @@
        1254  +
GET /./ HTTP/1.1
        1255  +
Host:example.amazonaws.com
        1256  +
X-Amz-Date:20150830T123600Z
        1257  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1258  +
 1623   1259   
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
 1624   1260   
new file mode 100644
 1625   1261   
index 0000000..b7d8caf
 1626         -
-- /dev/null
        1262  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1627   1263   
@@ -0,0 +1,4 @@
        1264  +
AWS4-HMAC-SHA256
        1265  +
20150830T123600Z
        1266  +
20150830/us-east-1/service/aws4_request
        1267  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1628   1268   
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
 1629   1269   
new file mode 100644
 1630   1270   
index 0000000..d4e029e
 1631         -
-- /dev/null
        1271  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1632   1272   
@@ -0,0 +1,7 @@
        1273  +
GET
        1274  +
/./
        1275  +
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
        1276  +
host:example.amazonaws.com
        1277  +
        1278  +
host
        1279  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1633   1280   
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
 1634   1281   
new file mode 100644
 1635   1282   
index 0000000..fe8f4cc
 1636         -
-- /dev/null
        1283  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1637   1284   
@@ -0,0 +1 @@
        1285  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1638   1286   
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
 1639   1287   
new file mode 100644
 1640   1288   
index 0000000..dcc4fc4
 1641         -
-- /dev/null
        1289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1642   1290   
@@ -0,0 +1,3 @@
        1291  +
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
        1292  +
Host:example.amazonaws.com
        1293  +
 1643   1294   
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
 1644   1295   
new file mode 100644
 1645   1296   
index 0000000..5fb3ada
 1646         -
-- /dev/null
        1297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1647   1298   
@@ -0,0 +1,4 @@
        1299  +
AWS4-HMAC-SHA256
        1300  +
20150830T123600Z
        1301  +
20150830/us-east-1/service/aws4_request
        1302  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1648   1303   
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
 1649   1304   
similarity index 100%
 1650   1305   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1651   1306   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1652   1307   
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
 1653   1308   
new file mode 100644
 1654   1309   
index 0000000..0468d80
 1655         -
-- /dev/null
        1310  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1656   1311   
@@ -0,0 +1,12 @@
        1312  +
{
        1313  +
    "credentials": {
        1314  +
        "access_key_id": "AKIDEXAMPLE",
        1315  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1316  +
    },
        1317  +
    "expiration_in_seconds": 3600,
        1318  +
    "normalize": true,
        1319  +
    "region": "us-east-1",
        1320  +
    "service": "service",
        1321  +
    "sign_body": false,
        1322  +
    "timestamp": "2015-08-30T12:36:00Z"
        1323  +
}
              \
 No newline at end of file
 1657   1324   
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
 1658   1325   
similarity index 100%
 1659   1326   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1660   1327   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1661   1328   
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
 1662   1329   
new file mode 100644
 1663   1330   
index 0000000..87f295f
 1664         -
-- /dev/null
        1331  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1665   1332   
@@ -0,0 +1 @@
        1333  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1666   1334   
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
 1667   1335   
new file mode 100644
 1668   1336   
index 0000000..b91087b
 1669         -
-- /dev/null
        1337  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1670   1338   
@@ -0,0 +1,5 @@
        1339  +
GET // HTTP/1.1
        1340  +
Host:example.amazonaws.com
        1341  +
X-Amz-Date:20150830T123600Z
        1342  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1343  +
 1671   1344   
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
 1672   1345   
similarity index 100%
 1673   1346   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1674   1347   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1675   1348   
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
 1676   1349   
new file mode 100644
 1677   1350   
index 0000000..fb2420d
 1678         -
-- /dev/null
        1351  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1679   1352   
@@ -0,0 +1,7 @@
        1353  +
GET
        1354  +
/
        1355  +
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
        1356  +
host:example.amazonaws.com
        1357  +
        1358  +
host
        1359  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1680   1360   
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
 1681   1361   
new file mode 100644
 1682   1362   
index 0000000..da5c905
 1683         -
-- /dev/null
        1363  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1684   1364   
@@ -0,0 +1 @@
        1365  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1685   1366   
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
 1686   1367   
new file mode 100644
 1687   1368   
index 0000000..0290ba4
 1688         -
-- /dev/null
        1369  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1689   1370   
@@ -0,0 +1,3 @@
        1371  +
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
        1372  +
Host:example.amazonaws.com
        1373  +
 1690   1374   
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
 1691   1375   
new file mode 100644
 1692   1376   
index 0000000..d837e67
 1693         -
-- /dev/null
        1377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1694   1378   
@@ -0,0 +1,4 @@
        1379  +
AWS4-HMAC-SHA256
        1380  +
20150830T123600Z
        1381  +
20150830/us-east-1/service/aws4_request
        1382  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1695   1383   
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
 1696   1384   
similarity index 100%
 1697   1385   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1698   1386   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1699   1387   
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
 1700   1388   
new file mode 100644
 1701   1389   
index 0000000..0468d80
 1702         -
-- /dev/null
        1390  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1703   1391   
@@ -0,0 +1,12 @@
        1392  +
{
        1393  +
    "credentials": {
        1394  +
        "access_key_id": "AKIDEXAMPLE",
        1395  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1396  +
    },
        1397  +
    "expiration_in_seconds": 3600,
        1398  +
    "normalize": true,
        1399  +
    "region": "us-east-1",
        1400  +
    "service": "service",
        1401  +
    "sign_body": false,
        1402  +
    "timestamp": "2015-08-30T12:36:00Z"
        1403  +
}
              \
 No newline at end of file
 1704   1404   
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
 1705   1405   
similarity index 100%
 1706   1406   
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
 1707   1407   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1708   1408   
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
 1709   1409   
new file mode 100644
 1710   1410   
index 0000000..8f892bf
 1711         -
-- /dev/null
        1411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1712   1412   
@@ -0,0 +1 @@
        1413  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1713   1414   
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
 1714   1415   
new file mode 100644
 1715   1416   
index 0000000..2a1895c
 1716         -
-- /dev/null
        1417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1717   1418   
@@ -0,0 +1,5 @@
        1419  +
GET /./example HTTP/1.1
        1420  +
Host:example.amazonaws.com
        1421  +
X-Amz-Date:20150830T123600Z
        1422  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1423  +
 1718   1424   
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
 1719   1425   
similarity index 100%
 1720   1426   
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
 1721   1427   
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
 1722   1428   
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
 1723   1429   
new file mode 100644
 1724   1430   
index 0000000..99dfc2a
 1725         -
-- /dev/null
        1431  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1726   1432   
@@ -0,0 +1,7 @@
        1433  +
GET
        1434  +
/example
        1435  +
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
        1436  +
host:example.amazonaws.com
        1437  +
        1438  +
host
        1439  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1727   1440   
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
 1728   1441   
new file mode 100644
 1729   1442   
index 0000000..fcd7a17
 1730         -
-- /dev/null
        1443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1731   1444   
@@ -0,0 +1 @@
        1445  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1732   1446   
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
 1733   1447   
new file mode 100644
 1734   1448   
index 0000000..f671de2
 1735         -
-- /dev/null
        1449  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1736   1450   
@@ -0,0 +1,3 @@
        1451  +
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
        1452  +
Host:example.amazonaws.com
        1453  +
 1737   1454   
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
 1738   1455   
new file mode 100644
 1739   1456   
index 0000000..f8456dc
 1740         -
-- /dev/null
        1457  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1741   1458   
@@ -0,0 +1,4 @@
        1459  +
AWS4-HMAC-SHA256
        1460  +
20150830T123600Z
        1461  +
20150830/us-east-1/service/aws4_request
        1462  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1742   1463   
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
 1743   1464   
similarity index 100%
 1744   1465   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1745   1466   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1746   1467   
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
 1747   1468   
similarity index 99%
 1748   1469   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1749   1470   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1750   1471   
index afe367b..7bee5c7 100644
 1751         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
        1472  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1752   1473   
@@ -1,12 +1,12 @@
 1753   1474   
{
 1754   1475   
    "credentials": {
 1755   1476   
        "access_key_id": "AKIDEXAMPLE",
 1756   1477   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1757   1478   
    },
 1758   1479   
    "expiration_in_seconds": 3600,
 1759   1480   
    "normalize": false,
 1760   1481   
    "region": "us-east-1",
 1761   1482   
    "service": "service",
 1762   1483   
    "sign_body": false,
 1763   1484   
    "timestamp": "2015-08-30T12:36:00Z"
 1764         -
}
        1485  +
}
              \
 No newline at end of file
 1765   1486   
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
 1766   1487   
new file mode 100644
 1767   1488   
index 0000000..36698c7
 1768         -
-- /dev/null
        1489  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1769   1490   
@@ -0,0 +1,8 @@
        1491  +
GET
        1492  +
/./example
        1493  +
        1494  +
host:example.amazonaws.com
        1495  +
x-amz-date:20150830T123600Z
        1496  +
        1497  +
host;x-amz-date
        1498  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1770   1499   
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
 1771   1500   
new file mode 100644
 1772   1501   
index 0000000..4a4b8f2
 1773         -
-- /dev/null
        1502  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1774   1503   
@@ -0,0 +1 @@
        1504  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1775   1505   
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
 1776   1506   
new file mode 100644
 1777   1507   
index 0000000..d462bcd
 1778         -
-- /dev/null
        1508  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1779   1509   
@@ -0,0 +1,5 @@
        1510  +
GET /./example HTTP/1.1
        1511  +
Host:example.amazonaws.com
        1512  +
X-Amz-Date:20150830T123600Z
        1513  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1514  +
 1780   1515   
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
 1781   1516   
new file mode 100644
 1782   1517   
index 0000000..8be78c9
 1783         -
-- /dev/null
        1518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1784   1519   
@@ -0,0 +1,4 @@
        1520  +
AWS4-HMAC-SHA256
        1521  +
20150830T123600Z
        1522  +
20150830/us-east-1/service/aws4_request
        1523  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1785   1524   
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
 1786   1525   
new file mode 100644
 1787   1526   
index 0000000..fe1103c
 1788         -
-- /dev/null
        1527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1789   1528   
@@ -0,0 +1,7 @@
        1529  +
GET
        1530  +
/./example
        1531  +
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
        1532  +
host:example.amazonaws.com
        1533  +
        1534  +
host
        1535  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1790   1536   
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
 1791   1537   
new file mode 100644
 1792   1538   
index 0000000..ce80762
 1793         -
-- /dev/null
        1539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1794   1540   
@@ -0,0 +1 @@
        1541  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1795   1542   
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
 1796   1543   
new file mode 100644
 1797   1544   
index 0000000..30841a6
 1798         -
-- /dev/null
        1545  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1799   1546   
@@ -0,0 +1,3 @@
        1547  +
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
        1548  +
Host:example.amazonaws.com
        1549  +
 1800   1550   
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
 1801   1551   
new file mode 100644
 1802   1552   
index 0000000..5c66509
 1803         -
-- /dev/null
        1553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1804   1554   
@@ -0,0 +1,4 @@
        1555  +
AWS4-HMAC-SHA256
        1556  +
20150830T123600Z
        1557  +
20150830/us-east-1/service/aws4_request
        1558  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1805   1559   
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
 1806   1560   
similarity index 100%
 1807   1561   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1808   1562   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1809   1563   
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
 1810   1564   
new file mode 100644
 1811   1565   
index 0000000..7bee5c7
 1812         -
-- /dev/null
        1566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1813   1567   
@@ -0,0 +1,12 @@
        1568  +
{
        1569  +
    "credentials": {
        1570  +
        "access_key_id": "AKIDEXAMPLE",
        1571  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1572  +
    },
        1573  +
    "expiration_in_seconds": 3600,
        1574  +
    "normalize": false,
        1575  +
    "region": "us-east-1",
        1576  +
    "service": "service",
        1577  +
    "sign_body": false,
        1578  +
    "timestamp": "2015-08-30T12:36:00Z"
        1579  +
}
              \
 No newline at end of file
 1814   1580   
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
 1815   1581   
new file mode 100644
 1816   1582   
index 0000000..5860c8a
 1817         -
-- /dev/null
        1583  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1818   1584   
@@ -0,0 +1,8 @@
        1585  +
GET
        1586  +
//
        1587  +
        1588  +
host:example.amazonaws.com
        1589  +
x-amz-date:20150830T123600Z
        1590  +
        1591  +
host;x-amz-date
        1592  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1819   1593   
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
 1820   1594   
new file mode 100644
 1821   1595   
index 0000000..8310471
 1822         -
-- /dev/null
        1596  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1823   1597   
@@ -0,0 +1 @@
        1598  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1824   1599   
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
 1825   1600   
new file mode 100644
 1826   1601   
index 0000000..2a7afef
 1827         -
-- /dev/null
        1602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1828   1603   
@@ -0,0 +1,5 @@
        1604  +
GET // HTTP/1.1
        1605  +
Host:example.amazonaws.com
        1606  +
X-Amz-Date:20150830T123600Z
        1607  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1608  +
 1829   1609   
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
 1830   1610   
new file mode 100644
 1831   1611   
index 0000000..06059dd
 1832         -
-- /dev/null
        1612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1833   1613   
@@ -0,0 +1,4 @@
        1614  +
AWS4-HMAC-SHA256
        1615  +
20150830T123600Z
        1616  +
20150830/us-east-1/service/aws4_request
        1617  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1834   1618   
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
 1835   1619   
new file mode 100644
 1836   1620   
index 0000000..6d63aef
 1837         -
-- /dev/null
        1621  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1838   1622   
@@ -0,0 +1,7 @@
        1623  +
GET
        1624  +
//
        1625  +
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
        1626  +
host:example.amazonaws.com
        1627  +
        1628  +
host
        1629  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1839   1630   
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
 1840   1631   
new file mode 100644
 1841   1632   
index 0000000..e5b7b6c
 1842         -
-- /dev/null
        1633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1843   1634   
@@ -0,0 +1 @@
        1635  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1844   1636   
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
 1845   1637   
new file mode 100644
 1846   1638   
index 0000000..46fe3fd
 1847         -
-- /dev/null
        1639  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1848   1640   
@@ -0,0 +1,3 @@
        1641  +
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
        1642  +
Host:example.amazonaws.com
        1643  +
 1849   1644   
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
 1850   1645   
new file mode 100644
 1851   1646   
index 0000000..ea79940
 1852         -
-- /dev/null
        1647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1853   1648   
@@ -0,0 +1,4 @@
        1649  +
AWS4-HMAC-SHA256
        1650  +
20150830T123600Z
        1651  +
20150830/us-east-1/service/aws4_request
        1652  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1854   1653   
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
 1855   1654   
similarity index 100%
 1856   1655   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1857   1656   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1858   1657   
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
 1859   1658   
new file mode 100644
 1860   1659   
index 0000000..0468d80
 1861         -
-- /dev/null
        1660  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1862   1661   
@@ -0,0 +1,12 @@
        1662  +
{
        1663  +
    "credentials": {
        1664  +
        "access_key_id": "AKIDEXAMPLE",
        1665  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1666  +
    },
        1667  +
    "expiration_in_seconds": 3600,
        1668  +
    "normalize": true,
        1669  +
    "region": "us-east-1",
        1670  +
    "service": "service",
        1671  +
    "sign_body": false,
        1672  +
    "timestamp": "2015-08-30T12:36:00Z"
        1673  +
}
              \
 No newline at end of file
 1863   1674   
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
 1864   1675   
similarity index 100%
 1865   1676   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1866   1677   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1867   1678   
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
 1868   1679   
new file mode 100644
 1869   1680   
index 0000000..71c7bac
 1870         -
-- /dev/null
        1681  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1871   1682   
@@ -0,0 +1 @@
        1683  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1872   1684   
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
 1873   1685   
new file mode 100644
 1874   1686   
index 0000000..0add1f1
 1875         -
-- /dev/null
        1687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1876   1688   
@@ -0,0 +1,5 @@
        1689  +
GET //example// HTTP/1.1
        1690  +
Host:example.amazonaws.com
        1691  +
X-Amz-Date:20150830T123600Z
        1692  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1693  +
 1877   1694   
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
 1878   1695   
similarity index 100%
 1879   1696   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1880   1697   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1881   1698   
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
 1882   1699   
new file mode 100644
 1883   1700   
index 0000000..ce72510
 1884         -
-- /dev/null
        1701  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1885   1702   
@@ -0,0 +1,7 @@
        1703  +
GET
        1704  +
/example/
        1705  +
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
        1706  +
host:example.amazonaws.com
        1707  +
        1708  +
host
        1709  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1886   1710   
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
 1887   1711   
new file mode 100644
 1888   1712   
index 0000000..265f387
 1889         -
-- /dev/null
        1713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1890   1714   
@@ -0,0 +1 @@
        1715  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1891   1716   
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
 1892   1717   
new file mode 100644
 1893   1718   
index 0000000..e1fcb2e
 1894         -
-- /dev/null
        1719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1895   1720   
@@ -0,0 +1,3 @@
        1721  +
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
        1722  +
Host:example.amazonaws.com
        1723  +
 1896   1724   
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
 1897   1725   
new file mode 100644
 1898   1726   
index 0000000..a14de61
 1899         -
-- /dev/null
        1727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1900   1728   
@@ -0,0 +1,4 @@
        1729  +
AWS4-HMAC-SHA256
        1730  +
20150830T123600Z
        1731  +
20150830/us-east-1/service/aws4_request
        1732  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1901   1733   
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
 1902   1734   
similarity index 100%
 1903   1735   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1904   1736   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1905   1737   
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
 1906   1738   
new file mode 100644
 1907   1739   
index 0000000..7bee5c7
 1908         -
-- /dev/null
        1740  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1909   1741   
@@ -0,0 +1,12 @@
        1742  +
{
        1743  +
    "credentials": {
        1744  +
        "access_key_id": "AKIDEXAMPLE",
        1745  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1746  +
    },
        1747  +
    "expiration_in_seconds": 3600,
        1748  +
    "normalize": false,
        1749  +
    "region": "us-east-1",
        1750  +
    "service": "service",
        1751  +
    "sign_body": false,
        1752  +
    "timestamp": "2015-08-30T12:36:00Z"
        1753  +
}
              \
 No newline at end of file
 1910   1754   
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
 1911   1755   
new file mode 100644
 1912   1756   
index 0000000..dfffaaf
 1913         -
-- /dev/null
        1757  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1914   1758   
@@ -0,0 +1,8 @@
        1759  +
GET
        1760  +
//example//
        1761  +
        1762  +
host:example.amazonaws.com
        1763  +
x-amz-date:20150830T123600Z
        1764  +
        1765  +
host;x-amz-date
        1766  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1915   1767   
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
 1916   1768   
new file mode 100644
 1917   1769   
index 0000000..edbcc0d
 1918         -
-- /dev/null
        1770  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1919   1771   
@@ -0,0 +1 @@
        1772  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1920   1773   
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
 1921   1774   
new file mode 100644
 1922   1775   
index 0000000..4cc12dd
 1923         -
-- /dev/null
        1776  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1924   1777   
@@ -0,0 +1,5 @@
        1778  +
GET //example// HTTP/1.1
        1779  +
Host:example.amazonaws.com
        1780  +
X-Amz-Date:20150830T123600Z
        1781  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1782  +
 1925   1783   
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
 1926   1784   
new file mode 100644
 1927   1785   
index 0000000..3eba390
 1928         -
-- /dev/null
        1786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1929   1787   
@@ -0,0 +1,4 @@
        1788  +
AWS4-HMAC-SHA256
        1789  +
20150830T123600Z
        1790  +
20150830/us-east-1/service/aws4_request
        1791  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1930   1792   
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
 1931   1793   
new file mode 100644
 1932   1794   
index 0000000..f7844e3
 1933         -
-- /dev/null
        1795  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1934   1796   
@@ -0,0 +1,7 @@
        1797  +
GET
        1798  +
//example//
        1799  +
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
        1800  +
host:example.amazonaws.com
        1801  +
        1802  +
host
        1803  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1935   1804   
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
 1936   1805   
new file mode 100644
 1937   1806   
index 0000000..a8d6b96
 1938         -
-- /dev/null
        1807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1939   1808   
@@ -0,0 +1 @@
        1809  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1940   1810   
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
 1941   1811   
new file mode 100644
 1942   1812   
index 0000000..a8322c6
 1943         -
-- /dev/null
        1813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1944   1814   
@@ -0,0 +1,3 @@
        1815  +
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
        1816  +
Host:example.amazonaws.com
        1817  +
 1945   1818   
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
 1946   1819   
new file mode 100644
 1947   1820   
index 0000000..068724d
 1948         -
-- /dev/null
        1821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1949   1822   
@@ -0,0 +1,4 @@
        1823  +
AWS4-HMAC-SHA256
        1824  +
20150830T123600Z
        1825  +
20150830/us-east-1/service/aws4_request
        1826  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1950   1827   
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
 1951   1828   
similarity index 100%
 1952   1829   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1953   1830   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1954   1831   
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
 1955   1832   
new file mode 100644
 1956   1833   
index 0000000..0468d80
 1957         -
-- /dev/null
        1834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1958   1835   
@@ -0,0 +1,12 @@
        1836  +
{
        1837  +
    "credentials": {
        1838  +
        "access_key_id": "AKIDEXAMPLE",
        1839  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1840  +
    },
        1841  +
    "expiration_in_seconds": 3600,
        1842  +
    "normalize": true,
        1843  +
    "region": "us-east-1",
        1844  +
    "service": "service",
        1845  +
    "sign_body": false,
        1846  +
    "timestamp": "2015-08-30T12:36:00Z"
        1847  +
}
              \
 No newline at end of file
 1959   1848   
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
 1960   1849   
similarity index 100%
 1961   1850   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1962   1851   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1963   1852   
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
 1964   1853   
new file mode 100644
 1965   1854   
index 0000000..f63892b
 1966         -
-- /dev/null
        1855  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1967   1856   
@@ -0,0 +1 @@
        1857  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1968   1858   
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
 1969   1859   
new file mode 100644
 1970   1860   
index 0000000..19cd5cb
 1971         -
-- /dev/null
        1861  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1972   1862   
@@ -0,0 +1,5 @@
        1863  +
GET /example space/ HTTP/1.1
        1864  +
Host:example.amazonaws.com
        1865  +
X-Amz-Date:20150830T123600Z
        1866  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1867  +
 1973   1868   
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
 1974   1869   
similarity index 100%
 1975   1870   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1976   1871   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1977   1872   
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
 1978   1873   
new file mode 100644
 1979   1874   
index 0000000..fa3d3e2
 1980         -
-- /dev/null
        1875  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1981   1876   
@@ -0,0 +1,7 @@
        1877  +
GET
        1878  +
/example%20space/
        1879  +
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
        1880  +
host:example.amazonaws.com
        1881  +
        1882  +
host
        1883  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1982   1884   
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
 1983   1885   
new file mode 100644
 1984   1886   
index 0000000..5b2e204
 1985         -
-- /dev/null
        1887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 1986   1888   
@@ -0,0 +1 @@
        1889  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 1987   1890   
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
 1988   1891   
new file mode 100644
 1989   1892   
index 0000000..93ca1d0
 1990         -
-- /dev/null
        1893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 1991   1894   
@@ -0,0 +1,3 @@
        1895  +
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
        1896  +
Host:example.amazonaws.com
        1897  +
 1992   1898   
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
 1993   1899   
new file mode 100644
 1994   1900   
index 0000000..b4cb789
 1995         -
-- /dev/null
        1901  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 1996   1902   
@@ -0,0 +1,4 @@
        1903  +
AWS4-HMAC-SHA256
        1904  +
20150830T123600Z
        1905  +
20150830/us-east-1/service/aws4_request
        1906  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 1997   1907   
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
 1998   1908   
new file mode 100644
 1999   1909   
index 0000000..860a277
 2000         -
-- /dev/null
        1910  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 2001   1911   
@@ -0,0 +1,2 @@
        1912  +
GET /example%20space/ HTTP/1.1
        1913  +
Host:example.amazonaws.com
 2002   1914   
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
 2003   1915   
new file mode 100644
 2004   1916   
index 0000000..7bee5c7
 2005         -
-- /dev/null
        1917  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 2006   1918   
@@ -0,0 +1,12 @@
        1919  +
{
        1920  +
    "credentials": {
        1921  +
        "access_key_id": "AKIDEXAMPLE",
        1922  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1923  +
    },
        1924  +
    "expiration_in_seconds": 3600,
        1925  +
    "normalize": false,
        1926  +
    "region": "us-east-1",
        1927  +
    "service": "service",
        1928  +
    "sign_body": false,
        1929  +
    "timestamp": "2015-08-30T12:36:00Z"
        1930  +
}
              \
 No newline at end of file
 2007   1931   
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
 2008   1932   
similarity index 66%
 2009   1933   
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
 2010   1934   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 2011   1935   
index 71dc981..124a709 100644
 2012         -
-- 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
        1936  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 2013   1937   
@@ -1,9 +1,8 @@
 2014         -
POST
 2015         -
/
        1938  +
GET
        1939  +
/example%20space/
 2016   1940   
 2017         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 2018   1941   
host:example.amazonaws.com
 2019   1942   
x-amz-date:20150830T123600Z
 2020   1943   
 2021   1944   
host;x-amz-date
 2022   1945   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2023   1946   
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
 2024   1947   
new file mode 100644
 2025   1948   
index 0000000..f63892b
 2026         -
-- /dev/null
        1949  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 2027   1950   
@@ -0,0 +1 @@
        1951  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 2028   1952   
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
 2029   1953   
new file mode 100644
 2030   1954   
index 0000000..19cd5cb
 2031         -
-- /dev/null
        1955  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 2032   1956   
@@ -0,0 +1,5 @@
        1957  +
GET /example space/ HTTP/1.1
        1958  +
Host:example.amazonaws.com
        1959  +
X-Amz-Date:20150830T123600Z
        1960  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1961  +
 2033   1962   
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
 2034   1963   
new file mode 100644
 2035   1964   
index 0000000..a633f0c
 2036         -
-- /dev/null
        1965  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 2037   1966   
@@ -0,0 +1,4 @@
        1967  +
AWS4-HMAC-SHA256
        1968  +
20150830T123600Z
        1969  +
20150830/us-east-1/service/aws4_request
        1970  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 2038   1971   
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
 2039   1972   
new file mode 100644
 2040   1973   
index 0000000..fa3d3e2
 2041         -
-- /dev/null
        1974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 2042   1975   
@@ -0,0 +1,7 @@
        1976  +
GET
        1977  +
/example%20space/
        1978  +
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
        1979  +
host:example.amazonaws.com
        1980  +
        1981  +
host
        1982  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2043   1983   
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
 2044   1984   
new file mode 100644
 2045   1985   
index 0000000..5b2e204
 2046         -
-- /dev/null
        1986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 2047   1987   
@@ -0,0 +1 @@
        1988  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 2048   1989   
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
 2049   1990   
new file mode 100644
 2050   1991   
index 0000000..93ca1d0
 2051         -
-- /dev/null
        1992  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 2052   1993   
@@ -0,0 +1,3 @@
        1994  +
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
        1995  +
Host:example.amazonaws.com
        1996  +
 2053   1997   
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
 2054   1998   
new file mode 100644
 2055   1999   
index 0000000..b4cb789
 2056         -
-- /dev/null
        2000  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 2057   2001   
@@ -0,0 +1,4 @@
        2002  +
AWS4-HMAC-SHA256
        2003  +
20150830T123600Z
        2004  +
20150830/us-east-1/service/aws4_request
        2005  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 2058   2006   
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
 2059   2007   
similarity index 67%
 2060   2008   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 2061   2009   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2062   2010   
index b7d5e8b..ab509ab 100644
 2063         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        2011  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2064   2012   
@@ -1,3 +1,2 @@
 2065   2013   
GET /example space/ HTTP/1.1
 2066   2014   
Host:example.amazonaws.com
 2067         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2068   2015   
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
 2069   2016   
new file mode 100644
 2070   2017   
index 0000000..0468d80
 2071         -
-- /dev/null
        2018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 2072   2019   
@@ -0,0 +1,12 @@
        2020  +
{
        2021  +
    "credentials": {
        2022  +
        "access_key_id": "AKIDEXAMPLE",
        2023  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2024  +
    },
        2025  +
    "expiration_in_seconds": 3600,
        2026  +
    "normalize": true,
        2027  +
    "region": "us-east-1",
        2028  +
    "service": "service",
        2029  +
    "sign_body": false,
        2030  +
    "timestamp": "2015-08-30T12:36:00Z"
        2031  +
}
              \
 No newline at end of file
 2073   2032   
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
 2074   2033   
similarity index 100%
 2075   2034   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 2076   2035   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 2077   2036   
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
 2078   2037   
new file mode 100644
 2079   2038   
index 0000000..e503354
 2080         -
-- /dev/null
        2039  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 2081   2040   
@@ -0,0 +1 @@
        2041  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 2082   2042   
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
 2083   2043   
new file mode 100644
 2084   2044   
index 0000000..4367892
 2085         -
-- /dev/null
        2045  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 2086   2046   
@@ -0,0 +1,5 @@
        2047  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        2048  +
Host:example.amazonaws.com
        2049  +
X-Amz-Date:20150830T123600Z
        2050  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        2051  +
 2087   2052   
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
 2088   2053   
similarity index 100%
 2089   2054   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 2090   2055   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 2091   2056   
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
 2092   2057   
new file mode 100644
 2093   2058   
index 0000000..d7f0696
 2094         -
-- /dev/null
        2059  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 2095   2060   
@@ -0,0 +1,7 @@
        2061  +
GET
        2062  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        2063  +
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
        2064  +
host:example.amazonaws.com
        2065  +
        2066  +
host
        2067  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2096   2068   
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
 2097   2069   
new file mode 100644
 2098   2070   
index 0000000..509e972
 2099         -
-- /dev/null
        2071  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 2100   2072   
@@ -0,0 +1 @@
        2073  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 2101   2074   
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
 2102   2075   
new file mode 100644
 2103   2076   
index 0000000..79aad36
 2104         -
-- /dev/null
        2077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 2105   2078   
@@ -0,0 +1,3 @@
        2079  +
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
        2080  +
Host:example.amazonaws.com
        2081  +
 2106   2082   
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
 2107   2083   
new file mode 100644
 2108   2084   
index 0000000..e8068b3
 2109         -
-- /dev/null
        2085  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 2110   2086   
@@ -0,0 +1,4 @@
        2087  +
AWS4-HMAC-SHA256
        2088  +
20150830T123600Z
        2089  +
20150830/us-east-1/service/aws4_request
        2090  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 2111   2091   
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
 2112   2092   
similarity index 100%
 2113   2093   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 2114   2094   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 2115   2095   
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
 2116   2096   
new file mode 100644
 2117   2097   
index 0000000..0468d80
 2118         -
-- /dev/null
        2098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 2119   2099   
@@ -0,0 +1,12 @@
        2100  +
{
        2101  +
    "credentials": {
        2102  +
        "access_key_id": "AKIDEXAMPLE",
        2103  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2104  +
    },
        2105  +
    "expiration_in_seconds": 3600,
        2106  +
    "normalize": true,
        2107  +
    "region": "us-east-1",
        2108  +
    "service": "service",
        2109  +
    "sign_body": false,
        2110  +
    "timestamp": "2015-08-30T12:36:00Z"
        2111  +
}
              \
 No newline at end of file
 2120   2112   
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
 2121   2113   
similarity index 100%
 2122   2114   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 2123   2115   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 2124   2116   
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
 2125   2117   
new file mode 100644
 2126   2118   
index 0000000..9a13676
 2127         -
-- /dev/null
        2119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 2128   2120   
@@ -0,0 +1 @@
        2121  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 2129   2122   
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
 2130   2123   
new file mode 100644
 2131   2124   
index 0000000..5aaf47c
 2132         -
-- /dev/null
        2125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 2133   2126   
@@ -0,0 +1,5 @@
        2127  +
GET /ሴ HTTP/1.1
        2128  +
Host:example.amazonaws.com
        2129  +
X-Amz-Date:20150830T123600Z
        2130  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        2131  +
 2134   2132   
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
 2135   2133   
similarity index 100%
 2136   2134   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 2137   2135   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 2138   2136   
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
 2139   2137   
new file mode 100644
 2140   2138   
index 0000000..bdb77c9
 2141         -
-- /dev/null
        2139  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 2142   2140   
@@ -0,0 +1,7 @@
        2141  +
GET
        2142  +
/%E1%88%B4
        2143  +
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
        2144  +
host:example.amazonaws.com
        2145  +
        2146  +
host
        2147  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2143   2148   
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
 2144   2149   
new file mode 100644
 2145   2150   
index 0000000..21342b3
 2146         -
-- /dev/null
        2151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 2147   2152   
@@ -0,0 +1 @@
        2153  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 2148   2154   
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
 2149   2155   
new file mode 100644
 2150   2156   
index 0000000..368c2ff
 2151         -
-- /dev/null
        2157  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 2152   2158   
@@ -0,0 +1,3 @@
        2159  +
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
        2160  +
Host:example.amazonaws.com
        2161  +
 2153   2162   
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
 2154   2163   
new file mode 100644
 2155   2164   
index 0000000..56b8fbf
 2156         -
-- /dev/null
        2165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2157   2166   
@@ -0,0 +1,4 @@
        2167  +
AWS4-HMAC-SHA256
        2168  +
20150830T123600Z
        2169  +
20150830/us-east-1/service/aws4_request
        2170  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 2158   2171   
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
 2159   2172   
similarity index 62%
 2160   2173   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 2161   2174   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2162   2175   
index da4808d..9e273f6 100644
 2163         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2176  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2164   2177   
@@ -1,3 +1,2 @@
 2165   2178   
GET /ሴ HTTP/1.1
 2166   2179   
Host:example.amazonaws.com
 2167         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2168   2180   
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
 2169   2181   
new file mode 100644
 2170   2182   
index 0000000..0468d80
 2171         -
-- /dev/null
        2183  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2172   2184   
@@ -0,0 +1,12 @@
        2185  +
{
        2186  +
    "credentials": {
        2187  +
        "access_key_id": "AKIDEXAMPLE",
        2188  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2189  +
    },
        2190  +
    "expiration_in_seconds": 3600,
        2191  +
    "normalize": true,
        2192  +
    "region": "us-east-1",
        2193  +
    "service": "service",
        2194  +
    "sign_body": false,
        2195  +
    "timestamp": "2015-08-30T12:36:00Z"
        2196  +
}
              \
 No newline at end of file
 2173   2197   
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
 2174   2198   
similarity index 100%
 2175   2199   
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
 2176   2200   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2177   2201   
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
 2178   2202   
new file mode 100644
 2179   2203   
index 0000000..d7f1c1c
 2180         -
-- /dev/null
        2204  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2181   2205   
@@ -0,0 +1 @@
        2206  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2182   2207   
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
 2183   2208   
new file mode 100644
 2184   2209   
index 0000000..1c60790
 2185         -
-- /dev/null
        2210  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2186   2211   
@@ -0,0 +1,5 @@
        2212  +
GET /?Param1=value1 HTTP/1.1
        2213  +
Host:example.amazonaws.com
        2214  +
X-Amz-Date:20150830T123600Z
        2215  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2216  +
 2187   2217   
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
 2188   2218   
similarity index 100%
 2189   2219   
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
 2190   2220   
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
 2191   2221   
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
 2192   2222   
new file mode 100644
 2193   2223   
index 0000000..6a823ed
 2194         -
-- /dev/null
        2224  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2195   2225   
@@ -0,0 +1,7 @@
        2226  +
GET
        2227  +
/
        2228  +
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
        2229  +
host:example.amazonaws.com
        2230  +
        2231  +
host
        2232  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2196   2233   
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
 2197   2234   
new file mode 100644
 2198   2235   
index 0000000..8c77136
 2199         -
-- /dev/null
        2236  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2200   2237   
@@ -0,0 +1 @@
        2238  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2201   2239   
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
 2202   2240   
new file mode 100644
 2203   2241   
index 0000000..2d337d8
 2204         -
-- /dev/null
        2242  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2205   2243   
@@ -0,0 +1,3 @@
        2244  +
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
        2245  +
Host:example.amazonaws.com
        2246  +
 2206   2247   
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
 2207   2248   
new file mode 100644
 2208   2249   
index 0000000..191a484
 2209         -
-- /dev/null
        2250  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2210   2251   
@@ -0,0 +1,4 @@
        2252  +
AWS4-HMAC-SHA256
        2253  +
20150830T123600Z
        2254  +
20150830/us-east-1/service/aws4_request
        2255  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2211   2256   
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
 2212   2257   
similarity index 100%
 2213   2258   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2214   2259   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2215   2260   
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
 2216   2261   
new file mode 100644
 2217   2262   
index 0000000..0468d80
 2218         -
-- /dev/null
        2263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2219   2264   
@@ -0,0 +1,12 @@
        2265  +
{
        2266  +
    "credentials": {
        2267  +
        "access_key_id": "AKIDEXAMPLE",
        2268  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2269  +
    },
        2270  +
    "expiration_in_seconds": 3600,
        2271  +
    "normalize": true,
        2272  +
    "region": "us-east-1",
        2273  +
    "service": "service",
        2274  +
    "sign_body": false,
        2275  +
    "timestamp": "2015-08-30T12:36:00Z"
        2276  +
}
              \
 No newline at end of file
 2220   2277   
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
 2221   2278   
new file mode 100644
 2222   2279   
index 0000000..0c8ba21
 2223         -
-- /dev/null
        2280  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2224   2281   
@@ -0,0 +1,8 @@
        2282  +
GET
        2283  +
/
        2284  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2285  +
host:example.amazonaws.com
        2286  +
x-amz-date:20150830T123600Z
        2287  +
        2288  +
host;x-amz-date
        2289  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2225   2290   
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
 2226   2291   
new file mode 100644
 2227   2292   
index 0000000..9ab65ed
 2228         -
-- /dev/null
        2293  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2229   2294   
@@ -0,0 +1 @@
        2295  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2230   2296   
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
 2231   2297   
new file mode 100644
 2232   2298   
index 0000000..0bcdf98
 2233         -
-- /dev/null
        2299  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2234   2300   
@@ -0,0 +1,5 @@
        2301  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2302  +
Host:example.amazonaws.com
        2303  +
X-Amz-Date:20150830T123600Z
        2304  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2305  +
 2235   2306   
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
 2236   2307   
new file mode 100644
 2237   2308   
index 0000000..bf674ad
 2238         -
-- /dev/null
        2309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2239   2310   
@@ -0,0 +1,4 @@
        2311  +
AWS4-HMAC-SHA256
        2312  +
20150830T123600Z
        2313  +
20150830/us-east-1/service/aws4_request
        2314  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2240   2315   
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
 2241   2316   
new file mode 100644
 2242   2317   
index 0000000..3f590a4
 2243         -
-- /dev/null
        2318  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2244   2319   
@@ -0,0 +1,7 @@
        2320  +
GET
        2321  +
/
        2322  +
%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
        2323  +
host:example.amazonaws.com
        2324  +
        2325  +
host
        2326  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2245   2327   
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
 2246   2328   
new file mode 100644
 2247   2329   
index 0000000..e225eab
 2248         -
-- /dev/null
        2330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2249   2331   
@@ -0,0 +1 @@
        2332  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2250   2333   
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
 2251   2334   
new file mode 100644
 2252   2335   
index 0000000..6206719
 2253         -
-- /dev/null
        2336  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2254   2337   
@@ -0,0 +1,3 @@
        2338  +
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
        2339  +
Host:example.amazonaws.com
        2340  +
 2255   2341   
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
 2256   2342   
new file mode 100644
 2257   2343   
index 0000000..81a4210
 2258         -
-- /dev/null
        2344  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2259   2345   
@@ -0,0 +1,4 @@
        2346  +
AWS4-HMAC-SHA256
        2347  +
20150830T123600Z
        2348  +
20150830/us-east-1/service/aws4_request
        2349  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2260   2350   
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
 2261   2351   
new file mode 100644
 2262   2352   
index 0000000..368c6e3
 2263         -
-- /dev/null
        2353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2264   2354   
@@ -0,0 +1,2 @@
        2355  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2356  +
Host:example.amazonaws.com
 2265   2357   
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
 2266   2358   
new file mode 100644
 2267   2359   
index 0000000..0468d80
 2268         -
-- /dev/null
        2360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2269   2361   
@@ -0,0 +1,12 @@
        2362  +
{
        2363  +
    "credentials": {
        2364  +
        "access_key_id": "AKIDEXAMPLE",
        2365  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2366  +
    },
        2367  +
    "expiration_in_seconds": 3600,
        2368  +
    "normalize": true,
        2369  +
    "region": "us-east-1",
        2370  +
    "service": "service",
        2371  +
    "sign_body": false,
        2372  +
    "timestamp": "2015-08-30T12:36:00Z"
        2373  +
}
              \
 No newline at end of file
 2270   2374   
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
 2271   2375   
similarity index 100%
 2272   2376   
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
 2273   2377   
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
 2274   2378   
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
 2275   2379   
new file mode 100644
 2276   2380   
index 0000000..6a8cb9d
 2277         -
-- /dev/null
        2381  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2278   2382   
@@ -0,0 +1 @@
        2383  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2279   2384   
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
 2280   2385   
new file mode 100644
 2281   2386   
index 0000000..f78a9d2
 2282         -
-- /dev/null
        2387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2283   2388   
@@ -0,0 +1,5 @@
        2389  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2390  +
Host:example.amazonaws.com
        2391  +
X-Amz-Date:20150830T123600Z
        2392  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2393  +
 2284   2394   
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
 2285   2395   
similarity index 100%
 2286   2396   
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
 2287   2397   
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
 2288   2398   
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
 2289   2399   
new file mode 100644
 2290   2400   
index 0000000..a6e1bc7
 2291         -
-- /dev/null
        2401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2292   2402   
@@ -0,0 +1,7 @@
        2403  +
GET
        2404  +
/
        2405  +
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
        2406  +
host:example.amazonaws.com
        2407  +
        2408  +
host
        2409  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2293   2410   
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
 2294   2411   
new file mode 100644
 2295   2412   
index 0000000..d6e6a88
 2296         -
-- /dev/null
        2413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2297   2414   
@@ -0,0 +1 @@
        2415  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2298   2416   
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
 2299   2417   
new file mode 100644
 2300   2418   
index 0000000..538e2f0
 2301         -
-- /dev/null
        2419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2302   2420   
@@ -0,0 +1,3 @@
        2421  +
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
        2422  +
Host:example.amazonaws.com
        2423  +
 2303   2424   
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
 2304   2425   
new file mode 100644
 2305   2426   
index 0000000..e696085
 2306         -
-- /dev/null
        2427  +
++ 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
 2307   2428   
@@ -0,0 +1,4 @@
        2429  +
AWS4-HMAC-SHA256
        2430  +
20150830T123600Z
        2431  +
20150830/us-east-1/service/aws4_request
        2432  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2308   2433   
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
 2309   2434   
similarity index 100%
 2310   2435   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2311   2436   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2312   2437   
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
 2313   2438   
new file mode 100644
 2314   2439   
index 0000000..0468d80
 2315         -
-- /dev/null
        2440  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2316   2441   
@@ -0,0 +1,12 @@
        2442  +
{
        2443  +
    "credentials": {
        2444  +
        "access_key_id": "AKIDEXAMPLE",
        2445  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2446  +
    },
        2447  +
    "expiration_in_seconds": 3600,
        2448  +
    "normalize": true,
        2449  +
    "region": "us-east-1",
        2450  +
    "service": "service",
        2451  +
    "sign_body": false,
        2452  +
    "timestamp": "2015-08-30T12:36:00Z"
        2453  +
}
              \
 No newline at end of file
 2317   2454   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2318   2455   
similarity index 100%
 2319   2456   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2320   2457   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2321   2458   
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
 2322   2459   
new file mode 100644
 2323   2460   
index 0000000..876a64b
 2324         -
-- /dev/null
        2461  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2325   2462   
@@ -0,0 +1 @@
        2463  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2326   2464   
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
 2327   2465   
similarity index 50%
 2328   2466   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2329   2467   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2330   2468   
index ba1ef40..9d0d993 100644
 2331         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2469  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2332   2470   
@@ -1,4 +1,5 @@
 2333   2471   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2334   2472   
Host:example.amazonaws.com
 2335   2473   
X-Amz-Date:20150830T123600Z
 2336         -
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
        2474  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2475  +
 2337   2476   
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
 2338   2477   
similarity index 100%
 2339   2478   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2340   2479   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2341   2480   
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
 2342   2481   
new file mode 100644
 2343   2482   
index 0000000..a1bac59
 2344         -
-- /dev/null
        2483  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2345   2484   
@@ -0,0 +1,7 @@
        2485  +
GET
        2486  +
/
        2487  +
-._~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
        2488  +
host:example.amazonaws.com
        2489  +
        2490  +
host
        2491  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2346   2492   
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
 2347   2493   
new file mode 100644
 2348   2494   
index 0000000..41881e9
 2349         -
-- /dev/null
        2495  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2350   2496   
@@ -0,0 +1 @@
        2497  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2351   2498   
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
 2352   2499   
new file mode 100644
 2353   2500   
index 0000000..3179076
 2354         -
-- /dev/null
        2501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2355   2502   
@@ -0,0 +1,3 @@
        2503  +
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
        2504  +
Host:example.amazonaws.com
        2505  +
 2356   2506   
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
 2357   2507   
new file mode 100644
 2358   2508   
index 0000000..6d675fc
 2359         -
-- /dev/null
        2509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2360   2510   
@@ -0,0 +1,4 @@
        2511  +
AWS4-HMAC-SHA256
        2512  +
20150830T123600Z
        2513  +
20150830/us-east-1/service/aws4_request
        2514  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2361   2515   
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
 2362   2516   
similarity index 100%
 2363   2517   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2364   2518   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2365   2519   
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
 2366   2520   
new file mode 100644
 2367   2521   
index 0000000..0468d80
 2368         -
-- /dev/null
        2522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2369   2523   
@@ -0,0 +1,12 @@
        2524  +
{
        2525  +
    "credentials": {
        2526  +
        "access_key_id": "AKIDEXAMPLE",
        2527  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2528  +
    },
        2529  +
    "expiration_in_seconds": 3600,
        2530  +
    "normalize": true,
        2531  +
    "region": "us-east-1",
        2532  +
    "service": "service",
        2533  +
    "sign_body": false,
        2534  +
    "timestamp": "2015-08-30T12:36:00Z"
        2535  +
}
              \
 No newline at end of file
 2370   2536   
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
 2371   2537   
similarity index 100%
 2372   2538   
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
 2373   2539   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2374   2540   
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
 2375   2541   
new file mode 100644
 2376   2542   
index 0000000..87f295f
 2377         -
-- /dev/null
        2543  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2378   2544   
@@ -0,0 +1 @@
        2545  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2379   2546   
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
 2380   2547   
new file mode 100644
 2381   2548   
index 0000000..36b86e7
 2382         -
-- /dev/null
        2549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2383   2550   
@@ -0,0 +1,5 @@
        2551  +
GET / HTTP/1.1
        2552  +
Host:example.amazonaws.com
        2553  +
X-Amz-Date:20150830T123600Z
        2554  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2555  +
 2384   2556   
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
 2385   2557   
similarity index 100%
 2386   2558   
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
 2387   2559   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2388   2560   
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
 2389   2561   
new file mode 100644
 2390   2562   
index 0000000..fb2420d
 2391         -
-- /dev/null
        2563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2392   2564   
@@ -0,0 +1,7 @@
        2565  +
GET
        2566  +
/
        2567  +
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
        2568  +
host:example.amazonaws.com
        2569  +
        2570  +
host
        2571  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2393   2572   
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
 2394   2573   
new file mode 100644
 2395   2574   
index 0000000..da5c905
 2396         -
-- /dev/null
        2575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2397   2576   
@@ -0,0 +1 @@
        2577  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2398   2578   
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
 2399   2579   
new file mode 100644
 2400   2580   
index 0000000..eeb7a8f
 2401         -
-- /dev/null
        2581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2402   2582   
@@ -0,0 +1,3 @@
        2583  +
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
        2584  +
Host:example.amazonaws.com
        2585  +
 2403   2586   
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
 2404   2587   
new file mode 100644
 2405   2588   
index 0000000..d837e67
 2406         -
-- /dev/null
        2589  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2407   2590   
@@ -0,0 +1,4 @@
        2591  +
AWS4-HMAC-SHA256
        2592  +
20150830T123600Z
        2593  +
20150830/us-east-1/service/aws4_request
        2594  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2408   2595   
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
 2409   2596   
similarity index 100%
 2410   2597   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2411   2598   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2412   2599   
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
 2413   2600   
new file mode 100644
 2414   2601   
index 0000000..0468d80
 2415         -
-- /dev/null
        2602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2416   2603   
@@ -0,0 +1,12 @@
        2604  +
{
        2605  +
    "credentials": {
        2606  +
        "access_key_id": "AKIDEXAMPLE",
        2607  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2608  +
    },
        2609  +
    "expiration_in_seconds": 3600,
        2610  +
    "normalize": true,
        2611  +
    "region": "us-east-1",
        2612  +
    "service": "service",
        2613  +
    "sign_body": false,
        2614  +
    "timestamp": "2015-08-30T12:36:00Z"
        2615  +
}
              \
 No newline at end of file
 2417   2616   
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
 2418   2617   
similarity index 100%
 2419   2618   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2420   2619   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2421   2620   
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
 2422   2621   
new file mode 100644
 2423   2622   
index 0000000..19a2cc9
 2424         -
-- /dev/null
        2623  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2425   2624   
@@ -0,0 +1 @@
        2625  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2426   2626   
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
 2427   2627   
new file mode 100644
 2428   2628   
index 0000000..acb13ee
 2429         -
-- /dev/null
        2629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2430   2630   
@@ -0,0 +1,5 @@
        2631  +
GET /?ሴ=bar HTTP/1.1
        2632  +
Host:example.amazonaws.com
        2633  +
X-Amz-Date:20150830T123600Z
        2634  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2635  +
 2431   2636   
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
 2432   2637   
similarity index 100%
 2433   2638   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2434   2639   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2435   2640   
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
 2436   2641   
new file mode 100644
 2437   2642   
index 0000000..92cee62
 2438         -
-- /dev/null
        2643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2439   2644   
@@ -0,0 +1,7 @@
        2645  +
GET
        2646  +
/
        2647  +
%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
        2648  +
host:example.amazonaws.com
        2649  +
        2650  +
host
        2651  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2440   2652   
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
 2441   2653   
new file mode 100644
 2442   2654   
index 0000000..c9e49de
 2443         -
-- /dev/null
        2655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2444   2656   
@@ -0,0 +1 @@
        2657  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2445   2658   
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
 2446   2659   
new file mode 100644
 2447   2660   
index 0000000..8f4d8d0
 2448         -
-- /dev/null
        2661  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2449   2662   
@@ -0,0 +1,3 @@
        2663  +
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
        2664  +
Host:example.amazonaws.com
        2665  +
 2450   2666   
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
 2451   2667   
new file mode 100644
 2452   2668   
index 0000000..a6181dc
 2453         -
-- /dev/null
        2669  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2454   2670   
@@ -0,0 +1,4 @@
        2671  +
AWS4-HMAC-SHA256
        2672  +
20150830T123600Z
        2673  +
20150830/us-east-1/service/aws4_request
        2674  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2455   2675   
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
 2456   2676   
similarity index 64%
 2457   2677   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2458   2678   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2459   2679   
index cc2757e..aff333a 100644
 2460         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2680  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2461   2681   
@@ -1,3 +1,2 @@
 2462   2682   
GET /?ሴ=bar HTTP/1.1
 2463   2683   
Host:example.amazonaws.com
 2464         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2465   2684   
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
 2466   2685   
similarity index 99%
 2467   2686   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2468   2687   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2469   2688   
index a457c8a..a334e18 100644
 2470         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
        2689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2471   2690   
@@ -1,13 +1,13 @@
 2472   2691   
{
 2473   2692   
    "credentials": {
 2474   2693   
        "access_key_id": "AKIDEXAMPLE",
 2475   2694   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
 2476   2695   
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
 2477   2696   
    },
 2478   2697   
    "expiration_in_seconds": 3600,
 2479   2698   
    "normalize": true,
 2480   2699   
    "region": "us-east-1",
 2481   2700   
    "service": "service",
 2482   2701   
    "sign_body": false,
 2483   2702   
    "timestamp": "2015-08-30T12:36:00Z"
 2484         -
}
        2703  +
}
              \
 No newline at end of file
 2485   2704   
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
 2486   2705   
new file mode 100644
 2487   2706   
index 0000000..ccacdeb
 2488         -
-- /dev/null
        2707  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2489   2708   
@@ -0,0 +1,9 @@
        2709  +
GET
        2710  +
/
        2711  +
        2712  +
host:example.amazonaws.com
        2713  +
x-amz-date:20150830T123600Z
        2714  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2715  +
        2716  +
host;x-amz-date;x-amz-security-token
        2717  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2490   2718   
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
 2491   2719   
new file mode 100644
 2492   2720   
index 0000000..083e30d
 2493         -
-- /dev/null
        2721  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2494   2722   
@@ -0,0 +1 @@
        2723  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2495   2724   
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
 2496   2725   
new file mode 100644
 2497   2726   
index 0000000..5287932
 2498         -
-- /dev/null
        2727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2499   2728   
@@ -0,0 +1,6 @@
        2729  +
GET / HTTP/1.1
        2730  +
Host:example.amazonaws.com
        2731  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2732  +
X-Amz-Date:20150830T123600Z
        2733  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2734  +
 2500   2735   
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
 2501   2736   
new file mode 100644
 2502   2737   
index 0000000..742b880
 2503         -
-- /dev/null
        2738  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2504   2739   
@@ -0,0 +1,4 @@
        2740  +
AWS4-HMAC-SHA256
        2741  +
20150830T123600Z
        2742  +
20150830/us-east-1/service/aws4_request
        2743  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2505   2744   
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
 2506   2745   
new file mode 100644
 2507   2746   
index 0000000..5e75179
 2508         -
-- /dev/null
        2747  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2509   2748   
@@ -0,0 +1,7 @@
        2749  +
GET
        2750  +
/
        2751  +
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
        2752  +
host:example.amazonaws.com
        2753  +
        2754  +
host
        2755  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2510   2756   
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
 2511   2757   
new file mode 100644
 2512   2758   
index 0000000..50b947f
 2513         -
-- /dev/null
        2759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2514   2760   
@@ -0,0 +1 @@
        2761  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2515   2762   
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
 2516   2763   
new file mode 100644
 2517   2764   
index 0000000..aee910b
 2518         -
-- /dev/null
        2765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2519   2766   
@@ -0,0 +1,3 @@
        2767  +
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
        2768  +
Host:example.amazonaws.com
        2769  +
 2520   2770   
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
 2521   2771   
new file mode 100644
 2522   2772   
index 0000000..04a6c17
 2523         -
-- /dev/null
        2773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2524   2774   
@@ -0,0 +1,4 @@
        2775  +
AWS4-HMAC-SHA256
        2776  +
20150830T123600Z
        2777  +
20150830/us-east-1/service/aws4_request
        2778  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2525   2779   
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
 2526   2780   
similarity index 100%
 2527   2781   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2528   2782   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2529   2783   
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
 2530   2784   
new file mode 100644
 2531   2785   
index 0000000..0468d80
 2532         -
-- /dev/null
        2786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2533   2787   
@@ -0,0 +1,12 @@
        2788  +
{
        2789  +
    "credentials": {
        2790  +
        "access_key_id": "AKIDEXAMPLE",
        2791  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2792  +
    },
        2793  +
    "expiration_in_seconds": 3600,
        2794  +
    "normalize": true,
        2795  +
    "region": "us-east-1",
        2796  +
    "service": "service",
        2797  +
    "sign_body": false,
        2798  +
    "timestamp": "2015-08-30T12:36:00Z"
        2799  +
}
              \
 No newline at end of file
 2534   2800   
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
 2535   2801   
similarity index 100%
 2536   2802   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2537   2803   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2538   2804   
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
 2539   2805   
new file mode 100644
 2540   2806   
index 0000000..87f295f
 2541         -
-- /dev/null
        2807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2542   2808   
@@ -0,0 +1 @@
        2809  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2543   2810   
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
 2544   2811   
new file mode 100644
 2545   2812   
index 0000000..36b86e7
 2546         -
-- /dev/null
        2813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2547   2814   
@@ -0,0 +1,5 @@
        2815  +
GET / HTTP/1.1
        2816  +
Host:example.amazonaws.com
        2817  +
X-Amz-Date:20150830T123600Z
        2818  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2819  +
 2548   2820   
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
 2549   2821   
similarity index 100%
 2550   2822   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2551   2823   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2552   2824   
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
 2553   2825   
new file mode 100644
 2554   2826   
index 0000000..fb2420d
 2555         -
-- /dev/null
        2827  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2556   2828   
@@ -0,0 +1,7 @@
        2829  +
GET
        2830  +
/
        2831  +
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
        2832  +
host:example.amazonaws.com
        2833  +
        2834  +
host
        2835  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2557   2836   
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
 2558   2837   
new file mode 100644
 2559   2838   
index 0000000..da5c905
 2560         -
-- /dev/null
        2839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2561   2840   
@@ -0,0 +1 @@
        2841  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2562   2842   
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
 2563   2843   
new file mode 100644
 2564   2844   
index 0000000..eeb7a8f
 2565         -
-- /dev/null
        2845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2566   2846   
@@ -0,0 +1,3 @@
        2847  +
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
        2848  +
Host:example.amazonaws.com
        2849  +
 2567   2850   
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
 2568   2851   
new file mode 100644
 2569   2852   
index 0000000..d837e67
 2570         -
-- /dev/null
        2853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2571   2854   
@@ -0,0 +1,4 @@
        2855  +
AWS4-HMAC-SHA256
        2856  +
20150830T123600Z
        2857  +
20150830/us-east-1/service/aws4_request
        2858  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2572   2859   
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
 2573   2860   
similarity index 100%
 2574   2861   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2575   2862   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2576   2863   
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
 2577   2864   
new file mode 100644
 2578   2865   
index 0000000..0468d80
 2579         -
-- /dev/null
        2866  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2580   2867   
@@ -0,0 +1,12 @@
        2868  +
{
        2869  +
    "credentials": {
        2870  +
        "access_key_id": "AKIDEXAMPLE",
        2871  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2872  +
    },
        2873  +
    "expiration_in_seconds": 3600,
        2874  +
    "normalize": true,
        2875  +
    "region": "us-east-1",
        2876  +
    "service": "service",
        2877  +
    "sign_body": false,
        2878  +
    "timestamp": "2015-08-30T12:36:00Z"
        2879  +
}
              \
 No newline at end of file
 2581   2880   
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
 2582   2881   
similarity index 100%
 2583   2882   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2584   2883   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2585   2884   
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
 2586   2885   
new file mode 100644
 2587   2886   
index 0000000..629487f
 2588         -
-- /dev/null
        2887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2589   2888   
@@ -0,0 +1 @@
        2889  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2590   2890   
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
 2591   2891   
new file mode 100644
 2592   2892   
index 0000000..0d99b1c
 2593         -
-- /dev/null
        2893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2594   2894   
@@ -0,0 +1,5 @@
        2895  +
POST / HTTP/1.1
        2896  +
Host:example.amazonaws.com
        2897  +
X-Amz-Date:20150830T123600Z
        2898  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2899  +
 2595   2900   
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
 2596   2901   
similarity index 100%
 2597   2902   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2598   2903   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2599   2904   
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
 2600   2905   
new file mode 100644
 2601   2906   
index 0000000..d3341e7
 2602         -
-- /dev/null
        2907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2603   2908   
@@ -0,0 +1,7 @@
        2909  +
POST
        2910  +
/
        2911  +
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
        2912  +
host:example.amazonaws.com
        2913  +
        2914  +
host
        2915  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2604   2916   
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
 2605   2917   
new file mode 100644
 2606   2918   
index 0000000..79f7e0d
 2607         -
-- /dev/null
        2919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2608   2920   
@@ -0,0 +1 @@
        2921  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2609   2922   
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
 2610   2923   
new file mode 100644
 2611   2924   
index 0000000..94f1b21
 2612         -
-- /dev/null
        2925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2613   2926   
@@ -0,0 +1,3 @@
        2927  +
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
        2928  +
Host:example.amazonaws.com
        2929  +
 2614   2930   
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
 2615   2931   
new file mode 100644
 2616   2932   
index 0000000..e8f335b
 2617         -
-- /dev/null
        2933  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2618   2934   
@@ -0,0 +1,4 @@
        2935  +
AWS4-HMAC-SHA256
        2936  +
20150830T123600Z
        2937  +
20150830/us-east-1/service/aws4_request
        2938  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2619   2939   
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
 2620   2940   
similarity index 100%
 2621   2941   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2622   2942   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2623   2943   
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
 2624   2944   
new file mode 100644
 2625   2945   
index 0000000..0468d80
 2626         -
-- /dev/null
        2946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2627   2947   
@@ -0,0 +1,12 @@
        2948  +
{
        2949  +
    "credentials": {
        2950  +
        "access_key_id": "AKIDEXAMPLE",
        2951  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2952  +
    },
        2953  +
    "expiration_in_seconds": 3600,
        2954  +
    "normalize": true,
        2955  +
    "region": "us-east-1",
        2956  +
    "service": "service",
        2957  +
    "sign_body": false,
        2958  +
    "timestamp": "2015-08-30T12:36:00Z"
        2959  +
}
              \
 No newline at end of file
 2628   2960   
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
 2629   2961   
similarity index 100%
 2630   2962   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2631   2963   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2632   2964   
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
 2633   2965   
new file mode 100644
 2634   2966   
index 0000000..e4e6428
 2635         -
-- /dev/null
        2967  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2636   2968   
@@ -0,0 +1 @@
        2969  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2637   2970   
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
 2638   2971   
new file mode 100644
 2639   2972   
index 0000000..e3778f5
 2640         -
-- /dev/null
        2973  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2641   2974   
@@ -0,0 +1,6 @@
        2975  +
POST / HTTP/1.1
        2976  +
Host:example.amazonaws.com
        2977  +
My-Header1:value1
        2978  +
X-Amz-Date:20150830T123600Z
        2979  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2980  +
 2642   2981   
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
 2643   2982   
similarity index 100%
 2644   2983   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2645   2984   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2646   2985   
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
 2647   2986   
new file mode 100644
 2648   2987   
index 0000000..bd7c937
 2649         -
-- /dev/null
        2988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2650   2989   
@@ -0,0 +1,8 @@
        2990  +
POST
        2991  +
/
        2992  +
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
        2993  +
host:example.amazonaws.com
        2994  +
my-header1:value1
        2995  +
        2996  +
host;my-header1
        2997  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2651   2998   
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
 2652   2999   
new file mode 100644
 2653   3000   
index 0000000..0416f13
 2654         -
-- /dev/null
        3001  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2655   3002   
@@ -0,0 +1 @@
        3003  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2656   3004   
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
 2657   3005   
new file mode 100644
 2658   3006   
index 0000000..5e6522f
 2659         -
-- /dev/null
        3007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2660   3008   
@@ -0,0 +1,4 @@
        3009  +
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
        3010  +
Host:example.amazonaws.com
        3011  +
My-Header1:value1
        3012  +
 2661   3013   
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
 2662   3014   
new file mode 100644
 2663   3015   
index 0000000..d06d1df
 2664         -
-- /dev/null
        3016  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2665   3017   
@@ -0,0 +1,4 @@
        3018  +
AWS4-HMAC-SHA256
        3019  +
20150830T123600Z
        3020  +
20150830/us-east-1/service/aws4_request
        3021  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2666   3022   
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
 2667   3023   
similarity index 100%
 2668   3024   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2669   3025   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2670   3026   
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
 2671   3027   
new file mode 100644
 2672   3028   
index 0000000..0468d80
 2673         -
-- /dev/null
        3029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2674   3030   
@@ -0,0 +1,12 @@
        3031  +
{
        3032  +
    "credentials": {
        3033  +
        "access_key_id": "AKIDEXAMPLE",
        3034  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3035  +
    },
        3036  +
    "expiration_in_seconds": 3600,
        3037  +
    "normalize": true,
        3038  +
    "region": "us-east-1",
        3039  +
    "service": "service",
        3040  +
    "sign_body": false,
        3041  +
    "timestamp": "2015-08-30T12:36:00Z"
        3042  +
}
              \
 No newline at end of file
 2675   3043   
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
 2676   3044   
similarity index 100%
 2677   3045   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2678   3046   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2679   3047   
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
 2680   3048   
new file mode 100644
 2681   3049   
index 0000000..bb3809c
 2682         -
-- /dev/null
        3050  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2683   3051   
@@ -0,0 +1 @@
        3052  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2684   3053   
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
 2685   3054   
new file mode 100644
 2686   3055   
index 0000000..10f6761
 2687         -
-- /dev/null
        3056  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2688   3057   
@@ -0,0 +1,6 @@
        3058  +
POST / HTTP/1.1
        3059  +
Host:example.amazonaws.com
        3060  +
My-Header1:VALUE1
        3061  +
X-Amz-Date:20150830T123600Z
        3062  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        3063  +
 2689   3064   
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
 2690   3065   
similarity index 100%
 2691   3066   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2692   3067   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2693   3068   
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
 2694   3069   
new file mode 100644
 2695   3070   
index 0000000..f84856f
 2696         -
-- /dev/null
        3071  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2697   3072   
@@ -0,0 +1,8 @@
        3073  +
POST
        3074  +
/
        3075  +
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
        3076  +
host:example.amazonaws.com
        3077  +
my-header1:VALUE1
        3078  +
        3079  +
host;my-header1
        3080  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2698   3081   
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
 2699   3082   
new file mode 100644
 2700   3083   
index 0000000..a9d3cac
 2701         -
-- /dev/null
        3084  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2702   3085   
@@ -0,0 +1 @@
        3086  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2703   3087   
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
 2704   3088   
new file mode 100644
 2705   3089   
index 0000000..cf96c7c
 2706         -
-- /dev/null
        3090  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2707   3091   
@@ -0,0 +1,4 @@
        3092  +
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
        3093  +
Host:example.amazonaws.com
        3094  +
My-Header1:VALUE1
        3095  +
 2708   3096   
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
 2709   3097   
new file mode 100644
 2710   3098   
index 0000000..47ef566
 2711         -
-- /dev/null
        3099  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2712   3100   
@@ -0,0 +1,4 @@
        3101  +
AWS4-HMAC-SHA256
        3102  +
20150830T123600Z
        3103  +
20150830/us-east-1/service/aws4_request
        3104  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2713   3105   
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
 2714   3106   
similarity index 100%
 2715   3107   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2716   3108   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2717   3109   
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
 2718   3110   
similarity index 100%
 2719   3111   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2720   3112   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2721   3113   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2722   3114   
similarity index 100%
 2723   3115   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-after/post-sts-header-after.creq
 2724   3116   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2725   3117   
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
 2726   3118   
new file mode 100644
 2727   3119   
index 0000000..629487f
 2728         -
-- /dev/null
        3120  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2729   3121   
@@ -0,0 +1 @@
        3122  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2730   3123   
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
 2731   3124   
similarity index 67%
 2732   3125   
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
 2733   3126   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2734   3127   
index 291ed07..f96ff9e 100644
 2735         -
-- 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
        3128  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2736   3129   
@@ -1,5 +1,6 @@
 2737   3130   
POST / HTTP/1.1
 2738   3131   
Host:example.amazonaws.com
 2739         -
X-Amz-Date:20150830T123600Z
 2740   3132   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2741         -
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
        3133  +
X-Amz-Date:20150830T123600Z
        3134  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3135  +
 2742   3136   
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
 2743   3137   
similarity index 100%
 2744   3138   
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
 2745   3139   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2746   3140   
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
 2747   3141   
new file mode 100644
 2748   3142   
index 0000000..d3341e7
 2749         -
-- /dev/null
        3143  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2750   3144   
@@ -0,0 +1,7 @@
        3145  +
POST
        3146  +
/
        3147  +
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
        3148  +
host:example.amazonaws.com
        3149  +
        3150  +
host
        3151  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2751   3152   
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
 2752   3153   
new file mode 100644
 2753   3154   
index 0000000..79f7e0d
 2754         -
-- /dev/null
        3155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2755   3156   
@@ -0,0 +1 @@
        3157  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2756   3158   
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
 2757   3159   
new file mode 100644
 2758   3160   
index 0000000..4983268
 2759         -
-- /dev/null
        3161  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2760   3162   
@@ -0,0 +1,3 @@
        3163  +
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
        3164  +
Host:example.amazonaws.com
        3165  +
 2761   3166   
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
 2762   3167   
new file mode 100644
 2763   3168   
index 0000000..e8f335b
 2764         -
-- /dev/null
        3169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2765   3170   
@@ -0,0 +1,4 @@
        3171  +
AWS4-HMAC-SHA256
        3172  +
20150830T123600Z
        3173  +
20150830/us-east-1/service/aws4_request
        3174  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2766   3175   
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
 2767   3176   
similarity index 100%
 2768   3177   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2769   3178   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2770   3179   
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
 2771   3180   
similarity index 100%
 2772   3181   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2773   3182   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2774   3183   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2775   3184   
similarity index 100%
 2776   3185   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/post-sts-header-before/post-sts-header-before.creq
 2777   3186   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2778   3187   
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
 2779   3188   
new file mode 100644
 2780   3189   
index 0000000..85a7c29
 2781         -
-- /dev/null
        3190  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2782   3191   
@@ -0,0 +1 @@
        3192  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2783   3193   
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
 2784   3194   
similarity index 65%
 2785   3195   
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
 2786   3196   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2787   3197   
index 37b2f04..4d0b143 100644
 2788         -
-- 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
        3198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2789   3199   
@@ -1,5 +1,6 @@
 2790   3200   
POST / HTTP/1.1
 2791   3201   
Host:example.amazonaws.com
 2792         -
X-Amz-Date:20150830T123600Z
 2793   3202   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2794         -
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
        3203  +
X-Amz-Date:20150830T123600Z
        3204  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3205  +
 2795   3206   
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
 2796   3207   
similarity index 100%
 2797   3208   
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
 2798   3209   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2799   3210   
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
 2800   3211   
new file mode 100644
 2801   3212   
index 0000000..57a7bc3
 2802         -
-- /dev/null
        3213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2803   3214   
@@ -0,0 +1,7 @@
        3215  +
POST
        3216  +
/
        3217  +
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
        3218  +
host:example.amazonaws.com
        3219  +
        3220  +
host
        3221  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2804   3222   
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
 2805   3223   
new file mode 100644
 2806   3224   
index 0000000..eb905d2
 2807         -
-- /dev/null
        3225  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2808   3226   
@@ -0,0 +1 @@
        3227  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2809   3228   
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
 2810   3229   
new file mode 100644
 2811   3230   
index 0000000..1d80ec0
 2812         -
-- /dev/null
        3231  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2813   3232   
@@ -0,0 +1,3 @@
        3233  +
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
        3234  +
Host:example.amazonaws.com
        3235  +
 2814   3236   
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
 2815   3237   
new file mode 100644
 2816   3238   
index 0000000..bd0239a
 2817         -
-- /dev/null
        3239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2818   3240   
@@ -0,0 +1,4 @@
        3241  +
AWS4-HMAC-SHA256
        3242  +
20150830T123600Z
        3243  +
20150830/us-east-1/service/aws4_request
        3244  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2819   3245   
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
 2820   3246   
similarity index 100%
 2821   3247   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2822   3248   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2823   3249   
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
 2824   3250   
new file mode 100644
 2825   3251   
index 0000000..0468d80
 2826         -
-- /dev/null
        3252  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2827   3253   
@@ -0,0 +1,12 @@
        3254  +
{
        3255  +
    "credentials": {
        3256  +
        "access_key_id": "AKIDEXAMPLE",
        3257  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3258  +
    },
        3259  +
    "expiration_in_seconds": 3600,
        3260  +
    "normalize": true,
        3261  +
    "region": "us-east-1",
        3262  +
    "service": "service",
        3263  +
    "sign_body": false,
        3264  +
    "timestamp": "2015-08-30T12:36:00Z"
        3265  +
}
              \
 No newline at end of file
 2828   3266   
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
 2829   3267   
similarity index 100%
 2830   3268   
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
 2831   3269   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2832   3270   
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
 2833   3271   
new file mode 100644
 2834   3272   
index 0000000..80ed433
 2835         -
-- /dev/null
        3273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2836   3274   
@@ -0,0 +1 @@
        3275  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2837   3276   
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
 2838   3277   
new file mode 100644
 2839   3278   
index 0000000..4e614f8
 2840         -
-- /dev/null
        3279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2841   3280   
@@ -0,0 +1,5 @@
        3281  +
POST /?Param1=value1 HTTP/1.1
        3282  +
Host:example.amazonaws.com
        3283  +
X-Amz-Date:20150830T123600Z
        3284  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3285  +
 2842   3286   
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
 2843   3287   
similarity index 100%
 2844   3288   
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
 2845   3289   
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
 2846   3290   
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
 2847   3291   
new file mode 100644
 2848   3292   
index 0000000..be66403
 2849         -
-- /dev/null
        3293  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2850   3294   
@@ -0,0 +1,7 @@
        3295  +
POST
        3296  +
/
        3297  +
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
        3298  +
host:example.amazonaws.com
        3299  +
        3300  +
host
        3301  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2851   3302   
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
 2852   3303   
new file mode 100644
 2853   3304   
index 0000000..20fd32b
 2854         -
-- /dev/null
        3305  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2855   3306   
@@ -0,0 +1 @@
        3307  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2856   3308   
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
 2857   3309   
new file mode 100644
 2858   3310   
index 0000000..d1148d0
 2859         -
-- /dev/null
        3311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2860   3312   
@@ -0,0 +1,3 @@
        3313  +
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
        3314  +
Host:example.amazonaws.com
        3315  +
 2861   3316   
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
 2862   3317   
new file mode 100644
 2863   3318   
index 0000000..1a77103
 2864         -
-- /dev/null
        3319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2865   3320   
@@ -0,0 +1,4 @@
        3321  +
AWS4-HMAC-SHA256
        3322  +
20150830T123600Z
        3323  +
20150830/us-east-1/service/aws4_request
        3324  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2866   3325   
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
 2867   3326   
similarity index 100%
 2868   3327   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2869   3328   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2870   3329   
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
 2871   3330   
new file mode 100644
 2872   3331   
index 0000000..0468d80
 2873         -
-- /dev/null
        3332  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2874   3333   
@@ -0,0 +1,12 @@
        3334  +
{
        3335  +
    "credentials": {
        3336  +
        "access_key_id": "AKIDEXAMPLE",
        3337  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3338  +
    },
        3339  +
    "expiration_in_seconds": 3600,
        3340  +
    "normalize": true,
        3341  +
    "region": "us-east-1",
        3342  +
    "service": "service",
        3343  +
    "sign_body": false,
        3344  +
    "timestamp": "2015-08-30T12:36:00Z"
        3345  +
}
              \
 No newline at end of file
 2875   3346   
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
 2876   3347   
similarity index 100%
 2877   3348   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2878   3349   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2879   3350   
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
 2880   3351   
new file mode 100644
 2881   3352   
index 0000000..80ed433
 2882         -
-- /dev/null
        3353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2883   3354   
@@ -0,0 +1 @@
        3355  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2884   3356   
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
 2885   3357   
new file mode 100644
 2886   3358   
index 0000000..4e614f8
 2887         -
-- /dev/null
        3359  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2888   3360   
@@ -0,0 +1,5 @@
        3361  +
POST /?Param1=value1 HTTP/1.1
        3362  +
Host:example.amazonaws.com
        3363  +
X-Amz-Date:20150830T123600Z
        3364  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3365  +
 2889   3366   
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
 2890   3367   
similarity index 100%
 2891   3368   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2892   3369   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2893   3370   
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
 2894   3371   
new file mode 100644
 2895   3372   
index 0000000..be66403
 2896         -
-- /dev/null
        3373  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2897   3374   
@@ -0,0 +1,7 @@
        3375  +
POST
        3376  +
/
        3377  +
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
        3378  +
host:example.amazonaws.com
        3379  +
        3380  +
host
        3381  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2898   3382   
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
 2899   3383   
new file mode 100644
 2900   3384   
index 0000000..20fd32b
 2901         -
-- /dev/null
        3385  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2902   3386   
@@ -0,0 +1 @@
        3387  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2903   3388   
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
 2904   3389   
new file mode 100644
 2905   3390   
index 0000000..d1148d0
 2906         -
-- /dev/null
        3391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2907   3392   
@@ -0,0 +1,3 @@
        3393  +
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
        3394  +
Host:example.amazonaws.com
        3395  +
 2908   3396   
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
 2909   3397   
new file mode 100644
 2910   3398   
index 0000000..1a77103
 2911         -
-- /dev/null
        3399  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2912   3400   
@@ -0,0 +1,4 @@
        3401  +
AWS4-HMAC-SHA256
        3402  +
20150830T123600Z
        3403  +
20150830/us-east-1/service/aws4_request
        3404  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2913   3405   
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
 2914   3406   
similarity index 100%
 2915   3407   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2916   3408   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2917   3409   
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
 2918   3410   
new file mode 100644
 2919   3411   
index 0000000..0468d80
 2920         -
-- /dev/null
        3412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2921   3413   
@@ -0,0 +1,12 @@
        3414  +
{
        3415  +
    "credentials": {
        3416  +
        "access_key_id": "AKIDEXAMPLE",
        3417  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3418  +
    },
        3419  +
    "expiration_in_seconds": 3600,
        3420  +
    "normalize": true,
        3421  +
    "region": "us-east-1",
        3422  +
    "service": "service",
        3423  +
    "sign_body": false,
        3424  +
    "timestamp": "2015-08-30T12:36:00Z"
        3425  +
}
              \
 No newline at end of file
 2922   3426   
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
 2923   3427   
similarity index 100%
 2924   3428   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2925   3429   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2926   3430   
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
 2927   3431   
new file mode 100644
 2928   3432   
index 0000000..629487f
 2929         -
-- /dev/null
        3433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2930   3434   
@@ -0,0 +1 @@
        3435  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2931   3436   
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
 2932   3437   
new file mode 100644
 2933   3438   
index 0000000..0d99b1c
 2934         -
-- /dev/null
        3439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2935   3440   
@@ -0,0 +1,5 @@
        3441  +
POST / HTTP/1.1
        3442  +
Host:example.amazonaws.com
        3443  +
X-Amz-Date:20150830T123600Z
        3444  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3445  +
 2936   3446   
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
 2937   3447   
similarity index 100%
 2938   3448   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2939   3449   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2940   3450   
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
 2941   3451   
new file mode 100644
 2942   3452   
index 0000000..d3341e7
 2943         -
-- /dev/null
        3453  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2944   3454   
@@ -0,0 +1,7 @@
        3455  +
POST
        3456  +
/
        3457  +
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
        3458  +
host:example.amazonaws.com
        3459  +
        3460  +
host
        3461  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2945   3462   
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
 2946   3463   
new file mode 100644
 2947   3464   
index 0000000..79f7e0d
 2948         -
-- /dev/null
        3465  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2949   3466   
@@ -0,0 +1 @@
        3467  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2950   3468   
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
 2951   3469   
new file mode 100644
 2952   3470   
index 0000000..94f1b21
 2953         -
-- /dev/null
        3471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2954   3472   
@@ -0,0 +1,3 @@
        3473  +
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
        3474  +
Host:example.amazonaws.com
        3475  +
 2955   3476   
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
 2956   3477   
new file mode 100644
 2957   3478   
index 0000000..e8f335b
 2958         -
-- /dev/null
        3479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2959   3480   
@@ -0,0 +1,4 @@
        3481  +
AWS4-HMAC-SHA256
        3482  +
20150830T123600Z
        3483  +
20150830/us-east-1/service/aws4_request
        3484  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2960   3485   
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
 2961   3486   
similarity index 100%
 2962   3487   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2963   3488   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2964   3489   
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
 2965   3490   
similarity index 99%
 2966   3491   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2967   3492   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2968   3493   
index fc4bce6..0db1df1 100644
 2969         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
        3494  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2970   3495   
@@ -1,12 +1,12 @@
 2971   3496   
{
 2972   3497   
    "credentials": {
 2973   3498   
        "access_key_id": "AKIDEXAMPLE",
 2974   3499   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 2975   3500   
    },
 2976   3501   
    "expiration_in_seconds": 3600,
 2977   3502   
    "normalize": true,
 2978   3503   
    "region": "us-east-1",
 2979   3504   
    "service": "service",
 2980   3505   
    "sign_body": true,
 2981   3506   
    "timestamp": "2015-08-30T12:36:00Z"
 2982         -
}
        3507  +
}
              \
 No newline at end of file
 2983   3508   
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
 2984   3509   
new file mode 100644
 2985   3510   
index 0000000..c218fdf
 2986         -
-- /dev/null
        3511  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2987   3512   
@@ -0,0 +1,11 @@
        3513  +
POST
        3514  +
/
        3515  +
        3516  +
content-length:13
        3517  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3518  +
host:example.amazonaws.com
        3519  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3520  +
x-amz-date:20150830T123600Z
        3521  +
        3522  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3523  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2988   3524   
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
 2989   3525   
new file mode 100644
 2990   3526   
index 0000000..836aa8b
 2991         -
-- /dev/null
        3527  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2992   3528   
@@ -0,0 +1 @@
        3529  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2993   3530   
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
 2994   3531   
new file mode 100644
 2995   3532   
index 0000000..9262d53
 2996         -
-- /dev/null
        3533  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2997   3534   
@@ -0,0 +1,9 @@
        3535  +
POST / HTTP/1.1
        3536  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3537  +
Host:example.amazonaws.com
        3538  +
Content-Length:13
        3539  +
X-Amz-Date:20150830T123600Z
        3540  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3541  +
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
        3542  +
        3543  +
Param1=value1
              \
 No newline at end of file
 2998   3544   
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
 2999   3545   
new file mode 100644
 3000   3546   
index 0000000..ddbdccc
 3001         -
-- /dev/null
        3547  +
++ 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
 3002   3548   
@@ -0,0 +1,4 @@
        3549  +
AWS4-HMAC-SHA256
        3550  +
20150830T123600Z
        3551  +
20150830/us-east-1/service/aws4_request
        3552  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 3003   3553   
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
 3004   3554   
new file mode 100644
 3005   3555   
index 0000000..596a579
 3006         -
-- /dev/null
        3556  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 3007   3557   
@@ -0,0 +1,9 @@
        3558  +
POST
        3559  +
/
        3560  +
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
        3561  +
content-length:13
        3562  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3563  +
host:example.amazonaws.com
        3564  +
        3565  +
content-length;content-type;host
        3566  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3008   3567   
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
 3009   3568   
new file mode 100644
 3010   3569   
index 0000000..bc85cd8
 3011         -
-- /dev/null
        3570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 3012   3571   
@@ -0,0 +1 @@
        3572  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 3013   3573   
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
 3014   3574   
new file mode 100644
 3015   3575   
index 0000000..16b59e5
 3016         -
-- /dev/null
        3576  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 3017   3577   
@@ -0,0 +1,6 @@
        3578  +
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
        3579  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3580  +
Host:example.amazonaws.com
        3581  +
Content-Length:13
        3582  +
        3583  +
Param1=value1
              \
 No newline at end of file
 3018   3584   
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
 3019   3585   
new file mode 100644
 3020   3586   
index 0000000..50074af
 3021         -
-- /dev/null
        3587  +
++ 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
 3022   3588   
@@ -0,0 +1,4 @@
        3589  +
AWS4-HMAC-SHA256
        3590  +
20150830T123600Z
        3591  +
20150830/us-east-1/service/aws4_request
        3592  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 3023   3593   
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
 3024   3594   
similarity index 89%
 3025   3595   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 3026   3596   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 3027   3597   
index b711c25..8289eaa 100644
 3028         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
        3598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 3029   3599   
@@ -1,6 +1,6 @@
 3030   3600   
POST / HTTP/1.1
 3031   3601   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 3032   3602   
Host:example.amazonaws.com
 3033   3603   
Content-Length:13
 3034   3604   
 3035         -
Param1=value1
        3605  +
Param1=value1
              \
 No newline at end of file
 3036   3606   
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
 3037   3607   
similarity index 99%
 3038   3608   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 3039   3609   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 3040   3610   
index fc4bce6..0db1df1 100644
 3041         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
        3611  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 3042   3612   
@@ -1,12 +1,12 @@
 3043   3613   
{
 3044   3614   
    "credentials": {
 3045   3615   
        "access_key_id": "AKIDEXAMPLE",
 3046   3616   
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 3047   3617   
    },
 3048   3618   
    "expiration_in_seconds": 3600,
 3049   3619   
    "normalize": true,
 3050   3620   
    "region": "us-east-1",
 3051   3621   
    "service": "service",
 3052   3622   
    "sign_body": true,
 3053   3623   
    "timestamp": "2015-08-30T12:36:00Z"
 3054         -
}
        3624  +
}
              \
 No newline at end of file
 3055   3625   
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
 3056   3626   
new file mode 100644
 3057   3627   
index 0000000..4d116a5
 3058         -
-- /dev/null
        3628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 3059   3629   
@@ -0,0 +1,11 @@
        3630  +
POST
        3631  +
/
        3632  +
        3633  +
content-length:13
        3634  +
content-type:application/x-www-form-urlencoded
        3635  +
host:example.amazonaws.com
        3636  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3637  +
x-amz-date:20150830T123600Z
        3638  +
        3639  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3640  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3060   3641   
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
 3061   3642   
new file mode 100644
 3062   3643   
index 0000000..0d2ac37
 3063         -
-- /dev/null
        3644  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 3064   3645   
@@ -0,0 +1 @@
        3646  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 3065   3647   
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
 3066   3648   
new file mode 100644
 3067   3649   
index 0000000..bd5e49c
 3068         -
-- /dev/null
        3650  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 3069   3651   
@@ -0,0 +1,9 @@
        3652  +
POST / HTTP/1.1
        3653  +
Content-Type:application/x-www-form-urlencoded
        3654  +
Host:example.amazonaws.com
        3655  +
Content-Length:13
        3656  +
X-Amz-Date:20150830T123600Z
        3657  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3658  +
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
        3659  +
        3660  +
Param1=value1
              \
 No newline at end of file
 3070   3661   
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
 3071   3662   
new file mode 100644
 3072   3663   
index 0000000..f1c599c
 3073         -
-- /dev/null
        3664  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 3074   3665   
@@ -0,0 +1,4 @@
        3666  +
AWS4-HMAC-SHA256
        3667  +
20150830T123600Z
        3668  +
20150830/us-east-1/service/aws4_request
        3669  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 3075   3670   
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
 3076   3671   
new file mode 100644
 3077   3672   
index 0000000..1fc1bb7
 3078         -
-- /dev/null
        3673  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 3079   3674   
@@ -0,0 +1,9 @@
        3675  +
POST
        3676  +
/
        3677  +
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
        3678  +
content-length:13
        3679  +
content-type:application/x-www-form-urlencoded
        3680  +
host:example.amazonaws.com
        3681  +
        3682  +
content-length;content-type;host
        3683  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3080   3684   
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
 3081   3685   
new file mode 100644
 3082   3686   
index 0000000..98c91b3
 3083         -
-- /dev/null
        3687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 3084   3688   
@@ -0,0 +1 @@
        3689  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 3085   3690   
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
 3086   3691   
new file mode 100644
 3087   3692   
index 0000000..055cd7a
 3088         -
-- /dev/null
        3693  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 3089   3694   
@@ -0,0 +1,6 @@
        3695  +
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
        3696  +
Content-Type:application/x-www-form-urlencoded
        3697  +
Host:example.amazonaws.com
        3698  +
Content-Length:13
        3699  +
        3700  +
Param1=value1
              \
 No newline at end of file
 3090   3701   
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
 3091   3702   
new file mode 100644
 3092   3703   
index 0000000..db7fc27
 3093         -
-- /dev/null
        3704  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 3094   3705   
@@ -0,0 +1,4 @@
        3706  +
AWS4-HMAC-SHA256
        3707  +
20150830T123600Z
        3708  +
20150830/us-east-1/service/aws4_request
        3709  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 3095   3710   
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
 3096   3711   
similarity index 88%
 3097   3712   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 3098   3713   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3099   3714   
index 0091102..760b2d3 100644
 3100         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
        3715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3101   3716   
@@ -1,6 +1,6 @@
 3102   3717   
POST / HTTP/1.1
 3103   3718   
Content-Type:application/x-www-form-urlencoded
 3104   3719   
Host:example.amazonaws.com
 3105   3720   
Content-Length:13
 3106   3721   
 3107         -
Param1=value1
        3722  +
Param1=value1
              \
 No newline at end of file
 3108   3723   
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
 3109   3724   
new file mode 100644
 3110   3725   
index 0000000..0468d80
 3111         -
-- /dev/null
        3726  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 3112   3727   
@@ -0,0 +1,12 @@
        3728  +
{
        3729  +
    "credentials": {
        3730  +
        "access_key_id": "AKIDEXAMPLE",
        3731  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3732  +
    },
        3733  +
    "expiration_in_seconds": 3600,
        3734  +
    "normalize": true,
        3735  +
    "region": "us-east-1",
        3736  +
    "service": "service",
        3737  +
    "sign_body": false,
        3738  +
    "timestamp": "2015-08-30T12:36:00Z"
        3739  +
}
              \
 No newline at end of file
 3113   3740   
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
 3114   3741   
similarity index 99%
 3115   3742   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 3116   3743   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3117   3744   
index ccb5f43..1bc448e 100644
 3118         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
        3745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3119   3746   
@@ -1,10 +1,10 @@
 3120   3747   
GET
 3121   3748   
/
 3122   3749   
 3123   3750   
host:example.amazonaws.com
 3124   3751   
my-header1:value2,value2,value1
 3125   3752   
x-amz-date:20150830T123600Z
 3126   3753   
x-amz-region-set:us-east-1
 3127   3754   
 3128   3755   
host;my-header1;x-amz-date;x-amz-region-set
 3129         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3756  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3130   3757   
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
 3131   3758   
new file mode 100644
 3132   3759   
index 0000000..489c182
 3133         -
-- /dev/null
        3760  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 3134   3761   
@@ -0,0 +1 @@
        3762  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 3135   3763   
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
 3136   3764   
new file mode 100644
 3137   3765   
index 0000000..e1b8dbf
 3138         -
-- /dev/null
        3766  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 3139   3767   
@@ -0,0 +1,9 @@
        3768  +
GET / HTTP/1.1
        3769  +
Host:example.amazonaws.com
        3770  +
My-Header1:value2
        3771  +
My-Header1:value2
        3772  +
My-Header1:value1
        3773  +
X-Amz-Date:20150830T123600Z
        3774  +
X-Amz-Region-Set:us-east-1
        3775  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3776  +
 3140   3777   
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
 3141   3778   
similarity index 99%
 3142   3779   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 3143   3780   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3144   3781   
index 8783461..bfc4619 100644
 3145         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
        3782  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3146   3783   
@@ -1,4 +1,4 @@
 3147   3784   
AWS4-ECDSA-P256-SHA256
 3148   3785   
20150830T123600Z
 3149   3786   
20150830/service/aws4_request
 3150         -
30f1f7b639b7fd5982a0f700e6d23bf7bb24f2f1d9e1314005bf22130da61cdf
        3787  +
30f1f7b639b7fd5982a0f700e6d23bf7bb24f2f1d9e1314005bf22130da61cdf
              \
 No newline at end of file
 3151   3788   
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
 3152   3789   
new file mode 100644
 3153   3790   
index 0000000..379dcb2
 3154         -
-- /dev/null
        3791  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 3155   3792   
@@ -0,0 +1,4 @@
        3793  +
{
        3794  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3795  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3796  +
}
 3156   3797   
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
 3157   3798   
similarity index 99%
 3158   3799   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 3159   3800   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3160   3801   
index 9561297..c05c3f5 100644
 3161         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
        3802  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3162   3803   
@@ -1,8 +1,8 @@
 3163   3804   
GET
 3164   3805   
/
 3165   3806   
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
 3166   3807   
host:example.amazonaws.com
 3167   3808   
my-header1:value2,value2,value1
 3168   3809   
 3169   3810   
host;my-header1
 3170         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        3811  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3171   3812   
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
 3172   3813   
new file mode 100644
 3173   3814   
index 0000000..de9a4c3
 3174         -
-- /dev/null
        3815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 3175   3816   
@@ -0,0 +1 @@
        3817  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 3176   3818   
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
 3177   3819   
new file mode 100644
 3178   3820   
index 0000000..6c6b8c4
 3179         -
-- /dev/null
        3821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 3180   3822   
@@ -0,0 +1,6 @@
        3823  +
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
        3824  +
Host:example.amazonaws.com
        3825  +
My-Header1:value2
        3826  +
My-Header1:value2
        3827  +
My-Header1:value1
        3828  +
 3181   3829   
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
 3182   3830   
similarity index 99%
 3183   3831   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 3184   3832   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3185   3833   
index 3140f6f..4eef106 100644
 3186         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
        3834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3187   3835   
@@ -1,4 +1,4 @@
 3188   3836   
AWS4-ECDSA-P256-SHA256
 3189   3837   
20150830T123600Z
 3190   3838   
20150830/service/aws4_request
 3191         -
a6e21a0099c98cbb4ec73928a08e8b116dfd634c471a8c03c4007b5258b664ea
        3839  +
a6e21a0099c98cbb4ec73928a08e8b116dfd634c471a8c03c4007b5258b664ea
              \
 No newline at end of file
 3192   3840   
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
 3193   3841   
similarity index 78%
 3194   3842   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 3195   3843   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3196   3844   
index 08a0364..40455ce 100644
 3197         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3198   3846   
@@ -1,6 +1,5 @@
 3199   3847   
GET / HTTP/1.1
 3200   3848   
Host:example.amazonaws.com
 3201   3849   
My-Header1:value2
 3202   3850   
My-Header1:value2
 3203   3851   
My-Header1:value1
 3204         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3205   3852   
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
 3206   3853   
new file mode 100644
 3207   3854   
index 0000000..0468d80
 3208         -
-- /dev/null
        3855  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 3209   3856   
@@ -0,0 +1,12 @@
        3857  +
{
        3858  +
    "credentials": {
        3859  +
        "access_key_id": "AKIDEXAMPLE",
        3860  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3861  +
    },
        3862  +
    "expiration_in_seconds": 3600,
        3863  +
    "normalize": true,
        3864  +
    "region": "us-east-1",
        3865  +
    "service": "service",
        3866  +
    "sign_body": false,
        3867  +
    "timestamp": "2015-08-30T12:36:00Z"
        3868  +
}
              \
 No newline at end of file
 3210   3869   
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
 3211   3870   
new file mode 100644
 3212   3871   
index 0000000..69526cd
 3213         -
-- /dev/null
        3872  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 3214   3873   
@@ -0,0 +1,10 @@
        3874  +
GET
        3875  +
/
        3876  +
        3877  +
host:example.amazonaws.com
        3878  +
my-header1:value1 value2 value3
        3879  +
x-amz-date:20150830T123600Z
        3880  +
x-amz-region-set:us-east-1
        3881  +
        3882  +
host;my-header1;x-amz-date;x-amz-region-set
        3883  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3215   3884   
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
 3216   3885   
new file mode 100644
 3217   3886   
index 0000000..d51b4f3
 3218         -
-- /dev/null
        3887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 3219   3888   
@@ -0,0 +1 @@
        3889  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 3220   3890   
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
 3221   3891   
new file mode 100644
 3222   3892   
index 0000000..8131420
 3223         -
-- /dev/null
        3893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 3224   3894   
@@ -0,0 +1,9 @@
        3895  +
GET / HTTP/1.1
        3896  +
Host:example.amazonaws.com
        3897  +
My-Header1:value1
        3898  +
  value2
        3899  +
     value3
        3900  +
X-Amz-Date:20150830T123600Z
        3901  +
X-Amz-Region-Set:us-east-1
        3902  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3903  +
 3225   3904   
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
 3226   3905   
new file mode 100644
 3227   3906   
index 0000000..e4d99fa
 3228         -
-- /dev/null
        3907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 3229   3908   
@@ -0,0 +1,4 @@
        3909  +
AWS4-ECDSA-P256-SHA256
        3910  +
20150830T123600Z
        3911  +
20150830/service/aws4_request
        3912  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 3230   3913   
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
 3231   3914   
new file mode 100644
 3232   3915   
index 0000000..379dcb2
 3233         -
-- /dev/null
        3916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 3234   3917   
@@ -0,0 +1,4 @@
        3918  +
{
        3919  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3920  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3921  +
}
 3235   3922   
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
 3236   3923   
new file mode 100644
 3237   3924   
index 0000000..3c4d52f
 3238         -
-- /dev/null
        3925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 3239   3926   
@@ -0,0 +1,8 @@
        3927  +
GET
        3928  +
/
        3929  +
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
        3930  +
host:example.amazonaws.com
        3931  +
my-header1:value1 value2 value3
        3932  +
        3933  +
host;my-header1
        3934  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3240   3935   
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
 3241   3936   
new file mode 100644
 3242   3937   
index 0000000..4e63f9a
 3243         -
-- /dev/null
        3938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 3244   3939   
@@ -0,0 +1 @@
        3940  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 3245   3941   
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
 3246   3942   
new file mode 100644
 3247   3943   
index 0000000..adf1f09
 3248         -
-- /dev/null
        3944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 3249   3945   
@@ -0,0 +1,6 @@
        3946  +
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
        3947  +
Host:example.amazonaws.com
        3948  +
My-Header1:value1
        3949  +
  value2
        3950  +
     value3
        3951  +
 3250   3952   
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
 3251   3953   
new file mode 100644
 3252   3954   
index 0000000..e085407
 3253         -
-- /dev/null
        3955  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3254   3956   
@@ -0,0 +1,4 @@
        3957  +
AWS4-ECDSA-P256-SHA256
        3958  +
20150830T123600Z
        3959  +
20150830/service/aws4_request
        3960  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 3255   3961   
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
 3256   3962   
new file mode 100644
 3257   3963   
index 0000000..b5026cd
 3258         -
-- /dev/null
        3964  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3259   3965   
@@ -0,0 +1,5 @@
        3966  +
GET / HTTP/1.1
        3967  +
Host:example.amazonaws.com
        3968  +
My-Header1:value1
        3969  +
  value2
        3970  +
     value3
 3260   3971   
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
 3261   3972   
new file mode 100644
 3262   3973   
index 0000000..0468d80
 3263         -
-- /dev/null
        3974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3264   3975   
@@ -0,0 +1,12 @@
        3976  +
{
        3977  +
    "credentials": {
        3978  +
        "access_key_id": "AKIDEXAMPLE",
        3979  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3980  +
    },
        3981  +
    "expiration_in_seconds": 3600,
        3982  +
    "normalize": true,
        3983  +
    "region": "us-east-1",
        3984  +
    "service": "service",
        3985  +
    "sign_body": false,
        3986  +
    "timestamp": "2015-08-30T12:36:00Z"
        3987  +
}
              \
 No newline at end of file
 3265   3988   
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
 3266   3989   
similarity index 99%
 3267   3990   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3268   3991   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3269   3992   
index 9375193..533afdb 100644
 3270         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
        3993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3271   3994   
@@ -1,10 +1,10 @@
 3272   3995   
GET
 3273   3996   
/
 3274   3997   
 3275   3998   
host:example.amazonaws.com
 3276   3999   
my-header1:value4,value1,value3,value2
 3277   4000   
x-amz-date:20150830T123600Z
 3278   4001   
x-amz-region-set:us-east-1
 3279   4002   
 3280   4003   
host;my-header1;x-amz-date;x-amz-region-set
 3281         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4004  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3282   4005   
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
 3283   4006   
new file mode 100644
 3284   4007   
index 0000000..057b426
 3285         -
-- /dev/null
        4008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3286   4009   
@@ -0,0 +1 @@
        4010  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3287   4011   
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
 3288   4012   
new file mode 100644
 3289   4013   
index 0000000..4e4ccf0
 3290         -
-- /dev/null
        4014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3291   4015   
@@ -0,0 +1,10 @@
        4016  +
GET / HTTP/1.1
        4017  +
Host:example.amazonaws.com
        4018  +
My-Header1:value4
        4019  +
My-Header1:value1
        4020  +
My-Header1:value3
        4021  +
My-Header1:value2
        4022  +
X-Amz-Date:20150830T123600Z
        4023  +
X-Amz-Region-Set:us-east-1
        4024  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        4025  +
 3292   4026   
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
 3293   4027   
similarity index 99%
 3294   4028   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3295   4029   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3296   4030   
index 6400baf..e68c952 100644
 3297         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
        4031  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3298   4032   
@@ -1,4 +1,4 @@
 3299   4033   
AWS4-ECDSA-P256-SHA256
 3300   4034   
20150830T123600Z
 3301   4035   
20150830/service/aws4_request
 3302         -
e1c3b5d34632ffff080330b3bc31906c8988bf1683f4af689ef3f1811952df36
        4036  +
e1c3b5d34632ffff080330b3bc31906c8988bf1683f4af689ef3f1811952df36
              \
 No newline at end of file
 3303   4037   
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
 3304   4038   
new file mode 100644
 3305   4039   
index 0000000..379dcb2
 3306         -
-- /dev/null
        4040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3307   4041   
@@ -0,0 +1,4 @@
        4042  +
{
        4043  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4044  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4045  +
}
 3308   4046   
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
 3309   4047   
similarity index 99%
 3310   4048   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3311   4049   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3312   4050   
index ecf494a..68450fe 100644
 3313         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
        4051  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3314   4052   
@@ -1,8 +1,8 @@
 3315   4053   
GET
 3316   4054   
/
 3317   4055   
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
 3318   4056   
host:example.amazonaws.com
 3319   4057   
my-header1:value4,value1,value3,value2
 3320   4058   
 3321   4059   
host;my-header1
 3322         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4060  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3323   4061   
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
 3324   4062   
new file mode 100644
 3325   4063   
index 0000000..9df2eb3
 3326         -
-- /dev/null
        4064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3327   4065   
@@ -0,0 +1 @@
        4066  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3328   4067   
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
 3329   4068   
new file mode 100644
 3330   4069   
index 0000000..62f8cb7
 3331         -
-- /dev/null
        4070  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3332   4071   
@@ -0,0 +1,7 @@
        4072  +
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
        4073  +
Host:example.amazonaws.com
        4074  +
My-Header1:value4
        4075  +
My-Header1:value1
        4076  +
My-Header1:value3
        4077  +
My-Header1:value2
        4078  +
 3333   4079   
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
 3334   4080   
similarity index 99%
 3335   4081   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3336   4082   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3337   4083   
index b584179..2bcf7b1 100644
 3338         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
        4084  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3339   4085   
@@ -1,4 +1,4 @@
 3340   4086   
AWS4-ECDSA-P256-SHA256
 3341   4087   
20150830T123600Z
 3342   4088   
20150830/service/aws4_request
 3343         -
e2bf35ea25a1943bf52cfc8348c787db8fd8ca642dc9f2b9443939c2fb0d3c54
        4089  +
e2bf35ea25a1943bf52cfc8348c787db8fd8ca642dc9f2b9443939c2fb0d3c54
              \
 No newline at end of file
 3344   4090   
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
 3345   4091   
similarity index 80%
 3346   4092   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3347   4093   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3348   4094   
index f7bd9e6..2c6f49d 100644
 3349         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        4095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3350   4096   
@@ -1,7 +1,6 @@
 3351   4097   
GET / HTTP/1.1
 3352   4098   
Host:example.amazonaws.com
 3353   4099   
My-Header1:value4
 3354   4100   
My-Header1:value1
 3355   4101   
My-Header1:value3
 3356   4102   
My-Header1:value2
 3357         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3358   4103   
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
 3359   4104   
new file mode 100644
 3360   4105   
index 0000000..0468d80
 3361         -
-- /dev/null
        4106  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3362   4107   
@@ -0,0 +1,12 @@
        4108  +
{
        4109  +
    "credentials": {
        4110  +
        "access_key_id": "AKIDEXAMPLE",
        4111  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4112  +
    },
        4113  +
    "expiration_in_seconds": 3600,
        4114  +
    "normalize": true,
        4115  +
    "region": "us-east-1",
        4116  +
    "service": "service",
        4117  +
    "sign_body": false,
        4118  +
    "timestamp": "2015-08-30T12:36:00Z"
        4119  +
}
              \
 No newline at end of file
 3363   4120   
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
 3364   4121   
similarity index 99%
 3365   4122   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3366   4123   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3367   4124   
index e91e952..94b6be5 100644
 3368         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
        4125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3369   4126   
@@ -1,11 +1,11 @@
 3370   4127   
GET
 3371   4128   
/
 3372   4129   
 3373   4130   
host:example.amazonaws.com
 3374   4131   
my-header1:value1
 3375   4132   
my-header2:"a b c"
 3376   4133   
x-amz-date:20150830T123600Z
 3377   4134   
x-amz-region-set:us-east-1
 3378   4135   
 3379   4136   
host;my-header1;my-header2;x-amz-date;x-amz-region-set
 3380         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4137  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3381   4138   
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
 3382   4139   
new file mode 100644
 3383   4140   
index 0000000..bf8c3cb
 3384         -
-- /dev/null
        4141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3385   4142   
@@ -0,0 +1 @@
        4143  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3386   4144   
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
 3387   4145   
new file mode 100644
 3388   4146   
index 0000000..f7f054d
 3389         -
-- /dev/null
        4147  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3390   4148   
@@ -0,0 +1,8 @@
        4149  +
GET / HTTP/1.1
        4150  +
Host:example.amazonaws.com
        4151  +
My-Header1: value1
        4152  +
My-Header2: "a   b   c"
        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;my-header1;my-header2;x-amz-date;x-amz-region-set, Signature=3046022100ce72c874a80cea45e3c5b7cbe76178f8577870e1f97ee1730f57cff45c3d398b022100e4ea7b870335abab5ca57fa740d20b3c5aba2739cf96dd7fa671fc11cf6c3341
        4156  +
 3391   4157   
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
 3392   4158   
similarity index 99%
 3393   4159   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3394   4160   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3395   4161   
index 0e407d8..a2c9c05 100644
 3396         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
        4162  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3397   4163   
@@ -1,4 +1,4 @@
 3398   4164   
AWS4-ECDSA-P256-SHA256
 3399   4165   
20150830T123600Z
 3400   4166   
20150830/service/aws4_request
 3401         -
18b43001be9b531ebdd8202144dbd7630ea8a35bc328a7d0e561dda03a876095
        4167  +
18b43001be9b531ebdd8202144dbd7630ea8a35bc328a7d0e561dda03a876095
              \
 No newline at end of file
 3402   4168   
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
 3403   4169   
new file mode 100644
 3404   4170   
index 0000000..379dcb2
 3405         -
-- /dev/null
        4171  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3406   4172   
@@ -0,0 +1,4 @@
        4173  +
{
        4174  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4175  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4176  +
}
 3407   4177   
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
 3408   4178   
similarity index 99%
 3409   4179   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3410   4180   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3411   4181   
index 8a3b042..3a51150 100644
 3412         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
        4182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3413   4183   
@@ -1,9 +1,9 @@
 3414   4184   
GET
 3415   4185   
/
 3416   4186   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host%3Bmy-header1%3Bmy-header2
 3417   4187   
host:example.amazonaws.com
 3418   4188   
my-header1:value1
 3419   4189   
my-header2:"a b c"
 3420   4190   
 3421   4191   
host;my-header1;my-header2
 3422         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4192  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3423   4193   
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
 3424   4194   
new file mode 100644
 3425   4195   
index 0000000..0033053
 3426         -
-- /dev/null
        4196  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3427   4197   
@@ -0,0 +1 @@
        4198  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3428   4199   
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
 3429   4200   
new file mode 100644
 3430   4201   
index 0000000..1537888
 3431         -
-- /dev/null
        4202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3432   4203   
@@ -0,0 +1,5 @@
        4204  +
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
        4205  +
Host:example.amazonaws.com
        4206  +
My-Header1: value1
        4207  +
My-Header2: "a   b   c"
        4208  +
 3433   4209   
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
 3434   4210   
similarity index 99%
 3435   4211   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3436   4212   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3437   4213   
index 5eead25..633dc1f 100644
 3438         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
        4214  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3439   4215   
@@ -1,4 +1,4 @@
 3440   4216   
AWS4-ECDSA-P256-SHA256
 3441   4217   
20150830T123600Z
 3442   4218   
20150830/service/aws4_request
 3443         -
4f92ebcf5f0844588e443a2243fafdb64319c6d1ad913c07686129b9991326a3
        4219  +
4f92ebcf5f0844588e443a2243fafdb64319c6d1ad913c07686129b9991326a3
              \
 No newline at end of file
 3444   4220   
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
 3445   4221   
similarity index 75%
 3446   4222   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3447   4223   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3448   4224   
index 901f36c..ad1ea98 100644
 3449         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        4225  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3450   4226   
@@ -1,5 +1,4 @@
 3451   4227   
GET / HTTP/1.1
 3452   4228   
Host:example.amazonaws.com
 3453   4229   
My-Header1: value1
 3454   4230   
My-Header2: "a   b   c"
 3455         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3456   4231   
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
 3457   4232   
new file mode 100644
 3458   4233   
index 0000000..0468d80
 3459         -
-- /dev/null
        4234  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3460   4235   
@@ -0,0 +1,12 @@
        4236  +
{
        4237  +
    "credentials": {
        4238  +
        "access_key_id": "AKIDEXAMPLE",
        4239  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4240  +
    },
        4241  +
    "expiration_in_seconds": 3600,
        4242  +
    "normalize": true,
        4243  +
    "region": "us-east-1",
        4244  +
    "service": "service",
        4245  +
    "sign_body": false,
        4246  +
    "timestamp": "2015-08-30T12:36:00Z"
        4247  +
}
              \
 No newline at end of file
 3461   4248   
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
 3462   4249   
similarity index 99%
 3463   4250   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3464   4251   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3465   4252   
index 47e7128..76db73d 100644
 3466         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
        4253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3467   4254   
@@ -1,9 +1,9 @@
 3468   4255   
GET
 3469   4256   
/
 3470   4257   
 3471   4258   
host:example.amazonaws.com
 3472   4259   
x-amz-date:20150830T123600Z
 3473   4260   
x-amz-region-set:us-east-1
 3474   4261   
 3475   4262   
host;x-amz-date;x-amz-region-set
 3476         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4263  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3477   4264   
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
 3478   4265   
new file mode 100644
 3479   4266   
index 0000000..cbd6ae2
 3480         -
-- /dev/null
        4267  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3481   4268   
@@ -0,0 +1 @@
        4269  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3482   4270   
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
 3483   4271   
new file mode 100644
 3484   4272   
index 0000000..a343fcf
 3485         -
-- /dev/null
        4273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3486   4274   
@@ -0,0 +1,6 @@
        4275  +
GET /example/.. HTTP/1.1
        4276  +
Host:example.amazonaws.com
        4277  +
X-Amz-Date:20150830T123600Z
        4278  +
X-Amz-Region-Set:us-east-1
        4279  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        4280  +
 3487   4281   
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
 3488   4282   
similarity index 99%
 3489   4283   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3490   4284   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3491   4285   
index 95d7219..600f1d8 100644
 3492         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
        4286  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3493   4287   
@@ -1,4 +1,4 @@
 3494   4288   
AWS4-ECDSA-P256-SHA256
 3495   4289   
20150830T123600Z
 3496   4290   
20150830/service/aws4_request
 3497         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4291  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3498   4292   
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
 3499   4293   
new file mode 100644
 3500   4294   
index 0000000..379dcb2
 3501         -
-- /dev/null
        4295  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3502   4296   
@@ -0,0 +1,4 @@
        4297  +
{
        4298  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4299  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4300  +
}
 3503   4301   
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
 3504   4302   
similarity index 99%
 3505   4303   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3506   4304   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3507   4305   
index a34ea26..779c51c 100644
 3508         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
        4306  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3509   4307   
@@ -1,7 +1,7 @@
 3510   4308   
GET
 3511   4309   
/
 3512   4310   
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
 3513   4311   
host:example.amazonaws.com
 3514   4312   
 3515   4313   
host
 3516         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4314  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3517   4315   
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
 3518   4316   
new file mode 100644
 3519   4317   
index 0000000..3cc88e6
 3520         -
-- /dev/null
        4318  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3521   4319   
@@ -0,0 +1 @@
        4320  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3522   4321   
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
 3523   4322   
new file mode 100644
 3524   4323   
index 0000000..f68dde8
 3525         -
-- /dev/null
        4324  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3526   4325   
@@ -0,0 +1,3 @@
        4326  +
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
        4327  +
Host:example.amazonaws.com
        4328  +
 3527   4329   
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
 3528   4330   
similarity index 99%
 3529   4331   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3530   4332   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3531   4333   
index 48f855c..6e29a7e 100644
 3532         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
        4334  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3533   4335   
@@ -1,4 +1,4 @@
 3534   4336   
AWS4-ECDSA-P256-SHA256
 3535   4337   
20150830T123600Z
 3536   4338   
20150830/service/aws4_request
 3537         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4339  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3538   4340   
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
 3539   4341   
similarity index 65%
 3540   4342   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3541   4343   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3542   4344   
index 9d6d7ca..6aa9f99 100644
 3543         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        4345  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3544   4346   
@@ -1,3 +1,2 @@
 3545   4347   
GET /example/.. HTTP/1.1
 3546   4348   
Host:example.amazonaws.com
 3547         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3548   4349   
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
 3549   4350   
new file mode 100644
 3550   4351   
index 0000000..0468d80
 3551         -
-- /dev/null
        4352  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3552   4353   
@@ -0,0 +1,12 @@
        4354  +
{
        4355  +
    "credentials": {
        4356  +
        "access_key_id": "AKIDEXAMPLE",
        4357  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4358  +
    },
        4359  +
    "expiration_in_seconds": 3600,
        4360  +
    "normalize": true,
        4361  +
    "region": "us-east-1",
        4362  +
    "service": "service",
        4363  +
    "sign_body": false,
        4364  +
    "timestamp": "2015-08-30T12:36:00Z"
        4365  +
}
              \
 No newline at end of file
 3553   4366   
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
 3554   4367   
similarity index 99%
 3555   4368   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3556   4369   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3557   4370   
index 47e7128..76db73d 100644
 3558         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
        4371  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3559   4372   
@@ -1,9 +1,9 @@
 3560   4373   
GET
 3561   4374   
/
 3562   4375   
 3563   4376   
host:example.amazonaws.com
 3564   4377   
x-amz-date:20150830T123600Z
 3565   4378   
x-amz-region-set:us-east-1
 3566   4379   
 3567   4380   
host;x-amz-date;x-amz-region-set
 3568         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4381  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3569   4382   
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
 3570   4383   
new file mode 100644
 3571   4384   
index 0000000..f7a7ebe
 3572         -
-- /dev/null
        4385  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3573   4386   
@@ -0,0 +1 @@
        4387  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3574   4388   
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
 3575   4389   
new file mode 100644
 3576   4390   
index 0000000..9d2c50d
 3577         -
-- /dev/null
        4391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3578   4392   
@@ -0,0 +1,6 @@
        4393  +
GET /example1/example2/../.. HTTP/1.1
        4394  +
Host:example.amazonaws.com
        4395  +
X-Amz-Date:20150830T123600Z
        4396  +
X-Amz-Region-Set:us-east-1
        4397  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4398  +
 3579   4399   
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
 3580   4400   
similarity index 99%
 3581   4401   
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
 3582   4402   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3583   4403   
index 95d7219..600f1d8 100644
 3584         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-string-to-sign.txt
        4404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3585   4405   
@@ -1,4 +1,4 @@
 3586   4406   
AWS4-ECDSA-P256-SHA256
 3587   4407   
20150830T123600Z
 3588   4408   
20150830/service/aws4_request
 3589         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4409  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3590   4410   
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
 3591   4411   
new file mode 100644
 3592   4412   
index 0000000..379dcb2
 3593         -
-- /dev/null
        4413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3594   4414   
@@ -0,0 +1,4 @@
        4415  +
{
        4416  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4417  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4418  +
}
 3595   4419   
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
 3596   4420   
similarity index 99%
 3597   4421   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3598   4422   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3599   4423   
index a34ea26..779c51c 100644
 3600         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
        4424  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3601   4425   
@@ -1,7 +1,7 @@
 3602   4426   
GET
 3603   4427   
/
 3604   4428   
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
 3605   4429   
host:example.amazonaws.com
 3606   4430   
 3607   4431   
host
 3608         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4432  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3609   4433   
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
 3610   4434   
new file mode 100644
 3611   4435   
index 0000000..45ef286
 3612         -
-- /dev/null
        4436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3613   4437   
@@ -0,0 +1 @@
        4438  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3614   4439   
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
 3615   4440   
new file mode 100644
 3616   4441   
index 0000000..0d16f66
 3617         -
-- /dev/null
        4442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3618   4443   
@@ -0,0 +1,3 @@
        4444  +
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
        4445  +
Host:example.amazonaws.com
        4446  +
 3619   4447   
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
 3620   4448   
similarity index 99%
 3621   4449   
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
 3622   4450   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3623   4451   
index 48f855c..6e29a7e 100644
 3624         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-string-to-sign.txt
        4452  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3625   4453   
@@ -1,4 +1,4 @@
 3626   4454   
AWS4-ECDSA-P256-SHA256
 3627   4455   
20150830T123600Z
 3628   4456   
20150830/service/aws4_request
 3629         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4457  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3630   4458   
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
 3631   4459   
similarity index 70%
 3632   4460   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3633   4461   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3634   4462   
index cfd4e8b..a856c10 100644
 3635         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3636   4464   
@@ -1,3 +1,2 @@
 3637   4465   
GET /example1/example2/../.. HTTP/1.1
 3638   4466   
Host:example.amazonaws.com
 3639         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3640   4467   
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
 3641   4468   
new file mode 100644
 3642   4469   
index 0000000..7bee5c7
 3643         -
-- /dev/null
        4470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3644   4471   
@@ -0,0 +1,12 @@
        4472  +
{
        4473  +
    "credentials": {
        4474  +
        "access_key_id": "AKIDEXAMPLE",
        4475  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4476  +
    },
        4477  +
    "expiration_in_seconds": 3600,
        4478  +
    "normalize": false,
        4479  +
    "region": "us-east-1",
        4480  +
    "service": "service",
        4481  +
    "sign_body": false,
        4482  +
    "timestamp": "2015-08-30T12:36:00Z"
        4483  +
}
              \
 No newline at end of file
 3645   4484   
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
 3646   4485   
similarity index 99%
 3647   4486   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3648   4487   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3649   4488   
index 5e1d1cf..e4e6d57 100644
 3650         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
        4489  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3651   4490   
@@ -1,9 +1,9 @@
 3652   4491   
GET
 3653   4492   
/example1/example2/../..
 3654   4493   
 3655   4494   
host:example.amazonaws.com
 3656   4495   
x-amz-date:20150830T123600Z
 3657   4496   
x-amz-region-set:us-east-1
 3658   4497   
 3659   4498   
host;x-amz-date;x-amz-region-set
 3660         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4499  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3661   4500   
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
 3662   4501   
new file mode 100644
 3663   4502   
index 0000000..2d1b47c
 3664         -
-- /dev/null
        4503  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3665   4504   
@@ -0,0 +1 @@
        4505  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3666   4506   
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
 3667   4507   
new file mode 100644
 3668   4508   
index 0000000..7158179
 3669         -
-- /dev/null
        4509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3670   4510   
@@ -0,0 +1,6 @@
        4511  +
GET /example1/example2/../.. HTTP/1.1
        4512  +
Host:example.amazonaws.com
        4513  +
X-Amz-Date:20150830T123600Z
        4514  +
X-Amz-Region-Set:us-east-1
        4515  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4516  +
 3671   4517   
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
 3672   4518   
similarity index 99%
 3673   4519   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3674   4520   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3675   4521   
index 1cca6cf..db60c8e 100644
 3676         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
        4522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3677   4523   
@@ -1,4 +1,4 @@
 3678   4524   
AWS4-ECDSA-P256-SHA256
 3679   4525   
20150830T123600Z
 3680   4526   
20150830/service/aws4_request
 3681         -
7bad1fab948577ec4e860ff2bb06ce9b69f0dd60eb8a9ad7c016b584254f9b5b
        4527  +
7bad1fab948577ec4e860ff2bb06ce9b69f0dd60eb8a9ad7c016b584254f9b5b
              \
 No newline at end of file
 3682   4528   
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
 3683   4529   
new file mode 100644
 3684   4530   
index 0000000..379dcb2
 3685         -
-- /dev/null
        4531  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3686   4532   
@@ -0,0 +1,4 @@
        4533  +
{
        4534  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4535  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4536  +
}
 3687   4537   
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
 3688   4538   
similarity index 99%
 3689   4539   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3690   4540   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3691   4541   
index 95dc104..0d963ba 100644
 3692         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
        4542  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3693   4543   
@@ -1,7 +1,7 @@
 3694   4544   
GET
 3695   4545   
/example1/example2/../..
 3696   4546   
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
 3697   4547   
host:example.amazonaws.com
 3698   4548   
 3699   4549   
host
 3700         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4550  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3701   4551   
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
 3702   4552   
new file mode 100644
 3703   4553   
index 0000000..ae774e4
 3704         -
-- /dev/null
        4554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3705   4555   
@@ -0,0 +1 @@
        4556  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3706   4557   
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
 3707   4558   
new file mode 100644
 3708   4559   
index 0000000..be6b86e
 3709         -
-- /dev/null
        4560  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3710   4561   
@@ -0,0 +1,3 @@
        4562  +
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
        4563  +
Host:example.amazonaws.com
        4564  +
 3711   4565   
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
 3712   4566   
similarity index 99%
 3713   4567   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3714   4568   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3715   4569   
index 50edce6..fcc70cd 100644
 3716         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
        4570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3717   4571   
@@ -1,4 +1,4 @@
 3718   4572   
AWS4-ECDSA-P256-SHA256
 3719   4573   
20150830T123600Z
 3720   4574   
20150830/service/aws4_request
 3721         -
504892d7f7262dd98d79ab7f3bb6f918cd59d491aacb2d76450f6e065479b31a
        4575  +
504892d7f7262dd98d79ab7f3bb6f918cd59d491aacb2d76450f6e065479b31a
              \
 No newline at end of file
 3722   4576   
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
 3723   4577   
new file mode 100644
 3724   4578   
index 0000000..a856c10
 3725         -
-- /dev/null
        4579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3726   4580   
@@ -0,0 +1,2 @@
        4581  +
GET /example1/example2/../.. HTTP/1.1
        4582  +
Host:example.amazonaws.com
 3727   4583   
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
 3728   4584   
new file mode 100644
 3729   4585   
index 0000000..7bee5c7
 3730         -
-- /dev/null
        4586  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3731   4587   
@@ -0,0 +1,12 @@
        4588  +
{
        4589  +
    "credentials": {
        4590  +
        "access_key_id": "AKIDEXAMPLE",
        4591  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4592  +
    },
        4593  +
    "expiration_in_seconds": 3600,
        4594  +
    "normalize": false,
        4595  +
    "region": "us-east-1",
        4596  +
    "service": "service",
        4597  +
    "sign_body": false,
        4598  +
    "timestamp": "2015-08-30T12:36:00Z"
        4599  +
}
              \
 No newline at end of file
 3732   4600   
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
 3733   4601   
similarity index 99%
 3734   4602   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3735   4603   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3736   4604   
index d6a0abe..22def1a 100644
 3737         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
        4605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3738   4606   
@@ -1,9 +1,9 @@
 3739   4607   
GET
 3740   4608   
/example/..
 3741   4609   
 3742   4610   
host:example.amazonaws.com
 3743   4611   
x-amz-date:20150830T123600Z
 3744   4612   
x-amz-region-set:us-east-1
 3745   4613   
 3746   4614   
host;x-amz-date;x-amz-region-set
 3747         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4615  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3748   4616   
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
 3749   4617   
new file mode 100644
 3750   4618   
index 0000000..9251bad
 3751         -
-- /dev/null
        4619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3752   4620   
@@ -0,0 +1 @@
        4621  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3753   4622   
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
 3754   4623   
new file mode 100644
 3755   4624   
index 0000000..f1bb60f
 3756         -
-- /dev/null
        4625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3757   4626   
@@ -0,0 +1,6 @@
        4627  +
GET /example/.. HTTP/1.1
        4628  +
Host:example.amazonaws.com
        4629  +
X-Amz-Date:20150830T123600Z
        4630  +
X-Amz-Region-Set:us-east-1
        4631  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4632  +
 3758   4633   
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
 3759   4634   
similarity index 99%
 3760   4635   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3761   4636   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3762   4637   
index 4a34e93..5673a20 100644
 3763         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
        4638  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3764   4639   
@@ -1,4 +1,4 @@
 3765   4640   
AWS4-ECDSA-P256-SHA256
 3766   4641   
20150830T123600Z
 3767   4642   
20150830/service/aws4_request
 3768         -
c859b5032f2ebd5df0285ff633b495b0e6e962e5adb94731c95e8e993a9a8213
        4643  +
c859b5032f2ebd5df0285ff633b495b0e6e962e5adb94731c95e8e993a9a8213
              \
 No newline at end of file
 3769   4644   
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
 3770   4645   
new file mode 100644
 3771   4646   
index 0000000..379dcb2
 3772         -
-- /dev/null
        4647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3773   4648   
@@ -0,0 +1,4 @@
        4649  +
{
        4650  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4651  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4652  +
}
 3774   4653   
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
 3775   4654   
similarity index 99%
 3776   4655   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3777   4656   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3778   4657   
index b1d123e..a1c22e0 100644
 3779         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
        4658  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3780   4659   
@@ -1,7 +1,7 @@
 3781   4660   
GET
 3782   4661   
/example/..
 3783   4662   
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
 3784   4663   
host:example.amazonaws.com
 3785   4664   
 3786   4665   
host
 3787         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4666  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3788   4667   
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
 3789   4668   
new file mode 100644
 3790   4669   
index 0000000..9f0f686
 3791         -
-- /dev/null
        4670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3792   4671   
@@ -0,0 +1 @@
        4672  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3793   4673   
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
 3794   4674   
new file mode 100644
 3795   4675   
index 0000000..d1d451a
 3796         -
-- /dev/null
        4676  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3797   4677   
@@ -0,0 +1,3 @@
        4678  +
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
        4679  +
Host:example.amazonaws.com
        4680  +
 3798   4681   
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
 3799   4682   
similarity index 99%
 3800   4683   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3801   4684   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3802   4685   
index a17f5ab..81b41e8 100644
 3803         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
        4686  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3804   4687   
@@ -1,4 +1,4 @@
 3805   4688   
AWS4-ECDSA-P256-SHA256
 3806   4689   
20150830T123600Z
 3807   4690   
20150830/service/aws4_request
 3808         -
bbbb3668f996906ebb2c96ebdc2418af99656315adaf647989ab336c88fb516e
        4691  +
bbbb3668f996906ebb2c96ebdc2418af99656315adaf647989ab336c88fb516e
              \
 No newline at end of file
 3809   4692   
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
 3810   4693   
new file mode 100644
 3811   4694   
index 0000000..6aa9f99
 3812         -
-- /dev/null
        4695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3813   4696   
@@ -0,0 +1,2 @@
        4697  +
GET /example/.. HTTP/1.1
        4698  +
Host:example.amazonaws.com
 3814   4699   
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
 3815   4700   
new file mode 100644
 3816   4701   
index 0000000..0468d80
 3817         -
-- /dev/null
        4702  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3818   4703   
@@ -0,0 +1,12 @@
        4704  +
{
        4705  +
    "credentials": {
        4706  +
        "access_key_id": "AKIDEXAMPLE",
        4707  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4708  +
    },
        4709  +
    "expiration_in_seconds": 3600,
        4710  +
    "normalize": true,
        4711  +
    "region": "us-east-1",
        4712  +
    "service": "service",
        4713  +
    "sign_body": false,
        4714  +
    "timestamp": "2015-08-30T12:36:00Z"
        4715  +
}
              \
 No newline at end of file
 3819   4716   
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
 3820   4717   
similarity index 99%
 3821   4718   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3822   4719   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3823   4720   
index 47e7128..76db73d 100644
 3824         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
        4721  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3825   4722   
@@ -1,9 +1,9 @@
 3826   4723   
GET
 3827   4724   
/
 3828   4725   
 3829   4726   
host:example.amazonaws.com
 3830   4727   
x-amz-date:20150830T123600Z
 3831   4728   
x-amz-region-set:us-east-1
 3832   4729   
 3833   4730   
host;x-amz-date;x-amz-region-set
 3834         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4731  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3835   4732   
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
 3836   4733   
new file mode 100644
 3837   4734   
index 0000000..ca6e84e
 3838         -
-- /dev/null
        4735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3839   4736   
@@ -0,0 +1 @@
        4737  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3840   4738   
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
 3841   4739   
new file mode 100644
 3842   4740   
index 0000000..a7c764c
 3843         -
-- /dev/null
        4741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3844   4742   
@@ -0,0 +1,6 @@
        4743  +
GET /./ HTTP/1.1
        4744  +
Host:example.amazonaws.com
        4745  +
X-Amz-Date:20150830T123600Z
        4746  +
X-Amz-Region-Set:us-east-1
        4747  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4748  +
 3845   4749   
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
 3846   4750   
similarity index 99%
 3847   4751   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3848   4752   
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
 3849   4753   
index 95d7219..600f1d8 100644
 3850         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
        4754  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-string-to-sign.txt
 3851   4755   
@@ -1,4 +1,4 @@
 3852   4756   
AWS4-ECDSA-P256-SHA256
 3853   4757   
20150830T123600Z
 3854   4758   
20150830/service/aws4_request
 3855         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4759  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 3856   4760   
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
 3857   4761   
new file mode 100644
 3858   4762   
index 0000000..379dcb2
 3859         -
-- /dev/null
        4763  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3860   4764   
@@ -0,0 +1,4 @@
        4765  +
{
        4766  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4767  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4768  +
}
 3861   4769   
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
 3862   4770   
similarity index 99%
 3863   4771   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3864   4772   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3865   4773   
index a34ea26..779c51c 100644
 3866         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
        4774  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3867   4775   
@@ -1,7 +1,7 @@
 3868   4776   
GET
 3869   4777   
/
 3870   4778   
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
 3871   4779   
host:example.amazonaws.com
 3872   4780   
 3873   4781   
host
 3874         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4782  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3875   4783   
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
 3876   4784   
new file mode 100644
 3877   4785   
index 0000000..4b6ed09
 3878         -
-- /dev/null
        4786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3879   4787   
@@ -0,0 +1 @@
        4788  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3880   4789   
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
 3881   4790   
new file mode 100644
 3882   4791   
index 0000000..d6c7176
 3883         -
-- /dev/null
        4792  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3884   4793   
@@ -0,0 +1,3 @@
        4794  +
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
        4795  +
Host:example.amazonaws.com
        4796  +
 3885   4797   
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
 3886   4798   
similarity index 99%
 3887   4799   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3888   4800   
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
 3889   4801   
index 48f855c..6e29a7e 100644
 3890         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
        4802  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-string-to-sign.txt
 3891   4803   
@@ -1,4 +1,4 @@
 3892   4804   
AWS4-ECDSA-P256-SHA256
 3893   4805   
20150830T123600Z
 3894   4806   
20150830/service/aws4_request
 3895         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        4807  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 3896   4808   
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
 3897   4809   
similarity index 61%
 3898   4810   
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
 3899   4811   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3900   4812   
index f3537b7..2c5ff38 100644
 3901         -
-- 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
        4813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3902   4814   
@@ -1,3 +1,2 @@
 3903   4815   
GET /./ HTTP/1.1
 3904   4816   
Host:example.amazonaws.com
 3905         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3906   4817   
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
 3907   4818   
new file mode 100644
 3908   4819   
index 0000000..7bee5c7
 3909         -
-- /dev/null
        4820  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3910   4821   
@@ -0,0 +1,12 @@
        4822  +
{
        4823  +
    "credentials": {
        4824  +
        "access_key_id": "AKIDEXAMPLE",
        4825  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4826  +
    },
        4827  +
    "expiration_in_seconds": 3600,
        4828  +
    "normalize": false,
        4829  +
    "region": "us-east-1",
        4830  +
    "service": "service",
        4831  +
    "sign_body": false,
        4832  +
    "timestamp": "2015-08-30T12:36:00Z"
        4833  +
}
              \
 No newline at end of file
 3911   4834   
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
 3912   4835   
similarity index 99%
 3913   4836   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3914   4837   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3915   4838   
index d05303d..9257ac4 100644
 3916         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
        4839  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3917   4840   
@@ -1,9 +1,9 @@
 3918   4841   
GET
 3919   4842   
/./
 3920   4843   
 3921   4844   
host:example.amazonaws.com
 3922   4845   
x-amz-date:20150830T123600Z
 3923   4846   
x-amz-region-set:us-east-1
 3924   4847   
 3925   4848   
host;x-amz-date;x-amz-region-set
 3926         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4849  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3927   4850   
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
 3928   4851   
new file mode 100644
 3929   4852   
index 0000000..2eb1aa5
 3930         -
-- /dev/null
        4853  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3931   4854   
@@ -0,0 +1 @@
        4855  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3932   4856   
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
 3933   4857   
new file mode 100644
 3934   4858   
index 0000000..df3b1da
 3935         -
-- /dev/null
        4859  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3936   4860   
@@ -0,0 +1,6 @@
        4861  +
GET /./ HTTP/1.1
        4862  +
Host:example.amazonaws.com
        4863  +
X-Amz-Date:20150830T123600Z
        4864  +
X-Amz-Region-Set:us-east-1
        4865  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4866  +
 3937   4867   
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
 3938   4868   
similarity index 99%
 3939   4869   
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
 3940   4870   
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
 3941   4871   
index e1bfb39..754b3ed 100644
 3942         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
        4872  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 3943   4873   
@@ -1,4 +1,4 @@
 3944   4874   
AWS4-ECDSA-P256-SHA256
 3945   4875   
20150830T123600Z
 3946   4876   
20150830/service/aws4_request
 3947         -
a14dce0217a32357c623c3db790988b6b5aa1494a527158b06d3ca4444561a4b
        4877  +
a14dce0217a32357c623c3db790988b6b5aa1494a527158b06d3ca4444561a4b
              \
 No newline at end of file
 3948   4878   
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
 3949   4879   
new file mode 100644
 3950   4880   
index 0000000..379dcb2
 3951         -
-- /dev/null
        4881  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3952   4882   
@@ -0,0 +1,4 @@
        4883  +
{
        4884  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4885  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4886  +
}
 3953   4887   
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
 3954   4888   
similarity index 99%
 3955   4889   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3956   4890   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3957   4891   
index f048d0f..c8edce3 100644
 3958         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
        4892  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3959   4893   
@@ -1,7 +1,7 @@
 3960   4894   
GET
 3961   4895   
/./
 3962   4896   
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
 3963   4897   
host:example.amazonaws.com
 3964   4898   
 3965   4899   
host
 3966         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4900  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3967   4901   
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
 3968   4902   
new file mode 100644
 3969   4903   
index 0000000..d3af3b8
 3970         -
-- /dev/null
        4904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3971   4905   
@@ -0,0 +1 @@
        4906  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3972   4907   
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
 3973   4908   
new file mode 100644
 3974   4909   
index 0000000..eb38155
 3975         -
-- /dev/null
        4910  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3976   4911   
@@ -0,0 +1,3 @@
        4912  +
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
        4913  +
Host:example.amazonaws.com
        4914  +
 3977   4915   
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
 3978   4916   
similarity index 99%
 3979   4917   
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
 3980   4918   
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
 3981   4919   
index bfcf245..4f20b8f 100644
 3982         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
        4920  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 3983   4921   
@@ -1,4 +1,4 @@
 3984   4922   
AWS4-ECDSA-P256-SHA256
 3985   4923   
20150830T123600Z
 3986   4924   
20150830/service/aws4_request
 3987         -
0d146fed00cdf50d7a87864583b7a33ca75322aab46b0a2d204f5d0c13440917
        4925  +
0d146fed00cdf50d7a87864583b7a33ca75322aab46b0a2d204f5d0c13440917
              \
 No newline at end of file
 3988   4926   
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
 3989   4927   
new file mode 100644
 3990   4928   
index 0000000..2c5ff38
 3991         -
-- /dev/null
        4929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3992   4930   
@@ -0,0 +1,2 @@
        4931  +
GET /./ HTTP/1.1
        4932  +
Host:example.amazonaws.com
 3993   4933   
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
 3994   4934   
new file mode 100644
 3995   4935   
index 0000000..0468d80
 3996         -
-- /dev/null
        4936  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3997   4937   
@@ -0,0 +1,12 @@
        4938  +
{
        4939  +
    "credentials": {
        4940  +
        "access_key_id": "AKIDEXAMPLE",
        4941  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4942  +
    },
        4943  +
    "expiration_in_seconds": 3600,
        4944  +
    "normalize": true,
        4945  +
    "region": "us-east-1",
        4946  +
    "service": "service",
        4947  +
    "sign_body": false,
        4948  +
    "timestamp": "2015-08-30T12:36:00Z"
        4949  +
}
              \
 No newline at end of file
 3998   4950   
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
 3999   4951   
similarity index 99%
 4000   4952   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 4001   4953   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 4002   4954   
index 47e7128..76db73d 100644
 4003         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
        4955  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 4004   4956   
@@ -1,9 +1,9 @@
 4005   4957   
GET
 4006   4958   
/
 4007   4959   
 4008   4960   
host:example.amazonaws.com
 4009   4961   
x-amz-date:20150830T123600Z
 4010   4962   
x-amz-region-set:us-east-1
 4011   4963   
 4012   4964   
host;x-amz-date;x-amz-region-set
 4013         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        4965  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4014   4966   
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
 4015   4967   
new file mode 100644
 4016   4968   
index 0000000..0c049ca
 4017         -
-- /dev/null
        4969  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 4018   4970   
@@ -0,0 +1 @@
        4971  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 4019   4972   
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
 4020   4973   
new file mode 100644
 4021   4974   
index 0000000..f4bb1e1
 4022         -
-- /dev/null
        4975  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 4023   4976   
@@ -0,0 +1,6 @@
        4977  +
GET // HTTP/1.1
        4978  +
Host:example.amazonaws.com
        4979  +
X-Amz-Date:20150830T123600Z
        4980  +
X-Amz-Region-Set:us-east-1
        4981  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4982  +
 4024   4983   
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
 4025   4984   
similarity index 99%
 4026   4985   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 4027   4986   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 4028   4987   
index 95d7219..600f1d8 100644
 4029         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
        4988  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 4030   4989   
@@ -1,4 +1,4 @@
 4031   4990   
AWS4-ECDSA-P256-SHA256
 4032   4991   
20150830T123600Z
 4033   4992   
20150830/service/aws4_request
 4034         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
        4993  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4035   4994   
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
 4036   4995   
new file mode 100644
 4037   4996   
index 0000000..379dcb2
 4038         -
-- /dev/null
        4997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 4039   4998   
@@ -0,0 +1,4 @@
        4999  +
{
        5000  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5001  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5002  +
}
 4040   5003   
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
 4041   5004   
similarity index 99%
 4042   5005   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 4043   5006   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 4044   5007   
index a34ea26..779c51c 100644
 4045         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
        5008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 4046   5009   
@@ -1,7 +1,7 @@
 4047   5010   
GET
 4048   5011   
/
 4049   5012   
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
 4050   5013   
host:example.amazonaws.com
 4051   5014   
 4052   5015   
host
 4053         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5016  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4054   5017   
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
 4055   5018   
new file mode 100644
 4056   5019   
index 0000000..ca52293
 4057         -
-- /dev/null
        5020  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 4058   5021   
@@ -0,0 +1 @@
        5022  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 4059   5023   
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
 4060   5024   
new file mode 100644
 4061   5025   
index 0000000..4a212a9
 4062         -
-- /dev/null
        5026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 4063   5027   
@@ -0,0 +1,3 @@
        5028  +
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
        5029  +
Host:example.amazonaws.com
        5030  +
 4064   5031   
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
 4065   5032   
similarity index 99%
 4066   5033   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 4067   5034   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 4068   5035   
index 48f855c..6e29a7e 100644
 4069         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
        5036  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 4070   5037   
@@ -1,4 +1,4 @@
 4071   5038   
AWS4-ECDSA-P256-SHA256
 4072   5039   
20150830T123600Z
 4073   5040   
20150830/service/aws4_request
 4074         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
        5041  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4075   5042   
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
 4076   5043   
similarity index 61%
 4077   5044   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 4078   5045   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 4079   5046   
index ede8e3c..25bc21e 100644
 4080         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        5047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 4081   5048   
@@ -1,3 +1,2 @@
 4082   5049   
GET // HTTP/1.1
 4083   5050   
Host:example.amazonaws.com
 4084         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4085   5051   
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
 4086   5052   
new file mode 100644
 4087   5053   
index 0000000..0468d80
 4088         -
-- /dev/null
        5054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 4089   5055   
@@ -0,0 +1,12 @@
        5056  +
{
        5057  +
    "credentials": {
        5058  +
        "access_key_id": "AKIDEXAMPLE",
        5059  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5060  +
    },
        5061  +
    "expiration_in_seconds": 3600,
        5062  +
    "normalize": true,
        5063  +
    "region": "us-east-1",
        5064  +
    "service": "service",
        5065  +
    "sign_body": false,
        5066  +
    "timestamp": "2015-08-30T12:36:00Z"
        5067  +
}
              \
 No newline at end of file
 4090   5068   
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
 4091   5069   
similarity index 99%
 4092   5070   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4093   5071   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4094   5072   
index 2e36c20..a51f1ba 100644
 4095         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
        5073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 4096   5074   
@@ -1,9 +1,9 @@
 4097   5075   
GET
 4098   5076   
/example
 4099   5077   
 4100   5078   
host:example.amazonaws.com
 4101   5079   
x-amz-date:20150830T123600Z
 4102   5080   
x-amz-region-set:us-east-1
 4103   5081   
 4104   5082   
host;x-amz-date;x-amz-region-set
 4105         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5083  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4106   5084   
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
 4107   5085   
new file mode 100644
 4108   5086   
index 0000000..f5c871f
 4109         -
-- /dev/null
        5087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 4110   5088   
@@ -0,0 +1 @@
        5089  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 4111   5090   
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
 4112   5091   
new file mode 100644
 4113   5092   
index 0000000..bda4718
 4114         -
-- /dev/null
        5093  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 4115   5094   
@@ -0,0 +1,6 @@
        5095  +
GET /./example HTTP/1.1
        5096  +
Host:example.amazonaws.com
        5097  +
X-Amz-Date:20150830T123600Z
        5098  +
X-Amz-Region-Set:us-east-1
        5099  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        5100  +
 4116   5101   
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
 4117   5102   
similarity index 99%
 4118   5103   
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
 4119   5104   
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
 4120   5105   
index cd30e8b..2ffe879 100644
 4121         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-string-to-sign.txt
        5106  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-string-to-sign.txt
 4122   5107   
@@ -1,4 +1,4 @@
 4123   5108   
AWS4-ECDSA-P256-SHA256
 4124   5109   
20150830T123600Z
 4125   5110   
20150830/service/aws4_request
 4126         -
823cb165e35e124f862c99c89a46414c24e3800f149377591e35a4848317e825
        5111  +
823cb165e35e124f862c99c89a46414c24e3800f149377591e35a4848317e825
              \
 No newline at end of file
 4127   5112   
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
 4128   5113   
new file mode 100644
 4129   5114   
index 0000000..379dcb2
 4130         -
-- /dev/null
        5115  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 4131   5116   
@@ -0,0 +1,4 @@
        5117  +
{
        5118  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5119  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5120  +
}
 4132   5121   
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
 4133   5122   
similarity index 99%
 4134   5123   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4135   5124   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4136   5125   
index 77cf28d..45151ea 100644
 4137         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
        5126  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 4138   5127   
@@ -1,7 +1,7 @@
 4139   5128   
GET
 4140   5129   
/example
 4141   5130   
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
 4142   5131   
host:example.amazonaws.com
 4143   5132   
 4144   5133   
host
 4145         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5134  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4146   5135   
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
 4147   5136   
new file mode 100644
 4148   5137   
index 0000000..11ad7bf
 4149         -
-- /dev/null
        5138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 4150   5139   
@@ -0,0 +1 @@
        5140  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 4151   5141   
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
 4152   5142   
new file mode 100644
 4153   5143   
index 0000000..a7537b1
 4154         -
-- /dev/null
        5144  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 4155   5145   
@@ -0,0 +1,3 @@
        5146  +
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
        5147  +
Host:example.amazonaws.com
        5148  +
 4156   5149   
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
 4157   5150   
similarity index 99%
 4158   5151   
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
 4159   5152   
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
 4160   5153   
index 49d9b24..b486672 100644
 4161         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-string-to-sign.txt
        5154  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 4162   5155   
@@ -1,4 +1,4 @@
 4163   5156   
AWS4-ECDSA-P256-SHA256
 4164   5157   
20150830T123600Z
 4165   5158   
20150830/service/aws4_request
 4166         -
0cc67a8acfed5946b645794c649dd98d3485728119cdf17d38985ba0ff55abca
        5159  +
0cc67a8acfed5946b645794c649dd98d3485728119cdf17d38985ba0ff55abca
              \
 No newline at end of file
 4167   5160   
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
 4168   5161   
similarity index 65%
 4169   5162   
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
 4170   5163   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 4171   5164   
index 3c91071..5d919c9 100644
 4172         -
-- 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
        5165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 4173   5166   
@@ -1,3 +1,2 @@
 4174   5167   
GET /./example HTTP/1.1
 4175   5168   
Host:example.amazonaws.com
 4176         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4177   5169   
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
 4178   5170   
new file mode 100644
 4179   5171   
index 0000000..7bee5c7
 4180         -
-- /dev/null
        5172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 4181   5173   
@@ -0,0 +1,12 @@
        5174  +
{
        5175  +
    "credentials": {
        5176  +
        "access_key_id": "AKIDEXAMPLE",
        5177  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5178  +
    },
        5179  +
    "expiration_in_seconds": 3600,
        5180  +
    "normalize": false,
        5181  +
    "region": "us-east-1",
        5182  +
    "service": "service",
        5183  +
    "sign_body": false,
        5184  +
    "timestamp": "2015-08-30T12:36:00Z"
        5185  +
}
              \
 No newline at end of file
 4182   5186   
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
 4183   5187   
similarity index 99%
 4184   5188   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4185   5189   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4186   5190   
index 4444842..2355a69 100644
 4187         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
        5191  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 4188   5192   
@@ -1,9 +1,9 @@
 4189   5193   
GET
 4190   5194   
/./example
 4191   5195   
 4192   5196   
host:example.amazonaws.com
 4193   5197   
x-amz-date:20150830T123600Z
 4194   5198   
x-amz-region-set:us-east-1
 4195   5199   
 4196   5200   
host;x-amz-date;x-amz-region-set
 4197         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5201  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4198   5202   
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
 4199   5203   
new file mode 100644
 4200   5204   
index 0000000..9c8f737
 4201         -
-- /dev/null
        5205  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 4202   5206   
@@ -0,0 +1 @@
        5207  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 4203   5208   
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
 4204   5209   
new file mode 100644
 4205   5210   
index 0000000..aa5980d
 4206         -
-- /dev/null
        5211  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 4207   5212   
@@ -0,0 +1,6 @@
        5213  +
GET /./example HTTP/1.1
        5214  +
Host:example.amazonaws.com
        5215  +
X-Amz-Date:20150830T123600Z
        5216  +
X-Amz-Region-Set:us-east-1
        5217  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        5218  +
 4208   5219   
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
 4209   5220   
similarity index 99%
 4210   5221   
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
 4211   5222   
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
 4212   5223   
index cc63510..d056816 100644
 4213         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
        5224  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 4214   5225   
@@ -1,4 +1,4 @@
 4215   5226   
AWS4-ECDSA-P256-SHA256
 4216   5227   
20150830T123600Z
 4217   5228   
20150830/service/aws4_request
 4218         -
407314cdff397462b2458ba1860907adefcbb73fd630ddbd3de7300d2f773804
        5229  +
407314cdff397462b2458ba1860907adefcbb73fd630ddbd3de7300d2f773804
              \
 No newline at end of file
 4219   5230   
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
 4220   5231   
new file mode 100644
 4221   5232   
index 0000000..379dcb2
 4222         -
-- /dev/null
        5233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 4223   5234   
@@ -0,0 +1,4 @@
        5235  +
{
        5236  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5237  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5238  +
}
 4224   5239   
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
 4225   5240   
similarity index 99%
 4226   5241   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4227   5242   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4228   5243   
index ed2cb2d..df9928e 100644
 4229         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
        5244  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 4230   5245   
@@ -1,7 +1,7 @@
 4231   5246   
GET
 4232   5247   
/./example
 4233   5248   
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
 4234   5249   
host:example.amazonaws.com
 4235   5250   
 4236   5251   
host
 4237         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5252  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4238   5253   
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
 4239   5254   
new file mode 100644
 4240   5255   
index 0000000..bb4d86b
 4241         -
-- /dev/null
        5256  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 4242   5257   
@@ -0,0 +1 @@
        5258  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 4243   5259   
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
 4244   5260   
new file mode 100644
 4245   5261   
index 0000000..0061136
 4246         -
-- /dev/null
        5262  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 4247   5263   
@@ -0,0 +1,3 @@
        5264  +
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
        5265  +
Host:example.amazonaws.com
        5266  +
 4248   5267   
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
 4249   5268   
similarity index 99%
 4250   5269   
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
 4251   5270   
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
 4252   5271   
index c9f3b6d..418f2d6 100644
 4253         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
        5272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 4254   5273   
@@ -1,4 +1,4 @@
 4255   5274   
AWS4-ECDSA-P256-SHA256
 4256   5275   
20150830T123600Z
 4257   5276   
20150830/service/aws4_request
 4258         -
efbe4f47c2acbb53fbfd0be6846cfa35a48c21f3f800e741278dae7b721302b4
        5277  +
efbe4f47c2acbb53fbfd0be6846cfa35a48c21f3f800e741278dae7b721302b4
              \
 No newline at end of file
 4259   5278   
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
 4260   5279   
new file mode 100644
 4261   5280   
index 0000000..5d919c9
 4262         -
-- /dev/null
        5281  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 4263   5282   
@@ -0,0 +1,2 @@
        5283  +
GET /./example HTTP/1.1
        5284  +
Host:example.amazonaws.com
 4264   5285   
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
 4265   5286   
new file mode 100644
 4266   5287   
index 0000000..7bee5c7
 4267         -
-- /dev/null
        5288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 4268   5289   
@@ -0,0 +1,12 @@
        5290  +
{
        5291  +
    "credentials": {
        5292  +
        "access_key_id": "AKIDEXAMPLE",
        5293  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5294  +
    },
        5295  +
    "expiration_in_seconds": 3600,
        5296  +
    "normalize": false,
        5297  +
    "region": "us-east-1",
        5298  +
    "service": "service",
        5299  +
    "sign_body": false,
        5300  +
    "timestamp": "2015-08-30T12:36:00Z"
        5301  +
}
              \
 No newline at end of file
 4269   5302   
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
 4270   5303   
similarity index 99%
 4271   5304   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 4272   5305   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 4273   5306   
index 8a4d33b..5f809da 100644
 4274         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
        5307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 4275   5308   
@@ -1,9 +1,9 @@
 4276   5309   
GET
 4277   5310   
//
 4278   5311   
 4279   5312   
host:example.amazonaws.com
 4280   5313   
x-amz-date:20150830T123600Z
 4281   5314   
x-amz-region-set:us-east-1
 4282   5315   
 4283   5316   
host;x-amz-date;x-amz-region-set
 4284         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5317  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4285   5318   
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
 4286   5319   
new file mode 100644
 4287   5320   
index 0000000..60179e9
 4288         -
-- /dev/null
        5321  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 4289   5322   
@@ -0,0 +1 @@
        5323  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 4290   5324   
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
 4291   5325   
new file mode 100644
 4292   5326   
index 0000000..72bf1b7
 4293         -
-- /dev/null
        5327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 4294   5328   
@@ -0,0 +1,6 @@
        5329  +
GET // HTTP/1.1
        5330  +
Host:example.amazonaws.com
        5331  +
X-Amz-Date:20150830T123600Z
        5332  +
X-Amz-Region-Set:us-east-1
        5333  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        5334  +
 4295   5335   
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
 4296   5336   
similarity index 99%
 4297   5337   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 4298   5338   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 4299   5339   
index 874c01c..2b3bf67 100644
 4300         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
        5340  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 4301   5341   
@@ -1,4 +1,4 @@
 4302   5342   
AWS4-ECDSA-P256-SHA256
 4303   5343   
20150830T123600Z
 4304   5344   
20150830/service/aws4_request
 4305         -
fc8f42c7ce50ba8830a34b16d9fb478170176d78c81339e8d7e31d4baa9ec9f4
        5345  +
fc8f42c7ce50ba8830a34b16d9fb478170176d78c81339e8d7e31d4baa9ec9f4
              \
 No newline at end of file
 4306   5346   
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
 4307   5347   
new file mode 100644
 4308   5348   
index 0000000..379dcb2
 4309         -
-- /dev/null
        5349  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 4310   5350   
@@ -0,0 +1,4 @@
        5351  +
{
        5352  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5353  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5354  +
}
 4311   5355   
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
 4312   5356   
similarity index 99%
 4313   5357   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 4314   5358   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 4315   5359   
index 81d7b0b..d10ad29 100644
 4316         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
        5360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 4317   5361   
@@ -1,7 +1,7 @@
 4318   5362   
GET
 4319   5363   
//
 4320   5364   
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
 4321   5365   
host:example.amazonaws.com
 4322   5366   
 4323   5367   
host
 4324         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5368  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4325   5369   
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
 4326   5370   
new file mode 100644
 4327   5371   
index 0000000..d9bd824
 4328         -
-- /dev/null
        5372  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 4329   5373   
@@ -0,0 +1 @@
        5374  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 4330   5375   
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
 4331   5376   
new file mode 100644
 4332   5377   
index 0000000..19d1d46
 4333         -
-- /dev/null
        5378  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 4334   5379   
@@ -0,0 +1,3 @@
        5380  +
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
        5381  +
Host:example.amazonaws.com
        5382  +
 4335   5383   
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
 4336   5384   
similarity index 99%
 4337   5385   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 4338   5386   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 4339   5387   
index 17e5279..24c8a5e 100644
 4340         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
        5388  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 4341   5389   
@@ -1,4 +1,4 @@
 4342   5390   
AWS4-ECDSA-P256-SHA256
 4343   5391   
20150830T123600Z
 4344   5392   
20150830/service/aws4_request
 4345         -
633e0570a745c18cc22e43af8be65cfed3e7173061ec403353734bdfae90e0b6
        5393  +
633e0570a745c18cc22e43af8be65cfed3e7173061ec403353734bdfae90e0b6
              \
 No newline at end of file
 4346   5394   
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
 4347   5395   
new file mode 100644
 4348   5396   
index 0000000..25bc21e
 4349         -
-- /dev/null
        5397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 4350   5398   
@@ -0,0 +1,2 @@
        5399  +
GET // HTTP/1.1
        5400  +
Host:example.amazonaws.com
 4351   5401   
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
 4352   5402   
new file mode 100644
 4353   5403   
index 0000000..0468d80
 4354         -
-- /dev/null
        5404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 4355   5405   
@@ -0,0 +1,12 @@
        5406  +
{
        5407  +
    "credentials": {
        5408  +
        "access_key_id": "AKIDEXAMPLE",
        5409  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5410  +
    },
        5411  +
    "expiration_in_seconds": 3600,
        5412  +
    "normalize": true,
        5413  +
    "region": "us-east-1",
        5414  +
    "service": "service",
        5415  +
    "sign_body": false,
        5416  +
    "timestamp": "2015-08-30T12:36:00Z"
        5417  +
}
              \
 No newline at end of file
 4356   5418   
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
 4357   5419   
similarity index 99%
 4358   5420   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 4359   5421   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 4360   5422   
index fdf9c48..a8e9e02 100644
 4361         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
        5423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 4362   5424   
@@ -1,9 +1,9 @@
 4363   5425   
GET
 4364   5426   
/example/
 4365   5427   
 4366   5428   
host:example.amazonaws.com
 4367   5429   
x-amz-date:20150830T123600Z
 4368   5430   
x-amz-region-set:us-east-1
 4369   5431   
 4370   5432   
host;x-amz-date;x-amz-region-set
 4371         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5433  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4372   5434   
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
 4373   5435   
new file mode 100644
 4374   5436   
index 0000000..ffe1b60
 4375         -
-- /dev/null
        5437  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 4376   5438   
@@ -0,0 +1 @@
        5439  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 4377   5440   
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
 4378   5441   
new file mode 100644
 4379   5442   
index 0000000..3189f55
 4380         -
-- /dev/null
        5443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 4381   5444   
@@ -0,0 +1,6 @@
        5445  +
GET //example// HTTP/1.1
        5446  +
Host:example.amazonaws.com
        5447  +
X-Amz-Date:20150830T123600Z
        5448  +
X-Amz-Region-Set:us-east-1
        5449  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        5450  +
 4382   5451   
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
 4383   5452   
similarity index 99%
 4384   5453   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 4385   5454   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 4386   5455   
index 8f9c95e..430020e 100644
 4387         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
        5456  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 4388   5457   
@@ -1,4 +1,4 @@
 4389   5458   
AWS4-ECDSA-P256-SHA256
 4390   5459   
20150830T123600Z
 4391   5460   
20150830/service/aws4_request
 4392         -
ea6c9c4bc1e85b94f2579cebbc85a84c3f8eaa055c006697555f074dd68509a6
        5461  +
ea6c9c4bc1e85b94f2579cebbc85a84c3f8eaa055c006697555f074dd68509a6
              \
 No newline at end of file
 4393   5462   
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
 4394   5463   
new file mode 100644
 4395   5464   
index 0000000..379dcb2
 4396         -
-- /dev/null
        5465  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 4397   5466   
@@ -0,0 +1,4 @@
        5467  +
{
        5468  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5469  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5470  +
}
 4398   5471   
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
 4399   5472   
similarity index 99%
 4400   5473   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 4401   5474   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 4402   5475   
index 1046735..8d41e37 100644
 4403         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
        5476  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 4404   5477   
@@ -1,7 +1,7 @@
 4405   5478   
GET
 4406   5479   
/example/
 4407   5480   
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
 4408   5481   
host:example.amazonaws.com
 4409   5482   
 4410   5483   
host
 4411         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5484  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4412   5485   
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
 4413   5486   
new file mode 100644
 4414   5487   
index 0000000..93a0fa4
 4415         -
-- /dev/null
        5488  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 4416   5489   
@@ -0,0 +1 @@
        5490  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 4417   5491   
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
 4418   5492   
new file mode 100644
 4419   5493   
index 0000000..65c8cb6
 4420         -
-- /dev/null
        5494  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 4421   5495   
@@ -0,0 +1,3 @@
        5496  +
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
        5497  +
Host:example.amazonaws.com
        5498  +
 4422   5499   
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
 4423   5500   
similarity index 99%
 4424   5501   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 4425   5502   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 4426   5503   
index b293cc2..0f4c4c5 100644
 4427         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
        5504  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 4428   5505   
@@ -1,4 +1,4 @@
 4429   5506   
AWS4-ECDSA-P256-SHA256
 4430   5507   
20150830T123600Z
 4431   5508   
20150830/service/aws4_request
 4432         -
ab3f7b8af0ce16e0faf508160fb13d890874992d74f36214ae9eec7437361f2b
        5509  +
ab3f7b8af0ce16e0faf508160fb13d890874992d74f36214ae9eec7437361f2b
              \
 No newline at end of file
 4433   5510   
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
 4434   5511   
similarity index 65%
 4435   5512   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 4436   5513   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4437   5514   
index a4307ce..12e0931 100644
 4438         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        5515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 4439   5516   
@@ -1,3 +1,2 @@
 4440   5517   
GET //example// HTTP/1.1
 4441   5518   
Host:example.amazonaws.com
 4442         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4443   5519   
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
 4444   5520   
new file mode 100644
 4445   5521   
index 0000000..7bee5c7
 4446         -
-- /dev/null
        5522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 4447   5523   
@@ -0,0 +1,12 @@
        5524  +
{
        5525  +
    "credentials": {
        5526  +
        "access_key_id": "AKIDEXAMPLE",
        5527  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5528  +
    },
        5529  +
    "expiration_in_seconds": 3600,
        5530  +
    "normalize": false,
        5531  +
    "region": "us-east-1",
        5532  +
    "service": "service",
        5533  +
    "sign_body": false,
        5534  +
    "timestamp": "2015-08-30T12:36:00Z"
        5535  +
}
              \
 No newline at end of file
 4448   5536   
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
 4449   5537   
similarity index 99%
 4450   5538   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 4451   5539   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 4452   5540   
index a9c55f6..76f55ed 100644
 4453         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
        5541  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 4454   5542   
@@ -1,9 +1,9 @@
 4455   5543   
GET
 4456   5544   
//example//
 4457   5545   
 4458   5546   
host:example.amazonaws.com
 4459   5547   
x-amz-date:20150830T123600Z
 4460   5548   
x-amz-region-set:us-east-1
 4461   5549   
 4462   5550   
host;x-amz-date;x-amz-region-set
 4463         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5551  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4464   5552   
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
 4465   5553   
new file mode 100644
 4466   5554   
index 0000000..de333b2
 4467         -
-- /dev/null
        5555  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 4468   5556   
@@ -0,0 +1 @@
        5557  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 4469   5558   
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
 4470   5559   
new file mode 100644
 4471   5560   
index 0000000..773ce63
 4472         -
-- /dev/null
        5561  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 4473   5562   
@@ -0,0 +1,6 @@
        5563  +
GET //example// HTTP/1.1
        5564  +
Host:example.amazonaws.com
        5565  +
X-Amz-Date:20150830T123600Z
        5566  +
X-Amz-Region-Set:us-east-1
        5567  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        5568  +
 4474   5569   
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
 4475   5570   
similarity index 99%
 4476   5571   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 4477   5572   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 4478   5573   
index 5c4c2cd..46c3265 100644
 4479         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
        5574  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 4480   5575   
@@ -1,4 +1,4 @@
 4481   5576   
AWS4-ECDSA-P256-SHA256
 4482   5577   
20150830T123600Z
 4483   5578   
20150830/service/aws4_request
 4484         -
bf8c459a6a7f3879f55bff41e4dca65f69df4628456904e47f83013c0deb7276
        5579  +
bf8c459a6a7f3879f55bff41e4dca65f69df4628456904e47f83013c0deb7276
              \
 No newline at end of file
 4485   5580   
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
 4486   5581   
new file mode 100644
 4487   5582   
index 0000000..379dcb2
 4488         -
-- /dev/null
        5583  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 4489   5584   
@@ -0,0 +1,4 @@
        5585  +
{
        5586  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5587  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5588  +
}
 4490   5589   
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
 4491   5590   
similarity index 99%
 4492   5591   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 4493   5592   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 4494   5593   
index c878ab4..6047ccf 100644
 4495         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
        5594  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 4496   5595   
@@ -1,7 +1,7 @@
 4497   5596   
GET
 4498   5597   
//example//
 4499   5598   
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
 4500   5599   
host:example.amazonaws.com
 4501   5600   
 4502   5601   
host
 4503         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5602  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4504   5603   
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
 4505   5604   
new file mode 100644
 4506   5605   
index 0000000..d61fcd0
 4507         -
-- /dev/null
        5606  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 4508   5607   
@@ -0,0 +1 @@
        5608  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 4509   5609   
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
 4510   5610   
new file mode 100644
 4511   5611   
index 0000000..3e37b5b
 4512         -
-- /dev/null
        5612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 4513   5613   
@@ -0,0 +1,3 @@
        5614  +
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
        5615  +
Host:example.amazonaws.com
        5616  +
 4514   5617   
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
 4515   5618   
similarity index 99%
 4516   5619   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 4517   5620   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4518   5621   
index 5f59645..2537d28 100644
 4519         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
        5622  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4520   5623   
@@ -1,4 +1,4 @@
 4521   5624   
AWS4-ECDSA-P256-SHA256
 4522   5625   
20150830T123600Z
 4523   5626   
20150830/service/aws4_request
 4524         -
660b4a6f0bd53b287cefb21cdf69c1574303de44d2e9f7759b5379b428b70157
        5627  +
660b4a6f0bd53b287cefb21cdf69c1574303de44d2e9f7759b5379b428b70157
              \
 No newline at end of file
 4525   5628   
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
 4526   5629   
new file mode 100644
 4527   5630   
index 0000000..12e0931
 4528         -
-- /dev/null
        5631  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 4529   5632   
@@ -0,0 +1,2 @@
        5633  +
GET //example// HTTP/1.1
        5634  +
Host:example.amazonaws.com
 4530   5635   
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
 4531   5636   
new file mode 100644
 4532   5637   
index 0000000..0468d80
 4533         -
-- /dev/null
        5638  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 4534   5639   
@@ -0,0 +1,12 @@
        5640  +
{
        5641  +
    "credentials": {
        5642  +
        "access_key_id": "AKIDEXAMPLE",
        5643  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5644  +
    },
        5645  +
    "expiration_in_seconds": 3600,
        5646  +
    "normalize": true,
        5647  +
    "region": "us-east-1",
        5648  +
    "service": "service",
        5649  +
    "sign_body": false,
        5650  +
    "timestamp": "2015-08-30T12:36:00Z"
        5651  +
}
              \
 No newline at end of file
 4535   5652   
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
 4536   5653   
new file mode 100644
 4537   5654   
index 0000000..0b2b616
 4538         -
-- /dev/null
        5655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 4539   5656   
@@ -0,0 +1,9 @@
        5657  +
GET
        5658  +
/example%20space/
        5659  +
        5660  +
host:example.amazonaws.com
        5661  +
x-amz-date:20150830T123600Z
        5662  +
x-amz-region-set:us-east-1
        5663  +
        5664  +
host;x-amz-date;x-amz-region-set
        5665  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4540   5666   
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
 4541   5667   
new file mode 100644
 4542   5668   
index 0000000..6e7841d
 4543         -
-- /dev/null
        5669  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 4544   5670   
@@ -0,0 +1 @@
        5671  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 4545   5672   
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
 4546   5673   
new file mode 100644
 4547   5674   
index 0000000..0969cd3
 4548         -
-- /dev/null
        5675  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 4549   5676   
@@ -0,0 +1,6 @@
        5677  +
GET /example space/ HTTP/1.1
        5678  +
Host:example.amazonaws.com
        5679  +
X-Amz-Date:20150830T123600Z
        5680  +
X-Amz-Region-Set:us-east-1
        5681  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        5682  +
 4550   5683   
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
 4551   5684   
new file mode 100644
 4552   5685   
index 0000000..ddae6e2
 4553         -
-- /dev/null
        5686  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 4554   5687   
@@ -0,0 +1,4 @@
        5688  +
AWS4-ECDSA-P256-SHA256
        5689  +
20150830T123600Z
        5690  +
20150830/service/aws4_request
        5691  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4555   5692   
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
 4556   5693   
new file mode 100644
 4557   5694   
index 0000000..379dcb2
 4558         -
-- /dev/null
        5695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 4559   5696   
@@ -0,0 +1,4 @@
        5697  +
{
        5698  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5699  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5700  +
}
 4560   5701   
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
 4561   5702   
new file mode 100644
 4562   5703   
index 0000000..a66b3cb
 4563         -
-- /dev/null
        5704  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 4564   5705   
@@ -0,0 +1,7 @@
        5706  +
GET
        5707  +
/example%20space/
        5708  +
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
        5709  +
host:example.amazonaws.com
        5710  +
        5711  +
host
        5712  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4565   5713   
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
 4566   5714   
new file mode 100644
 4567   5715   
index 0000000..b3253ae
 4568         -
-- /dev/null
        5716  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 4569   5717   
@@ -0,0 +1 @@
        5718  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 4570   5719   
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
 4571   5720   
new file mode 100644
 4572   5721   
index 0000000..9e335b2
 4573         -
-- /dev/null
        5722  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 4574   5723   
@@ -0,0 +1,3 @@
        5724  +
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
        5725  +
Host:example.amazonaws.com
        5726  +
 4575   5727   
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
 4576   5728   
new file mode 100644
 4577   5729   
index 0000000..b6ff6fb
 4578         -
-- /dev/null
        5730  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 4579   5731   
@@ -0,0 +1,4 @@
        5732  +
AWS4-ECDSA-P256-SHA256
        5733  +
20150830T123600Z
        5734  +
20150830/service/aws4_request
        5735  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4580   5736   
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
 4581   5737   
new file mode 100644
 4582   5738   
index 0000000..ab509ab
 4583         -
-- /dev/null
        5739  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 4584   5740   
@@ -0,0 +1,2 @@
        5741  +
GET /example space/ HTTP/1.1
        5742  +
Host:example.amazonaws.com
 4585   5743   
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
 4586   5744   
new file mode 100644
 4587   5745   
index 0000000..7bee5c7
 4588         -
-- /dev/null
        5746  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 4589   5747   
@@ -0,0 +1,12 @@
        5748  +
{
        5749  +
    "credentials": {
        5750  +
        "access_key_id": "AKIDEXAMPLE",
        5751  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5752  +
    },
        5753  +
    "expiration_in_seconds": 3600,
        5754  +
    "normalize": false,
        5755  +
    "region": "us-east-1",
        5756  +
    "service": "service",
        5757  +
    "sign_body": false,
        5758  +
    "timestamp": "2015-08-30T12:36:00Z"
        5759  +
}
              \
 No newline at end of file
 4590   5760   
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
 4591   5761   
new file mode 100644
 4592   5762   
index 0000000..0b2b616
 4593         -
-- /dev/null
        5763  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 4594   5764   
@@ -0,0 +1,9 @@
        5765  +
GET
        5766  +
/example%20space/
        5767  +
        5768  +
host:example.amazonaws.com
        5769  +
x-amz-date:20150830T123600Z
        5770  +
x-amz-region-set:us-east-1
        5771  +
        5772  +
host;x-amz-date;x-amz-region-set
        5773  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4595   5774   
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
 4596   5775   
new file mode 100644
 4597   5776   
index 0000000..e75ae08
 4598         -
-- /dev/null
        5777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 4599   5778   
@@ -0,0 +1 @@
        5779  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 4600   5780   
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
 4601   5781   
new file mode 100644
 4602   5782   
index 0000000..cb089db
 4603         -
-- /dev/null
        5783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 4604   5784   
@@ -0,0 +1,6 @@
        5785  +
GET /example space/ HTTP/1.1
        5786  +
Host:example.amazonaws.com
        5787  +
X-Amz-Date:20150830T123600Z
        5788  +
X-Amz-Region-Set:us-east-1
        5789  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5790  +
 4605   5791   
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
 4606   5792   
new file mode 100644
 4607   5793   
index 0000000..ddae6e2
 4608         -
-- /dev/null
        5794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 4609   5795   
@@ -0,0 +1,4 @@
        5796  +
AWS4-ECDSA-P256-SHA256
        5797  +
20150830T123600Z
        5798  +
20150830/service/aws4_request
        5799  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4610   5800   
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
 4611   5801   
new file mode 100644
 4612   5802   
index 0000000..379dcb2
 4613         -
-- /dev/null
        5803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 4614   5804   
@@ -0,0 +1,4 @@
        5805  +
{
        5806  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5807  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5808  +
}
 4615   5809   
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
 4616   5810   
new file mode 100644
 4617   5811   
index 0000000..a66b3cb
 4618         -
-- /dev/null
        5812  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 4619   5813   
@@ -0,0 +1,7 @@
        5814  +
GET
        5815  +
/example%20space/
        5816  +
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
        5817  +
host:example.amazonaws.com
        5818  +
        5819  +
host
        5820  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4620   5821   
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
 4621   5822   
new file mode 100644
 4622   5823   
index 0000000..66a80c3
 4623         -
-- /dev/null
        5824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 4624   5825   
@@ -0,0 +1 @@
        5826  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 4625   5827   
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
 4626   5828   
new file mode 100644
 4627   5829   
index 0000000..7d1b9d9
 4628         -
-- /dev/null
        5830  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 4629   5831   
@@ -0,0 +1,3 @@
        5832  +
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
        5833  +
Host:example.amazonaws.com
        5834  +
 4630   5835   
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
 4631   5836   
new file mode 100644
 4632   5837   
index 0000000..b6ff6fb
 4633         -
-- /dev/null
        5838  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 4634   5839   
@@ -0,0 +1,4 @@
        5840  +
AWS4-ECDSA-P256-SHA256
        5841  +
20150830T123600Z
        5842  +
20150830/service/aws4_request
        5843  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4635   5844   
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
 4636   5845   
new file mode 100644
 4637   5846   
index 0000000..ab509ab
 4638         -
-- /dev/null
        5847  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 4639   5848   
@@ -0,0 +1,2 @@
        5849  +
GET /example space/ HTTP/1.1
        5850  +
Host:example.amazonaws.com
 4640   5851   
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
 4641   5852   
new file mode 100644
 4642   5853   
index 0000000..0468d80
 4643         -
-- /dev/null
        5854  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 4644   5855   
@@ -0,0 +1,12 @@
        5856  +
{
        5857  +
    "credentials": {
        5858  +
        "access_key_id": "AKIDEXAMPLE",
        5859  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5860  +
    },
        5861  +
    "expiration_in_seconds": 3600,
        5862  +
    "normalize": true,
        5863  +
    "region": "us-east-1",
        5864  +
    "service": "service",
        5865  +
    "sign_body": false,
        5866  +
    "timestamp": "2015-08-30T12:36:00Z"
        5867  +
}
              \
 No newline at end of file
 4645   5868   
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
 4646   5869   
similarity index 99%
 4647   5870   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 4648   5871   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4649   5872   
index b0db648..46d76bb 100644
 4650         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
        5873  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4651   5874   
@@ -1,9 +1,9 @@
 4652   5875   
GET
 4653   5876   
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4654   5877   
 4655   5878   
host:example.amazonaws.com
 4656   5879   
x-amz-date:20150830T123600Z
 4657   5880   
x-amz-region-set:us-east-1
 4658   5881   
 4659   5882   
host;x-amz-date;x-amz-region-set
 4660         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5883  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4661   5884   
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
 4662   5885   
new file mode 100644
 4663   5886   
index 0000000..53c0cb6
 4664         -
-- /dev/null
        5887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 4665   5888   
@@ -0,0 +1 @@
        5889  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 4666   5890   
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
 4667   5891   
new file mode 100644
 4668   5892   
index 0000000..3bdb653
 4669         -
-- /dev/null
        5893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 4670   5894   
@@ -0,0 +1,6 @@
        5895  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5896  +
Host:example.amazonaws.com
        5897  +
X-Amz-Date:20150830T123600Z
        5898  +
X-Amz-Region-Set:us-east-1
        5899  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5900  +
 4671   5901   
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
 4672   5902   
similarity index 99%
 4673   5903   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 4674   5904   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4675   5905   
index 20c7cd6..3b30173 100644
 4676         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
        5906  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4677   5907   
@@ -1,4 +1,4 @@
 4678   5908   
AWS4-ECDSA-P256-SHA256
 4679   5909   
20150830T123600Z
 4680   5910   
20150830/service/aws4_request
 4681         -
b48c0f7d7cdaa2cd05e4b789c913063becd96ccace5296a334c950040e58bcac
        5911  +
b48c0f7d7cdaa2cd05e4b789c913063becd96ccace5296a334c950040e58bcac
              \
 No newline at end of file
 4682   5912   
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
 4683   5913   
new file mode 100644
 4684   5914   
index 0000000..379dcb2
 4685         -
-- /dev/null
        5915  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 4686   5916   
@@ -0,0 +1,4 @@
        5917  +
{
        5918  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5919  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5920  +
}
 4687   5921   
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
 4688   5922   
similarity index 99%
 4689   5923   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 4690   5924   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4691   5925   
index f9fb726..7e93f58 100644
 4692         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
        5926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4693   5927   
@@ -1,7 +1,7 @@
 4694   5928   
GET
 4695   5929   
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 4696   5930   
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
 4697   5931   
host:example.amazonaws.com
 4698   5932   
 4699   5933   
host
 4700         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        5934  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4701   5935   
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
 4702   5936   
new file mode 100644
 4703   5937   
index 0000000..48311a8
 4704         -
-- /dev/null
        5938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 4705   5939   
@@ -0,0 +1 @@
        5940  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 4706   5941   
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
 4707   5942   
new file mode 100644
 4708   5943   
index 0000000..82da9be
 4709         -
-- /dev/null
        5944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 4710   5945   
@@ -0,0 +1,3 @@
        5946  +
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
        5947  +
Host:example.amazonaws.com
        5948  +
 4711   5949   
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
 4712   5950   
similarity index 99%
 4713   5951   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 4714   5952   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4715   5953   
index ef06e89..4aab9a2 100644
 4716         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
        5954  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4717   5955   
@@ -1,4 +1,4 @@
 4718   5956   
AWS4-ECDSA-P256-SHA256
 4719   5957   
20150830T123600Z
 4720   5958   
20150830/service/aws4_request
 4721         -
a967a5035e5dc574f94fb9f0de0faf9d56e889c26d9a65d7d0a15d89690280d1
        5959  +
a967a5035e5dc574f94fb9f0de0faf9d56e889c26d9a65d7d0a15d89690280d1
              \
 No newline at end of file
 4722   5960   
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
 4723   5961   
similarity index 80%
 4724   5962   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 4725   5963   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4726   5964   
index da760cd..a149694 100644
 4727         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5965  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4728   5966   
@@ -1,3 +1,2 @@
 4729   5967   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4730   5968   
Host:example.amazonaws.com
 4731         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4732   5969   
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
 4733   5970   
new file mode 100644
 4734   5971   
index 0000000..0468d80
 4735         -
-- /dev/null
        5972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4736   5973   
@@ -0,0 +1,12 @@
        5974  +
{
        5975  +
    "credentials": {
        5976  +
        "access_key_id": "AKIDEXAMPLE",
        5977  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5978  +
    },
        5979  +
    "expiration_in_seconds": 3600,
        5980  +
    "normalize": true,
        5981  +
    "region": "us-east-1",
        5982  +
    "service": "service",
        5983  +
    "sign_body": false,
        5984  +
    "timestamp": "2015-08-30T12:36:00Z"
        5985  +
}
              \
 No newline at end of file
 4737   5986   
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
 4738   5987   
new file mode 100644
 4739   5988   
index 0000000..0f1afe7
 4740         -
-- /dev/null
        5989  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4741   5990   
@@ -0,0 +1,9 @@
        5991  +
GET
        5992  +
/%E1%88%B4
        5993  +
        5994  +
host:example.amazonaws.com
        5995  +
x-amz-date:20150830T123600Z
        5996  +
x-amz-region-set:us-east-1
        5997  +
        5998  +
host;x-amz-date;x-amz-region-set
        5999  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4742   6000   
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
 4743   6001   
new file mode 100644
 4744   6002   
index 0000000..4b9af6c
 4745         -
-- /dev/null
        6003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4746   6004   
@@ -0,0 +1 @@
        6005  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 4747   6006   
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
 4748   6007   
new file mode 100644
 4749   6008   
index 0000000..d42d7b3
 4750         -
-- /dev/null
        6009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4751   6010   
@@ -0,0 +1,6 @@
        6011  +
GET /ሴ HTTP/1.1
        6012  +
Host:example.amazonaws.com
        6013  +
X-Amz-Date:20150830T123600Z
        6014  +
X-Amz-Region-Set:us-east-1
        6015  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        6016  +
 4752   6017   
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
 4753   6018   
new file mode 100644
 4754   6019   
index 0000000..0827f62
 4755         -
-- /dev/null
        6020  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4756   6021   
@@ -0,0 +1,4 @@
        6022  +
AWS4-ECDSA-P256-SHA256
        6023  +
20150830T123600Z
        6024  +
20150830/service/aws4_request
        6025  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4757   6026   
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
 4758   6027   
new file mode 100644
 4759   6028   
index 0000000..379dcb2
 4760         -
-- /dev/null
        6029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4761   6030   
@@ -0,0 +1,4 @@
        6031  +
{
        6032  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6033  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6034  +
}
 4762   6035   
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
 4763   6036   
new file mode 100644
 4764   6037   
index 0000000..a41a2f8
 4765         -
-- /dev/null
        6038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4766   6039   
@@ -0,0 +1,7 @@
        6040  +
GET
        6041  +
/%E1%88%B4
        6042  +
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
        6043  +
host:example.amazonaws.com
        6044  +
        6045  +
host
        6046  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4767   6047   
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
 4768   6048   
new file mode 100644
 4769   6049   
index 0000000..a5c7f4f
 4770         -
-- /dev/null
        6050  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4771   6051   
@@ -0,0 +1 @@
        6052  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4772   6053   
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
 4773   6054   
new file mode 100644
 4774   6055   
index 0000000..492ed33
 4775         -
-- /dev/null
        6056  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4776   6057   
@@ -0,0 +1,3 @@
        6058  +
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
        6059  +
Host:example.amazonaws.com
        6060  +
 4777   6061   
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
 4778   6062   
new file mode 100644
 4779   6063   
index 0000000..a93108f
 4780         -
-- /dev/null
        6064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4781   6065   
@@ -0,0 +1,4 @@
        6066  +
AWS4-ECDSA-P256-SHA256
        6067  +
20150830T123600Z
        6068  +
20150830/service/aws4_request
        6069  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4782   6070   
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
 4783   6071   
new file mode 100644
 4784   6072   
index 0000000..9e273f6
 4785         -
-- /dev/null
        6073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4786   6074   
@@ -0,0 +1,2 @@
        6075  +
GET /ሴ HTTP/1.1
        6076  +
Host:example.amazonaws.com
 4787   6077   
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
 4788   6078   
new file mode 100644
 4789   6079   
index 0000000..0468d80
 4790         -
-- /dev/null
        6080  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4791   6081   
@@ -0,0 +1,12 @@
        6082  +
{
        6083  +
    "credentials": {
        6084  +
        "access_key_id": "AKIDEXAMPLE",
        6085  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6086  +
    },
        6087  +
    "expiration_in_seconds": 3600,
        6088  +
    "normalize": true,
        6089  +
    "region": "us-east-1",
        6090  +
    "service": "service",
        6091  +
    "sign_body": false,
        6092  +
    "timestamp": "2015-08-30T12:36:00Z"
        6093  +
}
              \
 No newline at end of file
 4792   6094   
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
 4793   6095   
similarity index 99%
 4794   6096   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4795   6097   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4796   6098   
index bb9d4bf..edc0bb4 100644
 4797         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
        6099  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4798   6100   
@@ -1,9 +1,9 @@
 4799   6101   
GET
 4800   6102   
/
 4801   6103   
Param1=value1
 4802   6104   
host:example.amazonaws.com
 4803   6105   
x-amz-date:20150830T123600Z
 4804   6106   
x-amz-region-set:us-east-1
 4805   6107   
 4806   6108   
host;x-amz-date;x-amz-region-set
 4807         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6109  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4808   6110   
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
 4809   6111   
new file mode 100644
 4810   6112   
index 0000000..ee9a272
 4811         -
-- /dev/null
        6113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4812   6114   
@@ -0,0 +1 @@
        6115  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4813   6116   
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
 4814   6117   
new file mode 100644
 4815   6118   
index 0000000..2090343
 4816         -
-- /dev/null
        6119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4817   6120   
@@ -0,0 +1,6 @@
        6121  +
GET /?Param1=value1 HTTP/1.1
        6122  +
Host:example.amazonaws.com
        6123  +
X-Amz-Date:20150830T123600Z
        6124  +
X-Amz-Region-Set:us-east-1
        6125  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        6126  +
 4818   6127   
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
 4819   6128   
similarity index 99%
 4820   6129   
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
 4821   6130   
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
 4822   6131   
index a176f1d..06ed74f 100644
 4823         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-string-to-sign.txt
        6132  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-string-to-sign.txt
 4824   6133   
@@ -1,4 +1,4 @@
 4825   6134   
AWS4-ECDSA-P256-SHA256
 4826   6135   
20150830T123600Z
 4827   6136   
20150830/service/aws4_request
 4828         -
894f4237e92aae973c992da1d1f39d7a5913a23e9f7cbcf085e9550685eb498a
        6137  +
894f4237e92aae973c992da1d1f39d7a5913a23e9f7cbcf085e9550685eb498a
              \
 No newline at end of file
 4829   6138   
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
 4830   6139   
new file mode 100644
 4831   6140   
index 0000000..379dcb2
 4832         -
-- /dev/null
        6141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4833   6142   
@@ -0,0 +1,4 @@
        6143  +
{
        6144  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6145  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6146  +
}
 4834   6147   
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
 4835   6148   
similarity index 99%
 4836   6149   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4837   6150   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4838   6151   
index 344384b..a875d70 100644
 4839         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
        6152  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4840   6153   
@@ -1,7 +1,7 @@
 4841   6154   
GET
 4842   6155   
/
 4843   6156   
Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4844   6157   
host:example.amazonaws.com
 4845   6158   
 4846   6159   
host
 4847         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6160  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4848   6161   
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
 4849   6162   
new file mode 100644
 4850   6163   
index 0000000..ef93624
 4851         -
-- /dev/null
        6164  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4852   6165   
@@ -0,0 +1 @@
        6166  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4853   6167   
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
 4854   6168   
new file mode 100644
 4855   6169   
index 0000000..92829f7
 4856         -
-- /dev/null
        6170  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4857   6171   
@@ -0,0 +1,3 @@
        6172  +
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
        6173  +
Host:example.amazonaws.com
        6174  +
 4858   6175   
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
 4859   6176   
similarity index 99%
 4860   6177   
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
 4861   6178   
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
 4862   6179   
index b625052..4ff9191 100644
 4863         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-string-to-sign.txt
        6180  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-string-to-sign.txt
 4864   6181   
@@ -1,4 +1,4 @@
 4865   6182   
AWS4-ECDSA-P256-SHA256
 4866   6183   
20150830T123600Z
 4867   6184   
20150830/service/aws4_request
 4868         -
07551f1d699afeb50d6811a527ab7b0270b60448ea27d8cbccb9750d68287b3f
        6185  +
07551f1d699afeb50d6811a527ab7b0270b60448ea27d8cbccb9750d68287b3f
              \
 No newline at end of file
 4869   6186   
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
 4870   6187   
similarity index 67%
 4871   6188   
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
 4872   6189   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4873   6190   
index 970d0a0..f4a03bb 100644
 4874         -
-- 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
        6191  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4875   6192   
@@ -1,3 +1,2 @@
 4876   6193   
GET /?Param1=value1 HTTP/1.1
 4877   6194   
Host:example.amazonaws.com
 4878         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4879   6195   
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
 4880   6196   
new file mode 100644
 4881   6197   
index 0000000..0468d80
 4882         -
-- /dev/null
        6198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4883   6199   
@@ -0,0 +1,12 @@
        6200  +
{
        6201  +
    "credentials": {
        6202  +
        "access_key_id": "AKIDEXAMPLE",
        6203  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6204  +
    },
        6205  +
    "expiration_in_seconds": 3600,
        6206  +
    "normalize": true,
        6207  +
    "region": "us-east-1",
        6208  +
    "service": "service",
        6209  +
    "sign_body": false,
        6210  +
    "timestamp": "2015-08-30T12:36:00Z"
        6211  +
}
              \
 No newline at end of file
 4884   6212   
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
 4885   6213   
new file mode 100644
 4886   6214   
index 0000000..da07537
 4887         -
-- /dev/null
        6215  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4888   6216   
@@ -0,0 +1,9 @@
        6217  +
GET
        6218  +
/
        6219  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        6220  +
host:example.amazonaws.com
        6221  +
x-amz-date:20150830T123600Z
        6222  +
x-amz-region-set:us-east-1
        6223  +
        6224  +
host;x-amz-date;x-amz-region-set
        6225  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4889   6226   
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
 4890   6227   
new file mode 100644
 4891   6228   
index 0000000..edb21e5
 4892         -
-- /dev/null
        6229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4893   6230   
@@ -0,0 +1 @@
        6231  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4894   6232   
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
 4895   6233   
new file mode 100644
 4896   6234   
index 0000000..e60394c
 4897         -
-- /dev/null
        6235  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4898   6236   
@@ -0,0 +1,6 @@
        6237  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        6238  +
Host:example.amazonaws.com
        6239  +
X-Amz-Date:20150830T123600Z
        6240  +
X-Amz-Region-Set:us-east-1
        6241  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        6242  +
 4899   6243   
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
 4900   6244   
new file mode 100644
 4901   6245   
index 0000000..1dfc886
 4902         -
-- /dev/null
        6246  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4903   6247   
@@ -0,0 +1,4 @@
        6248  +
AWS4-ECDSA-P256-SHA256
        6249  +
20150830T123600Z
        6250  +
20150830/service/aws4_request
        6251  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4904   6252   
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
 4905   6253   
new file mode 100644
 4906   6254   
index 0000000..379dcb2
 4907         -
-- /dev/null
        6255  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4908   6256   
@@ -0,0 +1,4 @@
        6257  +
{
        6258  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6259  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6260  +
}
 4909   6261   
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
 4910   6262   
new file mode 100644
 4911   6263   
index 0000000..e94dc0c
 4912         -
-- /dev/null
        6264  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4913   6265   
@@ -0,0 +1,7 @@
        6266  +
GET
        6267  +
/
        6268  +
%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
        6269  +
host:example.amazonaws.com
        6270  +
        6271  +
host
        6272  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4914   6273   
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
 4915   6274   
new file mode 100644
 4916   6275   
index 0000000..7489437
 4917         -
-- /dev/null
        6276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4918   6277   
@@ -0,0 +1 @@
        6278  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4919   6279   
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
 4920   6280   
new file mode 100644
 4921   6281   
index 0000000..90c0e73
 4922         -
-- /dev/null
        6282  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4923   6283   
@@ -0,0 +1,3 @@
        6284  +
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
        6285  +
Host:example.amazonaws.com
        6286  +
 4924   6287   
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
 4925   6288   
new file mode 100644
 4926   6289   
index 0000000..ab8a711
 4927         -
-- /dev/null
        6290  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4928   6291   
@@ -0,0 +1,4 @@
        6292  +
AWS4-ECDSA-P256-SHA256
        6293  +
20150830T123600Z
        6294  +
20150830/service/aws4_request
        6295  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4929   6296   
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
 4930   6297   
new file mode 100644
 4931   6298   
index 0000000..368c6e3
 4932         -
-- /dev/null
        6299  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4933   6300   
@@ -0,0 +1,2 @@
        6301  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        6302  +
Host:example.amazonaws.com
 4934   6303   
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
 4935   6304   
new file mode 100644
 4936   6305   
index 0000000..0468d80
 4937         -
-- /dev/null
        6306  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4938   6307   
@@ -0,0 +1,12 @@
        6308  +
{
        6309  +
    "credentials": {
        6310  +
        "access_key_id": "AKIDEXAMPLE",
        6311  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6312  +
    },
        6313  +
    "expiration_in_seconds": 3600,
        6314  +
    "normalize": true,
        6315  +
    "region": "us-east-1",
        6316  +
    "service": "service",
        6317  +
    "sign_body": false,
        6318  +
    "timestamp": "2015-08-30T12:36:00Z"
        6319  +
}
              \
 No newline at end of file
 4939   6320   
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
 4940   6321   
similarity index 99%
 4941   6322   
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
 4942   6323   
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
 4943   6324   
index 74f625a..3db56f7 100644
 4944         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/header-canonical-request.txt
        6325  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-canonical-request.txt
 4945   6326   
@@ -1,9 +1,9 @@
 4946   6327   
GET
 4947   6328   
/
 4948   6329   
Param1=value1&Param2=value2
 4949   6330   
host:example.amazonaws.com
 4950   6331   
x-amz-date:20150830T123600Z
 4951   6332   
x-amz-region-set:us-east-1
 4952   6333   
 4953   6334   
host;x-amz-date;x-amz-region-set
 4954         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6335  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4955   6336   
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
 4956   6337   
new file mode 100644
 4957   6338   
index 0000000..e6042bc
 4958         -
-- /dev/null
        6339  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4959   6340   
@@ -0,0 +1 @@
        6341  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4960   6342   
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
 4961   6343   
new file mode 100644
 4962   6344   
index 0000000..5505969
 4963         -
-- /dev/null
        6345  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4964   6346   
@@ -0,0 +1,6 @@
        6347  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        6348  +
Host:example.amazonaws.com
        6349  +
X-Amz-Date:20150830T123600Z
        6350  +
X-Amz-Region-Set:us-east-1
        6351  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        6352  +
 4965   6353   
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
 4966   6354   
similarity index 99%
 4967   6355   
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
 4968   6356   
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
 4969   6357   
index 44873b7..e8f5e31 100644
 4970         -
-- 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
        6358  +
++ 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
 4971   6359   
@@ -1,4 +1,4 @@
 4972   6360   
AWS4-ECDSA-P256-SHA256
 4973   6361   
20150830T123600Z
 4974   6362   
20150830/service/aws4_request
 4975         -
cc07b29e0d0f0b2d6aa296621a5608fd9c2271159b9b2f737f682704ebb96482
        6363  +
cc07b29e0d0f0b2d6aa296621a5608fd9c2271159b9b2f737f682704ebb96482
              \
 No newline at end of file
 4976   6364   
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
 4977   6365   
new file mode 100644
 4978   6366   
index 0000000..379dcb2
 4979         -
-- /dev/null
        6367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4980   6368   
@@ -0,0 +1,4 @@
        6369  +
{
        6370  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6371  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6372  +
}
 4981   6373   
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
 4982   6374   
similarity index 99%
 4983   6375   
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
 4984   6376   
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
 4985   6377   
index 6d30727..3fe6a9f 100644
 4986         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/query-canonical-request.txt
        6378  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-canonical-request.txt
 4987   6379   
@@ -1,7 +1,7 @@
 4988   6380   
GET
 4989   6381   
/
 4990   6382   
Param1=value1&Param2=value2&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 4991   6383   
host:example.amazonaws.com
 4992   6384   
 4993   6385   
host
 4994         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6386  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4995   6387   
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
 4996   6388   
new file mode 100644
 4997   6389   
index 0000000..3f35de8
 4998         -
-- /dev/null
        6390  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4999   6391   
@@ -0,0 +1 @@
        6392  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 5000   6393   
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
 5001   6394   
new file mode 100644
 5002   6395   
index 0000000..30b336b
 5003         -
-- /dev/null
        6396  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 5004   6397   
@@ -0,0 +1,3 @@
        6398  +
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
        6399  +
Host:example.amazonaws.com
        6400  +
 5005   6401   
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
 5006   6402   
similarity index 99%
 5007   6403   
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
 5008   6404   
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
 5009   6405   
index 99d0510..7f0565f 100644
 5010         -
-- 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
        6406  +
++ 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
 5011   6407   
@@ -1,4 +1,4 @@
 5012   6408   
AWS4-ECDSA-P256-SHA256
 5013   6409   
20150830T123600Z
 5014   6410   
20150830/service/aws4_request
 5015         -
c688584c3dbae2868c4911c825239f2c9375e66b9962f21db60b9b2fcd75bf45
        6411  +
c688584c3dbae2868c4911c825239f2c9375e66b9962f21db60b9b2fcd75bf45
              \
 No newline at end of file
 5016   6412   
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
 5017   6413   
similarity index 100%
 5018   6414   
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
 5019   6415   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 5020   6416   
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
 5021   6417   
new file mode 100644
 5022   6418   
index 0000000..0468d80
 5023         -
-- /dev/null
        6419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 5024   6420   
@@ -0,0 +1,12 @@
        6421  +
{
        6422  +
    "credentials": {
        6423  +
        "access_key_id": "AKIDEXAMPLE",
        6424  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6425  +
    },
        6426  +
    "expiration_in_seconds": 3600,
        6427  +
    "normalize": true,
        6428  +
    "region": "us-east-1",
        6429  +
    "service": "service",
        6430  +
    "sign_body": false,
        6431  +
    "timestamp": "2015-08-30T12:36:00Z"
        6432  +
}
              \
 No newline at end of file
 5025   6433   
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
 5026   6434   
similarity index 99%
 5027   6435   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 5028   6436   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 5029   6437   
index 816c862..cc4537a 100644
 5030         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
        6438  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 5031   6439   
@@ -1,9 +1,9 @@
 5032   6440   
GET
 5033   6441   
/
 5034   6442   
-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 5035   6443   
host:example.amazonaws.com
 5036   6444   
x-amz-date:20150830T123600Z
 5037   6445   
x-amz-region-set:us-east-1
 5038   6446   
 5039   6447   
host;x-amz-date;x-amz-region-set
 5040         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6448  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5041   6449   
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
 5042   6450   
new file mode 100644
 5043   6451   
index 0000000..70d38c1
 5044         -
-- /dev/null
        6452  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 5045   6453   
@@ -0,0 +1 @@
        6454  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 5046   6455   
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
 5047   6456   
new file mode 100644
 5048   6457   
index 0000000..0647eea
 5049         -
-- /dev/null
        6458  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 5050   6459   
@@ -0,0 +1,6 @@
        6460  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        6461  +
Host:example.amazonaws.com
        6462  +
X-Amz-Date:20150830T123600Z
        6463  +
X-Amz-Region-Set:us-east-1
        6464  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        6465  +
 5051   6466   
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
 5052   6467   
similarity index 99%
 5053   6468   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 5054   6469   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 5055   6470   
index 6129fc5..cc19d14 100644
 5056         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
        6471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 5057   6472   
@@ -1,4 +1,4 @@
 5058   6473   
AWS4-ECDSA-P256-SHA256
 5059   6474   
20150830T123600Z
 5060   6475   
20150830/service/aws4_request
 5061         -
377b8a3e195894659b84cd1c475dc8a3663a663360a349430c0c3b82bd82b77b
        6476  +
377b8a3e195894659b84cd1c475dc8a3663a663360a349430c0c3b82bd82b77b
              \
 No newline at end of file
 5062   6477   
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
 5063   6478   
new file mode 100644
 5064   6479   
index 0000000..379dcb2
 5065         -
-- /dev/null
        6480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 5066   6481   
@@ -0,0 +1,4 @@
        6482  +
{
        6483  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6484  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6485  +
}
 5067   6486   
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
 5068   6487   
similarity index 99%
 5069   6488   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 5070   6489   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 5071   6490   
index b77ee9f..ed6a10e 100644
 5072         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
        6491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 5073   6492   
@@ -1,7 +1,7 @@
 5074   6493   
GET
 5075   6494   
/
 5076   6495   
-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 5077   6496   
host:example.amazonaws.com
 5078   6497   
 5079   6498   
host
 5080         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6499  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5081   6500   
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
 5082   6501   
new file mode 100644
 5083   6502   
index 0000000..2ceba7b
 5084         -
-- /dev/null
        6503  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 5085   6504   
@@ -0,0 +1 @@
        6505  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 5086   6506   
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
 5087   6507   
new file mode 100644
 5088   6508   
index 0000000..0cd6d0a
 5089         -
-- /dev/null
        6509  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 5090   6510   
@@ -0,0 +1,3 @@
        6511  +
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
        6512  +
Host:example.amazonaws.com
        6513  +
 5091   6514   
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
 5092   6515   
similarity index 99%
 5093   6516   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 5094   6517   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 5095   6518   
index 1cfed7a..aad1421 100644
 5096         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
        6519  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 5097   6520   
@@ -1,4 +1,4 @@
 5098   6521   
AWS4-ECDSA-P256-SHA256
 5099   6522   
20150830T123600Z
 5100   6523   
20150830/service/aws4_request
 5101         -
5d8923c620c699f856a35a6eb8dd786fd4c8c6ab0a35c552caeb5b648989433f
        6524  +
5d8923c620c699f856a35a6eb8dd786fd4c8c6ab0a35c552caeb5b648989433f
              \
 No newline at end of file
 5102   6525   
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
 5103   6526   
similarity index 86%
 5104   6527   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 5105   6528   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 5106   6529   
index d2833b3..36b2fe3 100644
 5107         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        6530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 5108   6531   
@@ -1,3 +1,2 @@
 5109   6532   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 5110   6533   
Host:example.amazonaws.com
 5111         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5112   6534   
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
 5113   6535   
new file mode 100644
 5114   6536   
index 0000000..0468d80
 5115         -
-- /dev/null
        6537  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 5116   6538   
@@ -0,0 +1,12 @@
        6539  +
{
        6540  +
    "credentials": {
        6541  +
        "access_key_id": "AKIDEXAMPLE",
        6542  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6543  +
    },
        6544  +
    "expiration_in_seconds": 3600,
        6545  +
    "normalize": true,
        6546  +
    "region": "us-east-1",
        6547  +
    "service": "service",
        6548  +
    "sign_body": false,
        6549  +
    "timestamp": "2015-08-30T12:36:00Z"
        6550  +
}
              \
 No newline at end of file
 5117   6551   
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
 5118   6552   
new file mode 100644
 5119   6553   
index 0000000..76db73d
 5120         -
-- /dev/null
        6554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 5121   6555   
@@ -0,0 +1,9 @@
        6556  +
GET
        6557  +
/
        6558  +
        6559  +
host:example.amazonaws.com
        6560  +
x-amz-date:20150830T123600Z
        6561  +
x-amz-region-set:us-east-1
        6562  +
        6563  +
host;x-amz-date;x-amz-region-set
        6564  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5122   6565   
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
 5123   6566   
new file mode 100644
 5124   6567   
index 0000000..281cc62
 5125         -
-- /dev/null
        6568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 5126   6569   
@@ -0,0 +1 @@
        6570  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 5127   6571   
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
 5128   6572   
new file mode 100644
 5129   6573   
index 0000000..cce9925
 5130         -
-- /dev/null
        6574  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 5131   6575   
@@ -0,0 +1,6 @@
        6576  +
GET / HTTP/1.1
        6577  +
Host:example.amazonaws.com
        6578  +
X-Amz-Date:20150830T123600Z
        6579  +
X-Amz-Region-Set:us-east-1
        6580  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        6581  +
 5132   6582   
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
 5133   6583   
new file mode 100644
 5134   6584   
index 0000000..600f1d8
 5135         -
-- /dev/null
        6585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 5136   6586   
@@ -0,0 +1,4 @@
        6587  +
AWS4-ECDSA-P256-SHA256
        6588  +
20150830T123600Z
        6589  +
20150830/service/aws4_request
        6590  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5137   6591   
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
 5138   6592   
new file mode 100644
 5139   6593   
index 0000000..379dcb2
 5140         -
-- /dev/null
        6594  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 5141   6595   
@@ -0,0 +1,4 @@
        6596  +
{
        6597  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6598  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6599  +
}
 5142   6600   
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
 5143   6601   
new file mode 100644
 5144   6602   
index 0000000..779c51c
 5145         -
-- /dev/null
        6603  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 5146   6604   
@@ -0,0 +1,7 @@
        6605  +
GET
        6606  +
/
        6607  +
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
        6608  +
host:example.amazonaws.com
        6609  +
        6610  +
host
        6611  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5147   6612   
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
 5148   6613   
new file mode 100644
 5149   6614   
index 0000000..2979e5e
 5150         -
-- /dev/null
        6615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 5151   6616   
@@ -0,0 +1 @@
        6617  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 5152   6618   
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
 5153   6619   
new file mode 100644
 5154   6620   
index 0000000..1b3179c
 5155         -
-- /dev/null
        6621  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 5156   6622   
@@ -0,0 +1,3 @@
        6623  +
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
        6624  +
Host:example.amazonaws.com
        6625  +
 5157   6626   
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
 5158   6627   
new file mode 100644
 5159   6628   
index 0000000..6e29a7e
 5160         -
-- /dev/null
        6629  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 5161   6630   
@@ -0,0 +1,4 @@
        6631  +
AWS4-ECDSA-P256-SHA256
        6632  +
20150830T123600Z
        6633  +
20150830/service/aws4_request
        6634  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 5162   6635   
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
 5163   6636   
similarity index 60%
 5164   6637   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 5165   6638   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 5166   6639   
index 0f7a9bf..e659c3b 100644
 5167         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        6640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 5168   6641   
@@ -1,3 +1,2 @@
 5169   6642   
GET / HTTP/1.1
 5170   6643   
Host:example.amazonaws.com
 5171         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5172   6644   
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
 5173   6645   
new file mode 100644
 5174   6646   
index 0000000..0468d80
 5175         -
-- /dev/null
        6647  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 5176   6648   
@@ -0,0 +1,12 @@
        6649  +
{
        6650  +
    "credentials": {
        6651  +
        "access_key_id": "AKIDEXAMPLE",
        6652  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6653  +
    },
        6654  +
    "expiration_in_seconds": 3600,
        6655  +
    "normalize": true,
        6656  +
    "region": "us-east-1",
        6657  +
    "service": "service",
        6658  +
    "sign_body": false,
        6659  +
    "timestamp": "2015-08-30T12:36:00Z"
        6660  +
}
              \
 No newline at end of file
 5177   6661   
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
 5178   6662   
new file mode 100644
 5179   6663   
index 0000000..8841ddf
 5180         -
-- /dev/null
        6664  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 5181   6665   
@@ -0,0 +1,9 @@
        6666  +
GET
        6667  +
/
        6668  +
%E1%88%B4=bar
        6669  +
host:example.amazonaws.com
        6670  +
x-amz-date:20150830T123600Z
        6671  +
x-amz-region-set:us-east-1
        6672  +
        6673  +
host;x-amz-date;x-amz-region-set
        6674  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5182   6675   
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
 5183   6676   
new file mode 100644
 5184   6677   
index 0000000..1497add
 5185         -
-- /dev/null
        6678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 5186   6679   
@@ -0,0 +1 @@
        6680  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 5187   6681   
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
 5188   6682   
new file mode 100644
 5189   6683   
index 0000000..961bc10
 5190         -
-- /dev/null
        6684  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 5191   6685   
@@ -0,0 +1,6 @@
        6686  +
GET /?ሴ=bar HTTP/1.1
        6687  +
Host:example.amazonaws.com
        6688  +
X-Amz-Date:20150830T123600Z
        6689  +
X-Amz-Region-Set:us-east-1
        6690  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        6691  +
 5192   6692   
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
 5193   6693   
new file mode 100644
 5194   6694   
index 0000000..e78ed70
 5195         -
-- /dev/null
        6695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 5196   6696   
@@ -0,0 +1,4 @@
        6697  +
AWS4-ECDSA-P256-SHA256
        6698  +
20150830T123600Z
        6699  +
20150830/service/aws4_request
        6700  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 5197   6701   
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
 5198   6702   
new file mode 100644
 5199   6703   
index 0000000..379dcb2
 5200         -
-- /dev/null
        6704  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 5201   6705   
@@ -0,0 +1,4 @@
        6706  +
{
        6707  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6708  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6709  +
}
 5202   6710   
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
 5203   6711   
new file mode 100644
 5204   6712   
index 0000000..6d5ae93
 5205         -
-- /dev/null
        6713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 5206   6714   
@@ -0,0 +1,7 @@
        6715  +
GET
        6716  +
/
        6717  +
%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
        6718  +
host:example.amazonaws.com
        6719  +
        6720  +
host
        6721  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5207   6722   
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
 5208   6723   
new file mode 100644
 5209   6724   
index 0000000..92107f2
 5210         -
-- /dev/null
        6725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 5211   6726   
@@ -0,0 +1 @@
        6727  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 5212   6728   
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
 5213   6729   
new file mode 100644
 5214   6730   
index 0000000..bb8a75b
 5215         -
-- /dev/null
        6731  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 5216   6732   
@@ -0,0 +1,3 @@
        6733  +
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
        6734  +
Host:example.amazonaws.com
        6735  +
 5217   6736   
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
 5218   6737   
new file mode 100644
 5219   6738   
index 0000000..9fa94c7
 5220         -
-- /dev/null
        6739  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 5221   6740   
@@ -0,0 +1,4 @@
        6741  +
AWS4-ECDSA-P256-SHA256
        6742  +
20150830T123600Z
        6743  +
20150830/service/aws4_request
        6744  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 5222   6745   
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
 5223   6746   
new file mode 100644
 5224   6747   
index 0000000..aff333a
 5225         -
-- /dev/null
        6748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 5226   6749   
@@ -0,0 +1,2 @@
        6750  +
GET /?ሴ=bar HTTP/1.1
        6751  +
Host:example.amazonaws.com
 5227   6752   
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
 5228   6753   
new file mode 100644
 5229   6754   
index 0000000..a334e18
 5230         -
-- /dev/null
        6755  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 5231   6756   
@@ -0,0 +1,13 @@
        6757  +
{
        6758  +
    "credentials": {
        6759  +
        "access_key_id": "AKIDEXAMPLE",
        6760  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6761  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        6762  +
    },
        6763  +
    "expiration_in_seconds": 3600,
        6764  +
    "normalize": true,
        6765  +
    "region": "us-east-1",
        6766  +
    "service": "service",
        6767  +
    "sign_body": false,
        6768  +
    "timestamp": "2015-08-30T12:36:00Z"
        6769  +
}
              \
 No newline at end of file
 5232   6770   
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
 5233   6771   
similarity index 99%
 5234   6772   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 5235   6773   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 5236   6774   
index f14defd..0e9ad42 100644
 5237         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
        6775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 5238   6776   
@@ -1,10 +1,10 @@
 5239   6777   
GET
 5240   6778   
/
 5241   6779   
 5242   6780   
host:example.amazonaws.com
 5243   6781   
x-amz-date:20150830T123600Z
 5244   6782   
x-amz-region-set:us-east-1
 5245   6783   
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
 5246   6784   
 5247   6785   
host;x-amz-date;x-amz-region-set;x-amz-security-token
 5248         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6786  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5249   6787   
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
 5250   6788   
new file mode 100644
 5251   6789   
index 0000000..a7673b5
 5252         -
-- /dev/null
        6790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 5253   6791   
@@ -0,0 +1 @@
        6792  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 5254   6793   
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
 5255   6794   
new file mode 100644
 5256   6795   
index 0000000..ed16e76
 5257         -
-- /dev/null
        6796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 5258   6797   
@@ -0,0 +1,7 @@
        6798  +
GET / HTTP/1.1
        6799  +
Host:example.amazonaws.com
        6800  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        6801  +
X-Amz-Date:20150830T123600Z
        6802  +
X-Amz-Region-Set:us-east-1
        6803  +
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
        6804  +
 5259   6805   
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
 5260   6806   
similarity index 99%
 5261   6807   
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
 5262   6808   
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
 5263   6809   
index 4edece5..6c1ec65 100644
 5264         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-string-to-sign.txt
        6810  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-string-to-sign.txt
 5265   6811   
@@ -1,4 +1,4 @@
 5266   6812   
AWS4-ECDSA-P256-SHA256
 5267   6813   
20150830T123600Z
 5268   6814   
20150830/service/aws4_request
 5269         -
79893373104239a0547df489af395ec3c1b8873a8601f07f11ffd3f1ac557e7d
        6815  +
79893373104239a0547df489af395ec3c1b8873a8601f07f11ffd3f1ac557e7d
              \
 No newline at end of file
 5270   6816   
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
 5271   6817   
new file mode 100644
 5272   6818   
index 0000000..379dcb2
 5273         -
-- /dev/null
        6819  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 5274   6820   
@@ -0,0 +1,4 @@
        6821  +
{
        6822  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6823  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6824  +
}
 5275   6825   
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
 5276   6826   
similarity index 99%
 5277   6827   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 5278   6828   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 5279   6829   
index 7c042af..1876b42 100644
 5280         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
        6830  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 5281   6831   
@@ -1,7 +1,7 @@
 5282   6832   
GET
 5283   6833   
/
 5284   6834   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Security-Token=6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267&X-Amz-SignedHeaders=host
 5285   6835   
host:example.amazonaws.com
 5286   6836   
 5287   6837   
host
 5288         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6838  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5289   6839   
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
 5290   6840   
new file mode 100644
 5291   6841   
index 0000000..903dfb4
 5292         -
-- /dev/null
        6842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 5293   6843   
@@ -0,0 +1 @@
        6844  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 5294   6845   
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
 5295   6846   
new file mode 100644
 5296   6847   
index 0000000..bf1d246
 5297         -
-- /dev/null
        6848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 5298   6849   
@@ -0,0 +1,3 @@
        6850  +
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
        6851  +
Host:example.amazonaws.com
        6852  +
 5299   6853   
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
 5300   6854   
similarity index 99%
 5301   6855   
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
 5302   6856   
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
 5303   6857   
index 0fd066a..f1b1790 100644
 5304         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-string-to-sign.txt
        6858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-string-to-sign.txt
 5305   6859   
@@ -1,4 +1,4 @@
 5306   6860   
AWS4-ECDSA-P256-SHA256
 5307   6861   
20150830T123600Z
 5308   6862   
20150830/service/aws4_request
 5309         -
496062b4c2ed2175fe08ad084158783fa8d013c694542af721d49b25d1ebd390
        6863  +
496062b4c2ed2175fe08ad084158783fa8d013c694542af721d49b25d1ebd390
              \
 No newline at end of file
 5310   6864   
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
 5311   6865   
similarity index 60%
 5312   6866   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 5313   6867   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 5314   6868   
index 0f7a9bf..e659c3b 100644
 5315         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 5316   6870   
@@ -1,3 +1,2 @@
 5317   6871   
GET / HTTP/1.1
 5318   6872   
Host:example.amazonaws.com
 5319         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5320   6873   
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
 5321   6874   
new file mode 100644
 5322   6875   
index 0000000..76db73d
 5323         -
-- /dev/null
        6876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 5324   6877   
@@ -0,0 +1,9 @@
        6878  +
GET
        6879  +
/
        6880  +
        6881  +
host:example.amazonaws.com
        6882  +
x-amz-date:20150830T123600Z
        6883  +
x-amz-region-set:us-east-1
        6884  +
        6885  +
host;x-amz-date;x-amz-region-set
        6886  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5325   6887   
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
 5326   6888   
new file mode 100644
 5327   6889   
index 0000000..0468d80
 5328         -
-- /dev/null
        6890  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 5329   6891   
@@ -0,0 +1,12 @@
        6892  +
{
        6893  +
    "credentials": {
        6894  +
        "access_key_id": "AKIDEXAMPLE",
        6895  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6896  +
    },
        6897  +
    "expiration_in_seconds": 3600,
        6898  +
    "normalize": true,
        6899  +
    "region": "us-east-1",
        6900  +
    "service": "service",
        6901  +
    "sign_body": false,
        6902  +
    "timestamp": "2015-08-30T12:36:00Z"
        6903  +
}
              \
 No newline at end of file
 5330   6904   
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
 5331   6905   
new file mode 100644
 5332   6906   
index 0000000..76db73d
 5333         -
-- /dev/null
        6907  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 5334   6908   
@@ -0,0 +1,9 @@
        6909  +
GET
        6910  +
/
        6911  +
        6912  +
host:example.amazonaws.com
        6913  +
x-amz-date:20150830T123600Z
        6914  +
x-amz-region-set:us-east-1
        6915  +
        6916  +
host;x-amz-date;x-amz-region-set
        6917  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5335   6918   
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
 5336   6919   
new file mode 100644
 5337   6920   
index 0000000..a96ff24
 5338         -
-- /dev/null
        6921  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 5339   6922   
@@ -0,0 +1 @@
        6923  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 5340   6924   
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
 5341   6925   
new file mode 100644
 5342   6926   
index 0000000..689078b
 5343         -
-- /dev/null
        6927  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 5344   6928   
@@ -0,0 +1,6 @@
        6929  +
GET / HTTP/1.1
        6930  +
Host:example.amazonaws.com
        6931  +
X-Amz-Date:20150830T123600Z
        6932  +
X-Amz-Region-Set:us-east-1
        6933  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6934  +
 5345   6935   
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
 5346   6936   
new file mode 100644
 5347   6937   
index 0000000..600f1d8
 5348         -
-- /dev/null
        6938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 5349   6939   
@@ -0,0 +1,4 @@
        6940  +
AWS4-ECDSA-P256-SHA256
        6941  +
20150830T123600Z
        6942  +
20150830/service/aws4_request
        6943  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5350   6944   
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
 5351   6945   
new file mode 100644
 5352   6946   
index 0000000..379dcb2
 5353         -
-- /dev/null
        6947  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 5354   6948   
@@ -0,0 +1,4 @@
        6949  +
{
        6950  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6951  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6952  +
}
 5355   6953   
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
 5356   6954   
new file mode 100644
 5357   6955   
index 0000000..779c51c
 5358         -
-- /dev/null
        6956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 5359   6957   
@@ -0,0 +1,7 @@
        6958  +
GET
        6959  +
/
        6960  +
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
        6961  +
host:example.amazonaws.com
        6962  +
        6963  +
host
        6964  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5360   6965   
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
 5361   6966   
new file mode 100644
 5362   6967   
index 0000000..cc42158
 5363         -
-- /dev/null
        6968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 5364   6969   
@@ -0,0 +1 @@
        6970  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 5365   6971   
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
 5366   6972   
new file mode 100644
 5367   6973   
index 0000000..dc6d01d
 5368         -
-- /dev/null
        6974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 5369   6975   
@@ -0,0 +1,3 @@
        6976  +
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
        6977  +
Host:example.amazonaws.com
        6978  +
 5370   6979   
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
 5371   6980   
new file mode 100644
 5372   6981   
index 0000000..6e29a7e
 5373         -
-- /dev/null
        6982  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 5374   6983   
@@ -0,0 +1,4 @@
        6984  +
AWS4-ECDSA-P256-SHA256
        6985  +
20150830T123600Z
        6986  +
20150830/service/aws4_request
        6987  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 5375   6988   
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
 5376   6989   
new file mode 100644
 5377   6990   
index 0000000..e659c3b
 5378         -
-- /dev/null
        6991  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 5379   6992   
@@ -0,0 +1,2 @@
        6993  +
GET / HTTP/1.1
        6994  +
Host:example.amazonaws.com
 5380   6995   
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
 5381   6996   
new file mode 100644
 5382   6997   
index 0000000..600f1d8
 5383         -
-- /dev/null
        6998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 5384   6999   
@@ -0,0 +1,4 @@
        7000  +
AWS4-ECDSA-P256-SHA256
        7001  +
20150830T123600Z
        7002  +
20150830/service/aws4_request
        7003  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 5385   7004   
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
 5386   7005   
new file mode 100644
 5387   7006   
index 0000000..0468d80
 5388         -
-- /dev/null
        7007  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 5389   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": false,
        7019  +
    "timestamp": "2015-08-30T12:36:00Z"
        7020  +
}
              \
 No newline at end of file
 5390   7021   
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
 5391   7022   
similarity index 99%
 5392   7023   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 5393   7024   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 5394   7025   
index a6942c1..e881ac7 100644
 5395         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
        7026  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 5396   7027   
@@ -1,9 +1,9 @@
 5397   7028   
POST
 5398   7029   
/
 5399   7030   
 5400   7031   
host:example.amazonaws.com
 5401   7032   
x-amz-date:20150830T123600Z
 5402   7033   
x-amz-region-set:us-east-1
 5403   7034   
 5404   7035   
host;x-amz-date;x-amz-region-set
 5405         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7036  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5406   7037   
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
 5407   7038   
new file mode 100644
 5408   7039   
index 0000000..4210210
 5409         -
-- /dev/null
        7040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 5410   7041   
@@ -0,0 +1 @@
        7042  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 5411   7043   
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
 5412   7044   
new file mode 100644
 5413   7045   
index 0000000..257b110
 5414         -
-- /dev/null
        7046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 5415   7047   
@@ -0,0 +1,6 @@
        7048  +
POST / HTTP/1.1
        7049  +
Host:example.amazonaws.com
        7050  +
X-Amz-Date:20150830T123600Z
        7051  +
X-Amz-Region-Set:us-east-1
        7052  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        7053  +
 5416   7054   
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
 5417   7055   
similarity index 99%
 5418   7056   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 5419   7057   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 5420   7058   
index d5650cb..f8adf13 100644
 5421         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
        7059  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 5422   7060   
@@ -1,4 +1,4 @@
 5423   7061   
AWS4-ECDSA-P256-SHA256
 5424   7062   
20150830T123600Z
 5425   7063   
20150830/service/aws4_request
 5426         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7064  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 5427   7065   
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
 5428   7066   
new file mode 100644
 5429   7067   
index 0000000..379dcb2
 5430         -
-- /dev/null
        7068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 5431   7069   
@@ -0,0 +1,4 @@
        7070  +
{
        7071  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7072  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7073  +
}
 5432   7074   
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
 5433   7075   
similarity index 99%
 5434   7076   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 5435   7077   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 5436   7078   
index e48ce07..5ea8e3c 100644
 5437         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
        7079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 5438   7080   
@@ -1,7 +1,7 @@
 5439   7081   
POST
 5440   7082   
/
 5441   7083   
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
 5442   7084   
host:example.amazonaws.com
 5443   7085   
 5444   7086   
host
 5445         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7087  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5446   7088   
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
 5447   7089   
new file mode 100644
 5448   7090   
index 0000000..9e2069e
 5449         -
-- /dev/null
        7091  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 5450   7092   
@@ -0,0 +1 @@
        7093  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 5451   7094   
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
 5452   7095   
new file mode 100644
 5453   7096   
index 0000000..67f5d29
 5454         -
-- /dev/null
        7097  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 5455   7098   
@@ -0,0 +1,3 @@
        7099  +
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
        7100  +
Host:example.amazonaws.com
        7101  +
 5456   7102   
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
 5457   7103   
similarity index 99%
 5458   7104   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 5459   7105   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 5460   7106   
index 34e3382..711c162 100644
 5461         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
        7107  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 5462   7108   
@@ -1,4 +1,4 @@
 5463   7109   
AWS4-ECDSA-P256-SHA256
 5464   7110   
20150830T123600Z
 5465   7111   
20150830/service/aws4_request
 5466         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7112  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 5467   7113   
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
 5468   7114   
similarity index 61%
 5469   7115   
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
 5470   7116   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 5471   7117   
index 3dc4179..3f0a82a 100644
 5472         -
-- 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
        7118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 5473   7119   
@@ -1,3 +1,2 @@
 5474   7120   
POST / HTTP/1.1
 5475   7121   
Host:example.amazonaws.com
 5476         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5477   7122   
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
 5478   7123   
new file mode 100644
 5479   7124   
index 0000000..0468d80
 5480         -
-- /dev/null
        7125  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 5481   7126   
@@ -0,0 +1,12 @@
        7127  +
{
        7128  +
    "credentials": {
        7129  +
        "access_key_id": "AKIDEXAMPLE",
        7130  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7131  +
    },
        7132  +
    "expiration_in_seconds": 3600,
        7133  +
    "normalize": true,
        7134  +
    "region": "us-east-1",
        7135  +
    "service": "service",
        7136  +
    "sign_body": false,
        7137  +
    "timestamp": "2015-08-30T12:36:00Z"
        7138  +
}
              \
 No newline at end of file
 5482   7139   
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
 5483   7140   
similarity index 99%
 5484   7141   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 5485   7142   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 5486   7143   
index a8e1727..2883822 100644
 5487         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
        7144  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 5488   7145   
@@ -1,10 +1,10 @@
 5489   7146   
POST
 5490   7147   
/
 5491   7148   
 5492   7149   
host:example.amazonaws.com
 5493   7150   
my-header1:value1
 5494   7151   
x-amz-date:20150830T123600Z
 5495   7152   
x-amz-region-set:us-east-1
 5496   7153   
 5497   7154   
host;my-header1;x-amz-date;x-amz-region-set
 5498         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7155  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5499   7156   
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
 5500   7157   
new file mode 100644
 5501   7158   
index 0000000..e3c2e6e
 5502         -
-- /dev/null
        7159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 5503   7160   
@@ -0,0 +1 @@
        7161  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 5504   7162   
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
 5505   7163   
new file mode 100644
 5506   7164   
index 0000000..1d6e288
 5507         -
-- /dev/null
        7165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 5508   7166   
@@ -0,0 +1,7 @@
        7167  +
POST / HTTP/1.1
        7168  +
Host:example.amazonaws.com
        7169  +
My-Header1:value1
        7170  +
X-Amz-Date:20150830T123600Z
        7171  +
X-Amz-Region-Set:us-east-1
        7172  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        7173  +
 5509   7174   
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
 5510   7175   
similarity index 99%
 5511   7176   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 5512   7177   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 5513   7178   
index f6e3e9b..7c5236a 100644
 5514         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
        7179  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 5515   7180   
@@ -1,4 +1,4 @@
 5516   7181   
AWS4-ECDSA-P256-SHA256
 5517   7182   
20150830T123600Z
 5518   7183   
20150830/service/aws4_request
 5519         -
b92b1e85236a12f9d118f85fb6686c83b0e83fb3428f8d4da3cc9acb2851fcfa
        7184  +
b92b1e85236a12f9d118f85fb6686c83b0e83fb3428f8d4da3cc9acb2851fcfa
              \
 No newline at end of file
 5520   7185   
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
 5521   7186   
new file mode 100644
 5522   7187   
index 0000000..379dcb2
 5523         -
-- /dev/null
        7188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 5524   7189   
@@ -0,0 +1,4 @@
        7190  +
{
        7191  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7192  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7193  +
}
 5525   7194   
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
 5526   7195   
similarity index 99%
 5527   7196   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 5528   7197   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 5529   7198   
index 0ae73e1..2cf3f29 100644
 5530         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
        7199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 5531   7200   
@@ -1,8 +1,8 @@
 5532   7201   
POST
 5533   7202   
/
 5534   7203   
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
 5535   7204   
host:example.amazonaws.com
 5536   7205   
my-header1:value1
 5537   7206   
 5538   7207   
host;my-header1
 5539         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7208  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5540   7209   
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
 5541   7210   
new file mode 100644
 5542   7211   
index 0000000..2a08401
 5543         -
-- /dev/null
        7212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 5544   7213   
@@ -0,0 +1 @@
        7214  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 5545   7215   
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
 5546   7216   
new file mode 100644
 5547   7217   
index 0000000..8d2343f
 5548         -
-- /dev/null
        7218  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 5549   7219   
@@ -0,0 +1,4 @@
        7220  +
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
        7221  +
Host:example.amazonaws.com
        7222  +
My-Header1:value1
        7223  +
 5550   7224   
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
 5551   7225   
similarity index 99%
 5552   7226   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 5553   7227   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 5554   7228   
index 8cb96bf..2c4db7a 100644
 5555         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
        7229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 5556   7230   
@@ -1,4 +1,4 @@
 5557   7231   
AWS4-ECDSA-P256-SHA256
 5558   7232   
20150830T123600Z
 5559   7233   
20150830/service/aws4_request
 5560         -
336638ab840d4785edc7db35ab9c036bc15ffb2dc1a4e05b04f3a7cd7407593f
        7234  +
336638ab840d4785edc7db35ab9c036bc15ffb2dc1a4e05b04f3a7cd7407593f
              \
 No newline at end of file
 5561   7235   
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
 5562   7236   
similarity index 69%
 5563   7237   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 5564   7238   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 5565   7239   
index 0253f19..917720e 100644
 5566         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        7240  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 5567   7241   
@@ -1,4 +1,3 @@
 5568   7242   
POST / HTTP/1.1
 5569   7243   
Host:example.amazonaws.com
 5570   7244   
My-Header1:value1
 5571         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5572   7245   
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
 5573   7246   
new file mode 100644
 5574   7247   
index 0000000..0468d80
 5575         -
-- /dev/null
        7248  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 5576   7249   
@@ -0,0 +1,12 @@
        7250  +
{
        7251  +
    "credentials": {
        7252  +
        "access_key_id": "AKIDEXAMPLE",
        7253  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7254  +
    },
        7255  +
    "expiration_in_seconds": 3600,
        7256  +
    "normalize": true,
        7257  +
    "region": "us-east-1",
        7258  +
    "service": "service",
        7259  +
    "sign_body": false,
        7260  +
    "timestamp": "2015-08-30T12:36:00Z"
        7261  +
}
              \
 No newline at end of file
 5577   7262   
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
 5578   7263   
similarity index 99%
 5579   7264   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 5580   7265   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 5581   7266   
index 1dc3ef8..164e65c 100644
 5582         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
        7267  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 5583   7268   
@@ -1,10 +1,10 @@
 5584   7269   
POST
 5585   7270   
/
 5586   7271   
 5587   7272   
host:example.amazonaws.com
 5588   7273   
my-header1:VALUE1
 5589   7274   
x-amz-date:20150830T123600Z
 5590   7275   
x-amz-region-set:us-east-1
 5591   7276   
 5592   7277   
host;my-header1;x-amz-date;x-amz-region-set
 5593         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7278  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5594   7279   
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
 5595   7280   
new file mode 100644
 5596   7281   
index 0000000..7072b0e
 5597         -
-- /dev/null
        7282  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 5598   7283   
@@ -0,0 +1 @@
        7284  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 5599   7285   
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
 5600   7286   
new file mode 100644
 5601   7287   
index 0000000..17f5e3e
 5602         -
-- /dev/null
        7288  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 5603   7289   
@@ -0,0 +1,7 @@
        7290  +
POST / HTTP/1.1
        7291  +
Host:example.amazonaws.com
        7292  +
My-Header1:VALUE1
        7293  +
X-Amz-Date:20150830T123600Z
        7294  +
X-Amz-Region-Set:us-east-1
        7295  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        7296  +
 5604   7297   
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
 5605   7298   
similarity index 99%
 5606   7299   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 5607   7300   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 5608   7301   
index 59c7e45..620f54e 100644
 5609         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
        7302  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 5610   7303   
@@ -1,4 +1,4 @@
 5611   7304   
AWS4-ECDSA-P256-SHA256
 5612   7305   
20150830T123600Z
 5613   7306   
20150830/service/aws4_request
 5614         -
7de5a74bc45fb5c8a90faada2ab9538e69e4a5eb7f330f62387715669cecd492
        7307  +
7de5a74bc45fb5c8a90faada2ab9538e69e4a5eb7f330f62387715669cecd492
              \
 No newline at end of file
 5615   7308   
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
 5616   7309   
new file mode 100644
 5617   7310   
index 0000000..379dcb2
 5618         -
-- /dev/null
        7311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 5619   7312   
@@ -0,0 +1,4 @@
        7313  +
{
        7314  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7315  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7316  +
}
 5620   7317   
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
 5621   7318   
similarity index 99%
 5622   7319   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 5623   7320   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 5624   7321   
index 377e6f3..23e0da3 100644
 5625         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
        7322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 5626   7323   
@@ -1,8 +1,8 @@
 5627   7324   
POST
 5628   7325   
/
 5629   7326   
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
 5630   7327   
host:example.amazonaws.com
 5631   7328   
my-header1:VALUE1
 5632   7329   
 5633   7330   
host;my-header1
 5634         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7331  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5635   7332   
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
 5636   7333   
new file mode 100644
 5637   7334   
index 0000000..a18acb8
 5638         -
-- /dev/null
        7335  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 5639   7336   
@@ -0,0 +1 @@
        7337  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 5640   7338   
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
 5641   7339   
new file mode 100644
 5642   7340   
index 0000000..7cbdcfa
 5643         -
-- /dev/null
        7341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 5644   7342   
@@ -0,0 +1,4 @@
        7343  +
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
        7344  +
Host:example.amazonaws.com
        7345  +
My-Header1:VALUE1
        7346  +
 5645   7347   
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
 5646   7348   
similarity index 99%
 5647   7349   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 5648   7350   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 5649   7351   
index 84a7afd..0c90627 100644
 5650         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
        7352  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 5651   7353   
@@ -1,4 +1,4 @@
 5652   7354   
AWS4-ECDSA-P256-SHA256
 5653   7355   
20150830T123600Z
 5654   7356   
20150830/service/aws4_request
 5655         -
949fb555e05d3289760ff0f0566ad73a69ed865000d9843b93a15b916dbc8b6f
        7357  +
949fb555e05d3289760ff0f0566ad73a69ed865000d9843b93a15b916dbc8b6f
              \
 No newline at end of file
 5656   7358   
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
 5657   7359   
similarity index 69%
 5658   7360   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 5659   7361   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 5660   7362   
index 3f9987a..5f14c91 100644
 5661         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        7363  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 5662   7364   
@@ -1,4 +1,3 @@
 5663   7365   
POST / HTTP/1.1
 5664   7366   
Host:example.amazonaws.com
 5665   7367   
My-Header1:VALUE1
 5666         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5667   7368   
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
 5668   7369   
new file mode 100644
 5669   7370   
index 0000000..8f1d5ce
 5670         -
-- /dev/null
        7371  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 5671   7372   
@@ -0,0 +1,14 @@
        7373  +
{
        7374  +
    "credentials": {
        7375  +
        "access_key_id": "AKIDEXAMPLE",
        7376  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        7377  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        7378  +
    },
        7379  +
    "expiration_in_seconds": 3600,
        7380  +
    "normalize": true,
        7381  +
    "region": "us-east-1",
        7382  +
    "service": "service",
        7383  +
    "sign_body": false,
        7384  +
    "timestamp": "2015-08-30T12:36:00Z",
        7385  +
    "omit_session_token": true
        7386  +
}
 5672   7387   
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
 5673   7388   
similarity index 99%
 5674   7389   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 5675   7390   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 5676   7391   
index a6942c1..e881ac7 100644
 5677         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
        7392  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 5678   7393   
@@ -1,9 +1,9 @@
 5679   7394   
POST
 5680   7395   
/
 5681   7396   
 5682   7397   
host:example.amazonaws.com
 5683   7398   
x-amz-date:20150830T123600Z
 5684   7399   
x-amz-region-set:us-east-1
 5685   7400   
 5686   7401   
host;x-amz-date;x-amz-region-set
 5687         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7402  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5688   7403   
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
 5689   7404   
new file mode 100644
 5690   7405   
index 0000000..9c5ecb9
 5691         -
-- /dev/null
        7406  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 5692   7407   
@@ -0,0 +1 @@
        7408  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 5693   7409   
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
 5694   7410   
similarity index 52%
 5695   7411   
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
 5696   7412   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 5697   7413   
index 9d91775..61b6527 100644
 5698         -
-- 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
        7414  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 5699   7415   
@@ -1,4 +1,7 @@
 5700   7416   
POST / HTTP/1.1
 5701   7417   
Host:example.amazonaws.com
        7418  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 5702   7419   
X-Amz-Date:20150830T123600Z
 5703         -
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 No newline at end of file
        7420  +
X-Amz-Region-Set:us-east-1
        7421  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        7422  +
 5704   7423   
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
 5705   7424   
similarity index 99%
 5706   7425   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 5707   7426   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 5708   7427   
index d5650cb..f8adf13 100644
 5709         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
        7428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 5710   7429   
@@ -1,4 +1,4 @@
 5711   7430   
AWS4-ECDSA-P256-SHA256
 5712   7431   
20150830T123600Z
 5713   7432   
20150830/service/aws4_request
 5714         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7433  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 5715   7434   
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
 5716   7435   
new file mode 100644
 5717   7436   
index 0000000..379dcb2
 5718         -
-- /dev/null
        7437  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 5719   7438   
@@ -0,0 +1,4 @@
        7439  +
{
        7440  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7441  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7442  +
}
 5720   7443   
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
 5721   7444   
similarity index 99%
 5722   7445   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 5723   7446   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 5724   7447   
index e48ce07..5ea8e3c 100644
 5725         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
        7448  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 5726   7449   
@@ -1,7 +1,7 @@
 5727   7450   
POST
 5728   7451   
/
 5729   7452   
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
 5730   7453   
host:example.amazonaws.com
 5731   7454   
 5732   7455   
host
 5733         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7456  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5734   7457   
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
 5735   7458   
new file mode 100644
 5736   7459   
index 0000000..ff8823a
 5737         -
-- /dev/null
        7460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 5738   7461   
@@ -0,0 +1 @@
        7462  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 5739   7463   
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
 5740   7464   
new file mode 100644
 5741   7465   
index 0000000..cfac41b
 5742         -
-- /dev/null
        7466  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 5743   7467   
@@ -0,0 +1,3 @@
        7468  +
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
        7469  +
Host:example.amazonaws.com
        7470  +
 5744   7471   
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
 5745   7472   
similarity index 99%
 5746   7473   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 5747   7474   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 5748   7475   
index 34e3382..711c162 100644
 5749         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
        7476  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 5750   7477   
@@ -1,4 +1,4 @@
 5751   7478   
AWS4-ECDSA-P256-SHA256
 5752   7479   
20150830T123600Z
 5753   7480   
20150830/service/aws4_request
 5754         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7481  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 5755   7482   
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
 5756   7483   
similarity index 61%
 5757   7484   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 5758   7485   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5759   7486   
index 3dc4179..3f0a82a 100644
 5760         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        7487  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 5761   7488   
@@ -1,3 +1,2 @@
 5762   7489   
POST / HTTP/1.1
 5763   7490   
Host:example.amazonaws.com
 5764         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5765   7491   
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
 5766   7492   
new file mode 100644
 5767   7493   
index 0000000..5187392
 5768         -
-- /dev/null
        7494  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 5769   7495   
@@ -0,0 +1,14 @@
        7496  +
{
        7497  +
    "credentials": {
        7498  +
        "access_key_id": "AKIDEXAMPLE",
        7499  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        7500  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        7501  +
    },
        7502  +
    "expiration_in_seconds": 3600,
        7503  +
    "normalize": true,
        7504  +
    "region": "us-east-1",
        7505  +
    "service": "service",
        7506  +
    "sign_body": false,
        7507  +
    "timestamp": "2015-08-30T12:36:00Z",
        7508  +
    "omit_session_token": false
        7509  +
}
 5770   7510   
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
 5771   7511   
similarity index 99%
 5772   7512   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 5773   7513   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 5774   7514   
index dd408c8..e95924e 100644
 5775         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
        7515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 5776   7516   
@@ -1,10 +1,10 @@
 5777   7517   
POST
 5778   7518   
/
 5779   7519   
 5780   7520   
host:example.amazonaws.com
 5781   7521   
x-amz-date:20150830T123600Z
 5782   7522   
x-amz-region-set:us-east-1
 5783   7523   
x-amz-security-token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 5784   7524   
 5785   7525   
host;x-amz-date;x-amz-region-set;x-amz-security-token
 5786         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7526  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5787   7527   
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
 5788   7528   
new file mode 100644
 5789   7529   
index 0000000..1573f07
 5790         -
-- /dev/null
        7530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 5791   7531   
@@ -0,0 +1 @@
        7532  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 5792   7533   
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
 5793   7534   
new file mode 100644
 5794   7535   
index 0000000..6ef9a08
 5795         -
-- /dev/null
        7536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 5796   7537   
@@ -0,0 +1,7 @@
        7538  +
POST / HTTP/1.1
        7539  +
Host:example.amazonaws.com
        7540  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        7541  +
X-Amz-Date:20150830T123600Z
        7542  +
X-Amz-Region-Set:us-east-1
        7543  +
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
        7544  +
 5797   7545   
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
 5798   7546   
similarity index 99%
 5799   7547   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 5800   7548   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 5801   7549   
index f352b54..3c3235f 100644
 5802         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
        7550  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 5803   7551   
@@ -1,4 +1,4 @@
 5804   7552   
AWS4-ECDSA-P256-SHA256
 5805   7553   
20150830T123600Z
 5806   7554   
20150830/service/aws4_request
 5807         -
964c15d46a67b327b877c02d680c81cb75df04e85144142e190da565ff0d029f
        7555  +
964c15d46a67b327b877c02d680c81cb75df04e85144142e190da565ff0d029f
              \
 No newline at end of file
 5808   7556   
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
 5809   7557   
new file mode 100644
 5810   7558   
index 0000000..379dcb2
 5811         -
-- /dev/null
        7559  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 5812   7560   
@@ -0,0 +1,4 @@
        7561  +
{
        7562  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7563  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7564  +
}
 5813   7565   
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
 5814   7566   
similarity index 99%
 5815   7567   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 5816   7568   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 5817   7569   
index 832cdc0..63b7de5 100644
 5818         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
        7570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 5819   7571   
@@ -1,7 +1,7 @@
 5820   7572   
POST
 5821   7573   
/
 5822   7574   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-Security-Token=AQoDYXdzEPT%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI%2FqkPpKPi%2FkMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d%2Bxo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz%2BscqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR%2FoLxBA%3D%3D&X-Amz-SignedHeaders=host
 5823   7575   
host:example.amazonaws.com
 5824   7576   
 5825   7577   
host
 5826         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7578  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5827   7579   
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
 5828   7580   
new file mode 100644
 5829   7581   
index 0000000..713f57c
 5830         -
-- /dev/null
        7582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 5831   7583   
@@ -0,0 +1 @@
        7584  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 5832   7585   
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
 5833   7586   
new file mode 100644
 5834   7587   
index 0000000..32c3bb3
 5835         -
-- /dev/null
        7588  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 5836   7589   
@@ -0,0 +1,3 @@
        7590  +
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
        7591  +
Host:example.amazonaws.com
        7592  +
 5837   7593   
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
 5838   7594   
similarity index 99%
 5839   7595   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 5840   7596   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5841   7597   
index d7f3668..b46cd8c 100644
 5842         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
        7598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5843   7599   
@@ -1,4 +1,4 @@
 5844   7600   
AWS4-ECDSA-P256-SHA256
 5845   7601   
20150830T123600Z
 5846   7602   
20150830/service/aws4_request
 5847         -
c3a8ba26c461df46b5010b756fb8644fd922a2aea95d77b56295e5e4d3bb155f
        7603  +
c3a8ba26c461df46b5010b756fb8644fd922a2aea95d77b56295e5e4d3bb155f
              \
 No newline at end of file
 5848   7604   
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
 5849   7605   
similarity index 60%
 5850   7606   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 5851   7607   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5852   7608   
index 8b5efc8..3f0a82a 100644
 5853         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        7609  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5854   7610   
@@ -1,3 +1,2 @@
 5855   7611   
POST / HTTP/1.1
 5856   7612   
Host:example.amazonaws.com
 5857         -
X-Amz-Date:20150830T123600Z
 5858   7613   
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
 5859   7614   
new file mode 100644
 5860   7615   
index 0000000..0468d80
 5861         -
-- /dev/null
        7616  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 5862   7617   
@@ -0,0 +1,12 @@
        7618  +
{
        7619  +
    "credentials": {
        7620  +
        "access_key_id": "AKIDEXAMPLE",
        7621  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7622  +
    },
        7623  +
    "expiration_in_seconds": 3600,
        7624  +
    "normalize": true,
        7625  +
    "region": "us-east-1",
        7626  +
    "service": "service",
        7627  +
    "sign_body": false,
        7628  +
    "timestamp": "2015-08-30T12:36:00Z"
        7629  +
}
              \
 No newline at end of file
 5863   7630   
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
 5864   7631   
similarity index 99%
 5865   7632   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 5866   7633   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5867   7634   
index 02af60f..34b8c11 100644
 5868         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
        7635  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5869   7636   
@@ -1,9 +1,9 @@
 5870   7637   
POST
 5871   7638   
/
 5872   7639   
Param1=value1
 5873   7640   
host:example.amazonaws.com
 5874   7641   
x-amz-date:20150830T123600Z
 5875   7642   
x-amz-region-set:us-east-1
 5876   7643   
 5877   7644   
host;x-amz-date;x-amz-region-set
 5878         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7645  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5879   7646   
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
 5880   7647   
new file mode 100644
 5881   7648   
index 0000000..aac6427
 5882         -
-- /dev/null
        7649  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 5883   7650   
@@ -0,0 +1 @@
        7651  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 5884   7652   
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
 5885   7653   
new file mode 100644
 5886   7654   
index 0000000..a611436
 5887         -
-- /dev/null
        7655  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 5888   7656   
@@ -0,0 +1,6 @@
        7657  +
POST /?Param1=value1 HTTP/1.1
        7658  +
Host:example.amazonaws.com
        7659  +
X-Amz-Date:20150830T123600Z
        7660  +
X-Amz-Region-Set:us-east-1
        7661  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        7662  +
 5889   7663   
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
 5890   7664   
similarity index 99%
 5891   7665   
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
 5892   7666   
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
 5893   7667   
index 4256b4f..ad88dff 100644
 5894         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-string-to-sign.txt
        7668  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-string-to-sign.txt
 5895   7669   
@@ -1,4 +1,4 @@
 5896   7670   
AWS4-ECDSA-P256-SHA256
 5897   7671   
20150830T123600Z
 5898   7672   
20150830/service/aws4_request
 5899         -
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
        7673  +
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
              \
 No newline at end of file
 5900   7674   
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
 5901   7675   
new file mode 100644
 5902   7676   
index 0000000..379dcb2
 5903         -
-- /dev/null
        7677  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 5904   7678   
@@ -0,0 +1,4 @@
        7679  +
{
        7680  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7681  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7682  +
}
 5905   7683   
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
 5906   7684   
similarity index 99%
 5907   7685   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 5908   7686   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5909   7687   
index fa84bbd..76d5ad6 100644
 5910         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
        7688  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5911   7689   
@@ -1,7 +1,7 @@
 5912   7690   
POST
 5913   7691   
/
 5914   7692   
Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 5915   7693   
host:example.amazonaws.com
 5916   7694   
 5917   7695   
host
 5918         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7696  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5919   7697   
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
 5920   7698   
new file mode 100644
 5921   7699   
index 0000000..4cb1c94
 5922         -
-- /dev/null
        7700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 5923   7701   
@@ -0,0 +1 @@
        7702  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 5924   7703   
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
 5925   7704   
new file mode 100644
 5926   7705   
index 0000000..bd22b97
 5927         -
-- /dev/null
        7706  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 5928   7707   
@@ -0,0 +1,3 @@
        7708  +
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
        7709  +
Host:example.amazonaws.com
        7710  +
 5929   7711   
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
 5930   7712   
similarity index 99%
 5931   7713   
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
 5932   7714   
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
 5933   7715   
index de270ef..8c9d319 100644
 5934         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-string-to-sign.txt
        7716  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-string-to-sign.txt
 5935   7717   
@@ -1,4 +1,4 @@
 5936   7718   
AWS4-ECDSA-P256-SHA256
 5937   7719   
20150830T123600Z
 5938   7720   
20150830/service/aws4_request
 5939         -
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
        7721  +
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
              \
 No newline at end of file
 5940   7722   
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
 5941   7723   
similarity index 67%
 5942   7724   
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
 5943   7725   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5944   7726   
index 9157bc7..c9d6e5d 100644
 5945         -
-- 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
        7727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5946   7728   
@@ -1,3 +1,2 @@
 5947   7729   
POST /?Param1=value1 HTTP/1.1
 5948   7730   
Host:example.amazonaws.com
 5949         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5950   7731   
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
 5951   7732   
new file mode 100644
 5952   7733   
index 0000000..0468d80
 5953         -
-- /dev/null
        7734  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 5954   7735   
@@ -0,0 +1,12 @@
        7736  +
{
        7737  +
    "credentials": {
        7738  +
        "access_key_id": "AKIDEXAMPLE",
        7739  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7740  +
    },
        7741  +
    "expiration_in_seconds": 3600,
        7742  +
    "normalize": true,
        7743  +
    "region": "us-east-1",
        7744  +
    "service": "service",
        7745  +
    "sign_body": false,
        7746  +
    "timestamp": "2015-08-30T12:36:00Z"
        7747  +
}
              \
 No newline at end of file
 5955   7748   
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
 5956   7749   
similarity index 99%
 5957   7750   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 5958   7751   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5959   7752   
index 02af60f..34b8c11 100644
 5960         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
        7753  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5961   7754   
@@ -1,9 +1,9 @@
 5962   7755   
POST
 5963   7756   
/
 5964   7757   
Param1=value1
 5965   7758   
host:example.amazonaws.com
 5966   7759   
x-amz-date:20150830T123600Z
 5967   7760   
x-amz-region-set:us-east-1
 5968   7761   
 5969   7762   
host;x-amz-date;x-amz-region-set
 5970         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7763  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 5971   7764   
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
 5972   7765   
new file mode 100644
 5973   7766   
index 0000000..34f75c8
 5974         -
-- /dev/null
        7767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 5975   7768   
@@ -0,0 +1 @@
        7769  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 5976   7770   
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
 5977   7771   
new file mode 100644
 5978   7772   
index 0000000..c731408
 5979         -
-- /dev/null
        7773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 5980   7774   
@@ -0,0 +1,6 @@
        7775  +
POST /?Param1=value1 HTTP/1.1
        7776  +
Host:example.amazonaws.com
        7777  +
X-Amz-Date:20150830T123600Z
        7778  +
X-Amz-Region-Set:us-east-1
        7779  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        7780  +
 5981   7781   
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
 5982   7782   
similarity index 99%
 5983   7783   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 5984   7784   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5985   7785   
index 4256b4f..ad88dff 100644
 5986         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
        7786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5987   7787   
@@ -1,4 +1,4 @@
 5988   7788   
AWS4-ECDSA-P256-SHA256
 5989   7789   
20150830T123600Z
 5990   7790   
20150830/service/aws4_request
 5991         -
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
        7791  +
502dea2656f02eea10bd05eeec315ea1a6686ed2861176e1670b2d67e17b2f36
              \
 No newline at end of file
 5992   7792   
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
 5993   7793   
new file mode 100644
 5994   7794   
index 0000000..379dcb2
 5995         -
-- /dev/null
        7795  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 5996   7796   
@@ -0,0 +1,4 @@
        7797  +
{
        7798  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7799  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7800  +
}
 5997   7801   
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
 5998   7802   
similarity index 99%
 5999   7803   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 6000   7804   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 6001   7805   
index fa84bbd..76d5ad6 100644
 6002         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
        7806  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 6003   7807   
@@ -1,7 +1,7 @@
 6004   7808   
POST
 6005   7809   
/
 6006   7810   
Param1=value1&X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=host
 6007   7811   
host:example.amazonaws.com
 6008   7812   
 6009   7813   
host
 6010         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7814  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 6011   7815   
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
 6012   7816   
new file mode 100644
 6013   7817   
index 0000000..ae000d6
 6014         -
-- /dev/null
        7818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 6015   7819   
@@ -0,0 +1 @@
        7820  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 6016   7821   
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
 6017   7822   
new file mode 100644
 6018   7823   
index 0000000..a868f7d
 6019         -
-- /dev/null
        7824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 6020   7825   
@@ -0,0 +1,3 @@
        7826  +
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
        7827  +
Host:example.amazonaws.com
        7828  +
 6021   7829   
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
 6022   7830   
similarity index 99%
 6023   7831   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 6024   7832   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 6025   7833   
index de270ef..8c9d319 100644
 6026         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
        7834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 6027   7835   
@@ -1,4 +1,4 @@
 6028   7836   
AWS4-ECDSA-P256-SHA256
 6029   7837   
20150830T123600Z
 6030   7838   
20150830/service/aws4_request
 6031         -
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
        7839  +
b9ec8df7b378fbee58903f5c54bd50e80a4d2d5aa9532583910ce771e42574fe
              \
 No newline at end of file
 6032   7840   
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
 6033   7841   
similarity index 67%
 6034   7842   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 6035   7843   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 6036   7844   
index 9157bc7..c9d6e5d 100644
 6037         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        7845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 6038   7846   
@@ -1,3 +1,2 @@
 6039   7847   
POST /?Param1=value1 HTTP/1.1
 6040   7848   
Host:example.amazonaws.com
 6041         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 6042   7849   
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
 6043   7850   
new file mode 100644
 6044   7851   
index 0000000..0468d80
 6045         -
-- /dev/null
        7852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 6046   7853   
@@ -0,0 +1,12 @@
        7854  +
{
        7855  +
    "credentials": {
        7856  +
        "access_key_id": "AKIDEXAMPLE",
        7857  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7858  +
    },
        7859  +
    "expiration_in_seconds": 3600,
        7860  +
    "normalize": true,
        7861  +
    "region": "us-east-1",
        7862  +
    "service": "service",
        7863  +
    "sign_body": false,
        7864  +
    "timestamp": "2015-08-30T12:36:00Z"
        7865  +
}
              \
 No newline at end of file
 6047   7866   
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
 6048   7867   
similarity index 99%
 6049   7868   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 6050   7869   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 6051   7870   
index a6942c1..e881ac7 100644
 6052         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
        7871  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 6053   7872   
@@ -1,9 +1,9 @@
 6054   7873   
POST
 6055   7874   
/
 6056   7875   
 6057   7876   
host:example.amazonaws.com
 6058   7877   
x-amz-date:20150830T123600Z
 6059   7878   
x-amz-region-set:us-east-1
 6060   7879   
 6061   7880   
host;x-amz-date;x-amz-region-set
 6062         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7881  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 6063   7882   
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
 6064   7883   
new file mode 100644
 6065   7884   
index 0000000..7c5e47b
 6066         -
-- /dev/null
        7885  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 6067   7886   
@@ -0,0 +1 @@
        7887  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 6068   7888   
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
 6069   7889   
new file mode 100644
 6070   7890   
index 0000000..c0e50a0
 6071         -
-- /dev/null
        7891  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 6072   7892   
@@ -0,0 +1,6 @@
        7893  +
POST / HTTP/1.1
        7894  +
Host:example.amazonaws.com
        7895  +
X-Amz-Date:20150830T123600Z
        7896  +
X-Amz-Region-Set:us-east-1
        7897  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        7898  +
 6073   7899   
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
 6074   7900   
similarity index 99%
 6075   7901   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 6076   7902   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 6077   7903   
index d5650cb..f8adf13 100644
 6078         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
        7904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 6079   7905   
@@ -1,4 +1,4 @@
 6080   7906   
AWS4-ECDSA-P256-SHA256
 6081   7907   
20150830T123600Z
 6082   7908   
20150830/service/aws4_request
 6083         -
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
        7909  +
806a9b01b76472cc6b66fff02630726d55f8b4ada6d2fd9b36eb0d710e215861
              \
 No newline at end of file
 6084   7910   
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
 6085   7911   
new file mode 100644
 6086   7912   
index 0000000..379dcb2
 6087         -
-- /dev/null
        7913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 6088   7914   
@@ -0,0 +1,4 @@
        7915  +
{
        7916  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7917  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7918  +
}
 6089   7919   
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
 6090   7920   
similarity index 99%
 6091   7921   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 6092   7922   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 6093   7923   
index e48ce07..5ea8e3c 100644
 6094         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
        7924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 6095   7925   
@@ -1,7 +1,7 @@
 6096   7926   
POST
 6097   7927   
/
 6098   7928   
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
 6099   7929   
host:example.amazonaws.com
 6100   7930   
 6101   7931   
host
 6102         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7932  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 6103   7933   
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
 6104   7934   
new file mode 100644
 6105   7935   
index 0000000..ea8e3b4
 6106         -
-- /dev/null
        7936  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 6107   7937   
@@ -0,0 +1 @@
        7938  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 6108   7939   
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
 6109   7940   
new file mode 100644
 6110   7941   
index 0000000..616973f
 6111         -
-- /dev/null
        7942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 6112   7943   
@@ -0,0 +1,3 @@
        7944  +
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
        7945  +
Host:example.amazonaws.com
        7946  +
 6113   7947   
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
 6114   7948   
similarity index 99%
 6115   7949   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 6116   7950   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 6117   7951   
index 34e3382..711c162 100644
 6118         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
        7952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 6119   7953   
@@ -1,4 +1,4 @@
 6120   7954   
AWS4-ECDSA-P256-SHA256
 6121   7955   
20150830T123600Z
 6122   7956   
20150830/service/aws4_request
 6123         -
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
        7957  +
192546340393592ef9baaa24656f55ed91288110e7514b50f0a3f79bb761a29c
              \
 No newline at end of file
 6124   7958   
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
 6125   7959   
new file mode 100644
 6126   7960   
index 0000000..3f0a82a
 6127         -
-- /dev/null
        7961  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 6128   7962   
@@ -0,0 +1,2 @@
        7963  +
POST / HTTP/1.1
        7964  +
Host:example.amazonaws.com
 6129   7965   
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
 6130   7966   
new file mode 100644
 6131   7967   
index 0000000..0db1df1
 6132         -
-- /dev/null
        7968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 6133   7969   
@@ -0,0 +1,12 @@
        7970  +
{
        7971  +
    "credentials": {
        7972  +
        "access_key_id": "AKIDEXAMPLE",
        7973  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7974  +
    },
        7975  +
    "expiration_in_seconds": 3600,
        7976  +
    "normalize": true,
        7977  +
    "region": "us-east-1",
        7978  +
    "service": "service",
        7979  +
    "sign_body": true,
        7980  +
    "timestamp": "2015-08-30T12:36:00Z"
        7981  +
}
              \
 No newline at end of file
 6134   7982   
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
 6135   7983   
similarity index 62%
 6136   7984   
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
 6137   7985   
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
 6138   7986   
index 05ab787..62639b2 100644
 6139         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        7987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 6140   7988   
@@ -1,12 +1,12 @@
 6141   7989   
POST
 6142   7990   
/
 6143   7991   
 6144   7992   
content-length:13
 6145   7993   
content-type:application/x-www-form-urlencoded; charset=utf-8
 6146   7994   
host:example.amazonaws.com
 6147         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7995  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 6148   7996   
x-amz-date:20150830T123600Z
 6149   7997   
x-amz-region-set:us-east-1
 6150   7998   
 6151   7999   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 6152         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8000  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6153   8001   
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
 6154   8002   
new file mode 100644
 6155   8003   
index 0000000..006ec2e
 6156         -
-- /dev/null
        8004  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 6157   8005   
@@ -0,0 +1 @@
        8006  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 6158   8007   
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
 6159   8008   
new file mode 100644
 6160   8009   
index 0000000..87a11f2
 6161         -
-- /dev/null
        8010  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 6162   8011   
@@ -0,0 +1,10 @@
        8012  +
POST / HTTP/1.1
        8013  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        8014  +
Host:example.amazonaws.com
        8015  +
Content-Length:13
        8016  +
X-Amz-Date:20150830T123600Z
        8017  +
X-Amz-Region-Set:us-east-1
        8018  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        8019  +
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
        8020  +
        8021  +
Param1=value1
              \
 No newline at end of file
 6163   8022   
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
 6164   8023   
new file mode 100644
 6165   8024   
index 0000000..c047afb
 6166         -
-- /dev/null
        8025  +
++ 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
 6167   8026   
@@ -0,0 +1,4 @@
        8027  +
AWS4-ECDSA-P256-SHA256
        8028  +
20150830T123600Z
        8029  +
20150830/service/aws4_request
        8030  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 6168   8031   
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
 6169   8032   
new file mode 100644
 6170   8033   
index 0000000..379dcb2
 6171         -
-- /dev/null
        8034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 6172   8035   
@@ -0,0 +1,4 @@
        8036  +
{
        8037  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        8038  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        8039  +
}
 6173   8040   
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
 6174   8041   
similarity index 85%
 6175   8042   
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
 6176   8043   
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
 6177   8044   
index fcc454f..6933a8c 100644
 6178         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        8045  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 6179   8046   
@@ -1,9 +1,9 @@
 6180   8047   
POST
 6181   8048   
/
 6182   8049   
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
 6183   8050   
content-length:13
 6184   8051   
content-type:application/x-www-form-urlencoded; charset=utf-8
 6185   8052   
host:example.amazonaws.com
 6186   8053   
 6187   8054   
content-length;content-type;host
 6188         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8055  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6189   8056   
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
 6190   8057   
new file mode 100644
 6191   8058   
index 0000000..34a2e12
 6192         -
-- /dev/null
        8059  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 6193   8060   
@@ -0,0 +1 @@
        8061  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 6194   8062   
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
 6195   8063   
new file mode 100644
 6196   8064   
index 0000000..197b99e
 6197         -
-- /dev/null
        8065  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 6198   8066   
@@ -0,0 +1,6 @@
        8067  +
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
        8068  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        8069  +
Host:example.amazonaws.com
        8070  +
Content-Length:13
        8071  +
        8072  +
Param1=value1
              \
 No newline at end of file
 6199   8073   
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
 6200   8074   
new file mode 100644
 6201   8075   
index 0000000..9d2bc74
 6202         -
-- /dev/null
        8076  +
++ 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
 6203   8077   
@@ -0,0 +1,4 @@
        8078  +
AWS4-ECDSA-P256-SHA256
        8079  +
20150830T123600Z
        8080  +
20150830/service/aws4_request
        8081  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 6204   8082   
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
 6205   8083   
similarity index 80%
 6206   8084   
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
 6207   8085   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 6208   8086   
index 36015f1..8289eaa 100644
 6209         -
-- 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
        8087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 6210   8088   
@@ -1,6 +1,6 @@
 6211   8089   
POST / HTTP/1.1
 6212   8090   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 6213   8091   
Host:example.amazonaws.com
 6214         -
X-Amz-Date:20150830T123600Z
        8092  +
Content-Length:13
 6215   8093   
 6216   8094   
Param1=value1
              \
 No newline at end of file
 6217   8095   
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
 6218   8096   
new file mode 100644
 6219   8097   
index 0000000..0db1df1
 6220         -
-- /dev/null
        8098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 6221   8099   
@@ -0,0 +1,12 @@
        8100  +
{
        8101  +
    "credentials": {
        8102  +
        "access_key_id": "AKIDEXAMPLE",
        8103  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        8104  +
    },
        8105  +
    "expiration_in_seconds": 3600,
        8106  +
    "normalize": true,
        8107  +
    "region": "us-east-1",
        8108  +
    "service": "service",
        8109  +
    "sign_body": true,
        8110  +
    "timestamp": "2015-08-30T12:36:00Z"
        8111  +
}
              \
 No newline at end of file
 6222   8112   
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
 6223   8113   
similarity index 61%
 6224   8114   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 6225   8115   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 6226   8116   
index 69009dc..797632b 100644
 6227         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        8117  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 6228   8118   
@@ -1,12 +1,12 @@
 6229   8119   
POST
 6230   8120   
/
 6231   8121   
 6232   8122   
content-length:13
 6233   8123   
content-type:application/x-www-form-urlencoded
 6234   8124   
host:example.amazonaws.com
 6235         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8125  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 6236   8126   
x-amz-date:20150830T123600Z
 6237   8127   
x-amz-region-set:us-east-1
 6238   8128   
 6239   8129   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 6240         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        8130  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6241   8131   
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
 6242   8132   
new file mode 100644
 6243   8133   
index 0000000..f5a641c
 6244         -
-- /dev/null
        8134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 6245   8135   
@@ -0,0 +1 @@
        8136  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 6246   8137   
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
 6247   8138   
new file mode 100644
 6248   8139   
index 0000000..7bd94a7
 6249         -
-- /dev/null
        8140  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 6250   8141   
@@ -0,0 +1,10 @@
        8142  +
POST / HTTP/1.1
        8143  +
Content-Type:application/x-www-form-urlencoded
        8144  +
Host:example.amazonaws.com
        8145  +
Content-Length:13
        8146  +
X-Amz-Date:20150830T123600Z
        8147  +
X-Amz-Region-Set:us-east-1
        8148  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        8149  +
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
        8150  +
        8151  +
Param1=value1
              \
 No newline at end of file
 6251   8152   
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
 6252   8153   
new file mode 100644
 6253   8154   
index 0000000..8d25ba9
 6254         -
-- /dev/null
        8155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 6255   8156   
@@ -0,0 +1,4 @@
        8157  +
AWS4-ECDSA-P256-SHA256
        8158  +
20150830T123600Z
        8159  +
20150830/service/aws4_request
        8160  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 6256   8161   
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
 6257   8162   
new file mode 100644
 6258   8163   
index 0000000..379dcb2
 6259         -
-- /dev/null
        8164  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 6260   8165   
@@ -0,0 +1,4 @@
        8166  +
{
        8167  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        8168  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        8169  +
}
 6261   8170   
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
 6262   8171   
similarity index 99%
 6263   8172   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 6264   8173   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 6265   8174   
index 9ed065b..563ff58 100644
 6266         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
        8175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 6267   8176   
@@ -1,9 +1,9 @@
 6268   8177   
POST
 6269   8178   
/
 6270   8179   
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
 6271   8180   
content-length:13
 6272   8181   
content-type:application/x-www-form-urlencoded
 6273   8182   
host:example.amazonaws.com
 6274   8183   
 6275   8184   
content-length;content-type;host
 6276         -
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        8185  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 6277   8186   
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
 6278   8187   
new file mode 100644
 6279   8188   
index 0000000..0c77daf
 6280         -
-- /dev/null
        8189  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 6281   8190   
@@ -0,0 +1 @@
        8191  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 6282   8192   
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
 6283   8193   
new file mode 100644
 6284   8194   
index 0000000..71d6de9
 6285         -
-- /dev/null
        8195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 6286   8196   
@@ -0,0 +1,6 @@
        8197  +
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
        8198  +
Content-Type:application/x-www-form-urlencoded
        8199  +
Host:example.amazonaws.com
        8200  +
Content-Length:13
        8201  +
        8202  +
Param1=value1
              \
 No newline at end of file
 6287   8203   
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
 6288   8204   
similarity index 99%
 6289   8205   
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
 6290   8206   
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
 6291   8207   
index bef3143..cc7a224 100644
 6292         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-string-to-sign.txt
        8208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-string-to-sign.txt
 6293   8209   
@@ -1,4 +1,4 @@
 6294   8210   
AWS4-ECDSA-P256-SHA256
 6295   8211   
20150830T123600Z
 6296   8212   
20150830/service/aws4_request
 6297         -
4e4122984d30d13170a298ece62cc30f8da12578fb3b482616b1f11036b13934
        8213  +
4e4122984d30d13170a298ece62cc30f8da12578fb3b482616b1f11036b13934
              \
 No newline at end of file
 6298   8214   
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
 6299   8215   
new file mode 100644
 6300   8216   
index 0000000..760b2d3
 6301         -
-- /dev/null
        8217  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 6302   8218   
@@ -0,0 +1,6 @@
        8219  +
POST / HTTP/1.1
        8220  +
Content-Type:application/x-www-form-urlencoded
        8221  +
Host:example.amazonaws.com
        8222  +
Content-Length:13
        8223  +
        8224  +
Param1=value1
              \
 No newline at end of file
 6303   8225   
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
 6304   8226   
index 9bd636f..b53f33f 100644
 6305         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        8227  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 6306   8228   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 6307   8229   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 6308   8230   
        }
 6309   8231   
 6310   8232   
        if let SignatureValues::QueryParams(values) = values {
 6311   8233   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 6312   8234   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 6313   8235   
 6314   8236   
            #[cfg(feature = "sigv4a")]
 6315   8237   
            if let Some(regions) = values.region_set {
 6316   8238   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 6317   8239   
            }
 6318   8240   
 6319   8241   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 6320   8242   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 6321   8243   
            add_param(
 6322   8244   
                &mut params,
 6323   8245   
                param::X_AMZ_SIGNED_HEADERS,
 6324   8246   
                values.signed_headers.as_str(),
 6325   8247   
            );
 6326   8248   
 6327   8249   
            if let Some(security_token) = values.security_token {
 6328   8250   
                add_param(
 6329   8251   
                    &mut params,
 6330   8252   
                    settings
 6331   8253   
                        .session_token_name_override
 6332   8254   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 6333   8255   
                    security_token,
 6334   8256   
                );
 6335   8257   
            }
 6336   8258   
        }
 6337         -
        // Sort by param name, and then by param value
        8259  +
        8260  +
        // Sort on the _encoded_ key/value pairs
        8261  +
        let mut params: Vec<(String, String)> = params
        8262  +
            .into_iter()
        8263  +
            .map(|x| {
        8264  +
                use aws_smithy_http::query::fmt_string;
        8265  +
                let enc_k = fmt_string(&x.0);
        8266  +
                let enc_v = fmt_string(&x.1);
        8267  +
                (enc_k, enc_v)
        8268  +
            })
        8269  +
            .collect();
        8270  +
 6338   8271   
        params.sort();
 6339   8272   
 6340   8273   
        let mut query = QueryWriter::new(uri);
 6341   8274   
        query.clear_params();
 6342   8275   
        for (key, value) in params {
 6343         -
            query.insert(&key, &value);
        8276  +
            query.insert_encoded(&key, &value);
 6344   8277   
        }
 6345   8278   
 6346   8279   
        let query = query.build_query();
 6347   8280   
        if query.is_empty() {
 6348   8281   
            None
 6349   8282   
        } else {
 6350   8283   
            Some(query)
 6351   8284   
        }
 6352   8285   
    }
 6353   8286   
 6354   8287   
    fn insert_host_header(
 6355   8288   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 6356   8289   
        uri: &Uri,
 6357   8290   
    ) -> HeaderValue {
 6358   8291   
        match canonical_headers.get(&HOST) {
 6359   8292   
            Some(header) => header.clone(),
 6360   8293   
            None => {
 6361   8294   
                let port = uri.port();
 6362   8295   
                let scheme = uri.scheme();
 6363   8296   
                let authority = uri
 6364   8297   
                    .authority()
 6365   8298   
                    .expect("request uri authority must be set for signing")
 6366   8299   
                    .as_str();
 6367   8300   
                let host = uri
 6368   8301   
                    .host()
 6369   8302   
                    .expect("request uri host must be set for signing");
 6370   8303   
 6371   8304   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 6372   8305   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 6373   8306   
                // sent in the Host header (and Hyper strips default ports if they are present)
 6374   8307   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 6375   8308   
            service,
 6376   8309   
            hashed_creq,
 6377   8310   
            signature_version: SignatureVersion::V4a,
 6378   8311   
        }
 6379   8312   
    }
 6380   8313   
}
 6381   8314   
 6382   8315   
impl fmt::Display for StringToSign<'_> {
 6383   8316   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 6384   8317   
        write!(
 6385   8318   
            f,
 6386   8319   
            "{}\n{}\n{}\n{}",
 6387   8320   
            self.algorithm,
 6388   8321   
            format_date_time(self.time),
 6389   8322   
            match self.signature_version {
 6390   8323   
                SignatureVersion::V4 => self.scope.to_string(),
 6391   8324   
                SignatureVersion::V4a => self.scope.v4a_display(),
 6392   8325   
            },
 6393   8326   
            self.hashed_creq
 6394   8327   
        )
 6395   8328   
    }
 6396   8329   
}
 6397   8330   
 6398   8331   
#[cfg(test)]
 6399   8332   
mod tests {
 6400   8333   
    use crate::date_time::test_parsers::parse_date_time;
 6401   8334   
    use crate::http_request::canonical_request::{
 6402   8335   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 6403   8336   
    };
 6404   8337   
    use crate::http_request::test;
        8338  +
    use crate::http_request::test::SigningSuiteTest;
 6405   8339   
    use crate::http_request::{
 6406   8340   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 6407   8341   
        SigningParams, SigningSettings,
 6408   8342   
    };
 6409   8343   
    use crate::sign::v4;
 6410   8344   
    use crate::sign::v4::sha256_hex_string;
 6411   8345   
    use aws_credential_types::Credentials;
 6412   8346   
    use aws_smithy_http::query_writer::QueryWriter;
 6413   8347   
    use aws_smithy_runtime_api::client::identity::Identity;
 6414   8348   
    use http0::{HeaderValue, Uri};
 6415   8349   
    use pretty_assertions::assert_eq;
 6416   8350   
    use proptest::{prelude::*, proptest};
 6417   8351   
    use std::borrow::Cow;
 6418   8352   
    use std::time::Duration;
 6419   8353   
 6420   8354   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 6421   8355   
        v4::signing_params::Builder::default()
 6422   8356   
            .identity(identity)
 6423   8357   
            .region("test-region")
 6424   8358   
            .name("testservicename")
 6425   8359   
            .time(parse_date_time("20210511T154045Z").unwrap())
 6426   8360   
            .settings(settings)
 6427   8361   
            .build()
 6428   8362   
            .unwrap()
 6429   8363   
            .into()
 6430   8364   
    }
 6431   8365   
 6432   8366   
    #[test]
 6433   8367   
    fn test_repeated_header() {
 6434         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8368  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8369  +
        let mut req = test.request();
 6435   8370   
        req.headers.push((
 6436   8371   
            "x-amz-object-attributes".to_string(),
 6437   8372   
            "Checksum".to_string(),
 6438   8373   
        ));
 6439   8374   
        req.headers.push((
 6440   8375   
            "x-amz-object-attributes".to_string(),
 6441   8376   
            "ObjectSize".to_string(),
 6442   8377   
        ));
 6443   8378   
        let req = SignableRequest::from(&req);
 6444   8379   
        let settings = SigningSettings {
 6445   8380   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6446   8381   
            session_token_mode: SessionTokenMode::Exclude,
 6447   8382   
            ..Default::default()
 6448   8383   
        };
 6449   8384   
        let identity = Credentials::for_tests().into();
 6450   8385   
        let signing_params = signing_params(&identity, settings);
 6451   8386   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6452   8387   
 6453   8388   
        assert_eq!(
 6454   8389   
            creq.values.signed_headers().to_string(),
 6455   8390   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 6456   8391   
        );
 6457   8392   
        assert_eq!(
 6458   8393   
            creq.header_values_for("x-amz-object-attributes"),
 6459   8394   
            "Checksum,ObjectSize",
 6460   8395   
        );
 6461   8396   
    }
 6462   8397   
 6463   8398   
    #[test]
 6464   8399   
    fn test_host_header_properly_handles_ports() {
 6465   8400   
        fn host_header_test_setup(endpoint: String) -> String {
 6466         -
            let mut req = test::v4::test_request("get-vanilla");
        8401  +
            let test = SigningSuiteTest::v4("get-vanilla");
        8402  +
            let mut req = test.request();
 6467   8403   
            req.uri = endpoint;
 6468   8404   
            let req = SignableRequest::from(&req);
 6469   8405   
            let settings = SigningSettings {
 6470   8406   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6471   8407   
                session_token_mode: SessionTokenMode::Exclude,
 6472   8408   
                ..Default::default()
 6473   8409   
            };
 6474   8410   
            let identity = Credentials::for_tests().into();
 6475   8411   
            let signing_params = signing_params(&identity, settings);
 6476   8412   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6477   8413   
            creq.header_values_for("host")
 6478   8414   
        }
 6479   8415   
 6480   8416   
        // HTTP request with 80 port should not be signed with that port
 6481   8417   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 6482   8418   
        assert_eq!(http_80_host_header, "localhost",);
 6483   8419   
 6484   8420   
        // HTTP request with non-80 port should be signed with that port
 6485   8421   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 6486   8422   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 6487   8423   
 6488   8424   
        // HTTPS request with 443 port should not be signed with that port
 6489   8425   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 6490   8426   
        assert_eq!(https_443_host_header, "localhost",);
 6491   8427   
 6492   8428   
        // HTTPS request with non-443 port should be signed with that port
 6493   8429   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 6494   8430   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 6495   8431   
    }
 6496   8432   
 6497   8433   
    #[test]
 6498   8434   
    fn test_set_xamz_sha_256() {
 6499         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        8435  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8436  +
        let req = test.request();
 6500   8437   
        let req = SignableRequest::from(&req);
 6501   8438   
        let settings = SigningSettings {
 6502   8439   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6503   8440   
            session_token_mode: SessionTokenMode::Exclude,
 6504   8441   
            ..Default::default()
 6505   8442   
        };
 6506   8443   
        let identity = Credentials::for_tests().into();
 6507   8444   
        let mut signing_params = signing_params(&identity, settings);
 6508   8445   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6509   8446   
        assert_eq!(
 6510   8447   
            creq.values.content_sha256(),
 6511   8448   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 6512   8449   
        );
 6513   8450   
        // assert that the sha256 header was added
 6514   8451   
        assert_eq!(
 6515   8452   
            creq.values.signed_headers().as_str(),
 6516   8453   
            "host;x-amz-content-sha256;x-amz-date"
 6517   8454   
        );
 6518   8455   
 6519   8456   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 6520   8457   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6521   8458   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 6522   8459   
    }
 6523   8460   
 6524   8461   
    #[test]
 6525   8462   
    fn test_unsigned_payload() {
 6526         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8463  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8464  +
        let mut req = test.request();
 6527   8465   
        req.set_body(SignableBody::UnsignedPayload);
 6528   8466   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 6529   8467   
 6530   8468   
        let settings = SigningSettings {
 6531   8469   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6532   8470   
            ..Default::default()
 6533   8471   
        };
 6534   8472   
        let identity = Credentials::for_tests().into();
 6535   8473   
        let signing_params = signing_params(&identity, settings);
 6536   8474   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6537   8475   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 6538   8476   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 6539   8477   
    }
 6540   8478   
 6541   8479   
    #[test]
 6542   8480   
    fn test_precomputed_payload() {
 6543   8481   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 6544         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        8482  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8483  +
        let mut req = test.request();
 6545   8484   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 6546   8485   
        let req = SignableRequest::from(&req);
 6547   8486   
        let settings = SigningSettings {
 6548   8487   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6549   8488   
            ..Default::default()
 6550   8489   
        };
 6551   8490   
        let identity = Credentials::for_tests().into();
 6552   8491   
        let signing_params = signing_params(&identity, settings);
 6553   8492   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6554   8493   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 6555   8494   
        assert!(creq.to_string().ends_with(payload_hash));
 6556   8495   
    }
 6557   8496   
 6558   8497   
    #[test]
 6559   8498   
    fn test_generate_scope() {
 6560   8499   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 6561   8500   
        let scope = SigningScope {
 6562   8501   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6563   8502   
            region: "us-east-1",
 6564   8503   
            service: "iam",
 6565   8504   
        };
 6566   8505   
        assert_eq!(format!("{}\n", scope), expected);
 6567   8506   
    }
 6568   8507   
 6569   8508   
    #[test]
 6570   8509   
    fn test_string_to_sign() {
 6571   8510   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6572         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 6573         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        8511  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8512  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        8513  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 6574   8514   
        let encoded = sha256_hex_string(creq.as_bytes());
 6575   8515   
 6576   8516   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 6577   8517   
        assert_eq!(expected_sts, actual.to_string());
 6578   8518   
    }
 6579   8519   
 6580   8520   
    #[test]
 6581   8521   
    fn test_digest_of_canonical_request() {
 6582         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        8522  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8523  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 6583   8524   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 6584   8525   
        let actual = sha256_hex_string(creq.as_bytes());
 6585   8526   
        assert_eq!(expected, actual);
 6586   8527   
    }
 6587   8528   
 6588   8529   
    #[test]
 6589   8530   
    fn test_double_url_encode_path() {
 6590         -
        let req = test::v4::test_request("double-encode-path");
        8531  +
        let test = SigningSuiteTest::v4("double-encode-path");
        8532  +
        let req = test.request();
 6591   8533   
        let req = SignableRequest::from(&req);
 6592   8534   
        let identity = Credentials::for_tests().into();
 6593   8535   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6594   8536   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6595   8537   
 6596         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        8538  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 6597   8539   
        let actual = format!("{}", creq);
 6598   8540   
        assert_eq!(actual, expected);
 6599   8541   
    }
 6600   8542   
 6601   8543   
    #[test]
 6602   8544   
    fn test_double_url_encode() {
 6603         -
        let req = test::v4::test_request("double-url-encode");
        8545  +
        let test = SigningSuiteTest::v4("double-url-encode");
        8546  +
        let req = test.request();
 6604   8547   
        let req = SignableRequest::from(&req);
 6605   8548   
        let identity = Credentials::for_tests().into();
 6606   8549   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6607   8550   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6608         -
 6609         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        8551  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 6610   8552   
        let actual = format!("{}", creq);
 6611   8553   
        assert_eq!(actual, expected);
 6612   8554   
    }
 6613   8555   
 6614   8556   
    #[test]
 6615   8557   
    fn test_tilde_in_uri() {
 6616   8558   
        let req = http0::Request::builder()
 6617   8559   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 6618   8560   
        let req = SignableRequest::from(&req);
 6619   8561   
        let identity = Credentials::for_tests().into();
 6620   8562   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6621   8563   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6622   8564   
        assert_eq!(
 6623   8565   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 6624   8566   
            creq.params.as_deref(),
 6625   8567   
        );
 6626   8568   
    }
 6627   8569   
 6628   8570   
    #[test]
 6629   8571   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 6630   8572   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 6631   8573   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 6632   8574   
 6633   8575   
        let mut query_writer = QueryWriter::new(&uri);
 6634   8576   
        query_writer.insert("list-type", "2");
 6635   8577   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 6636   8578   
 6637   8579   
        let req = http0::Request::builder()
 6638   8580   
            .uri(query_writer.build_uri())
 6639   8581   
            .body("")
 6640   8582   
            .unwrap()
 6641   8583   
            .into();
 6642   8584   
        let req = SignableRequest::from(&req);
 6643   8585   
        let identity = Credentials::for_tests().into();
 6644   8586   
        let signing_params = signing_params(&identity, SigningSettings::default());
 6645   8587   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6646   8588   
 6647   8589   
        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~";
 6648   8590   
        let actual = creq.params.unwrap();
 6649   8591   
        assert_eq!(expected, actual);
 6650   8592   
    }
 6651   8593   
 6652   8594   
    #[test]
 6653   8595   
    fn test_omit_session_token() {
 6654         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        8596  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        8597  +
        let req = test.request();
 6655   8598   
        let req = SignableRequest::from(&req);
 6656   8599   
        let settings = SigningSettings {
 6657   8600   
            session_token_mode: SessionTokenMode::Include,
 6658   8601   
            ..Default::default()
 6659   8602   
        };
 6660   8603   
        let identity = Credentials::for_tests_with_session_token().into();
 6661   8604   
        let mut signing_params = signing_params(&identity, settings);
 6662   8605   
 6663   8606   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6664   8607   
        assert_eq!(
 6665   8608   
            creq.values.signed_headers().as_str(),
 6666   8609   
            "host;x-amz-date;x-amz-security-token"
 6667   8610   
        );
 6668   8611   
        assert_eq!(
 6669   8612   
            creq.headers.get("x-amz-security-token").unwrap(),
 6670   8613   
            "notarealsessiontoken"
 6671   8614   
        );
 6672   8615   
 6673   8616   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 6674   8617   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 6675   8618   
        assert_eq!(
 6676   8619   
            creq.headers.get("x-amz-security-token").unwrap(),
 6677   8620   
            "notarealsessiontoken"
 6678   8621   
        );
 6679   8622   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 6680   8623   
    }
 6681   8624   
 6682   8625   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 6683   8626   
    #[test]
 6684   8627   
    fn non_presigning_header_exclusion() {
 6685   8628   
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
 6686   8629   
index c4bbbee..30b4743 100644
 6687         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        8630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 6688   8631   
@@ -478,436 +478,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 6689   8632   
        sensitive,
 6690   8633   
    });
 6691   8634   
}
 6692   8635   
 6693   8636   
// add signature to authorization header
 6694   8637   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 6695   8638   
fn build_authorization_header(
 6696   8639   
    access_key: &str,
 6697   8640   
    creq: &CanonicalRequest<'_>,
 6698   8641   
    sts: StringToSign<'_>,
 6699   8642   
    signature: &str,
 6700   8643   
    signature_version: SignatureVersion,
 6701   8644   
) -> String {
 6702   8645   
    let scope = match signature_version {
 6703   8646   
        SignatureVersion::V4 => sts.scope.to_string(),
 6704   8647   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 6705   8648   
    };
 6706   8649   
    format!(
 6707   8650   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 6708   8651   
        sts.algorithm,
 6709   8652   
        access_key,
 6710   8653   
        scope,
 6711   8654   
        creq.values.signed_headers().as_str(),
 6712   8655   
        signature
 6713   8656   
    )
 6714   8657   
}
 6715   8658   
#[cfg(test)]
 6716   8659   
mod tests {
 6717   8660   
    use crate::date_time::test_parsers::parse_date_time;
 6718   8661   
    use crate::http_request::sign::{add_header, SignableRequest};
        8662  +
    use crate::http_request::test::SigningSuiteTest;
 6719   8663   
    use crate::http_request::{
 6720         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        8664  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 6721   8665   
        SigningSettings,
 6722   8666   
    };
 6723   8667   
    use crate::sign::v4;
 6724   8668   
    use aws_credential_types::Credentials;
 6725   8669   
    use http0::{HeaderValue, Request};
 6726   8670   
    use pretty_assertions::assert_eq;
 6727   8671   
    use proptest::proptest;
 6728   8672   
    use std::borrow::Cow;
 6729   8673   
    use std::iter;
 6730         -
    use std::time::Duration;
 6731   8674   
 6732   8675   
    macro_rules! assert_req_eq {
 6733   8676   
        (http: $expected:expr, $actual:expr) => {
 6734   8677   
            let mut expected = ($expected).map(|_b|"body");
 6735   8678   
            let mut actual = ($actual).map(|_b|"body");
 6736   8679   
            make_headers_comparable(&mut expected);
 6737   8680   
            make_headers_comparable(&mut actual);
 6738   8681   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 6739   8682   
        };
 6740   8683   
        ($expected:tt, $actual:tt) => {
 6741   8684   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 6742   8685   
        };
 6743   8686   
    }
 6744   8687   
 6745   8688   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 6746   8689   
        for (_name, value) in request.headers_mut() {
 6747   8690   
            value.set_sensitive(false);
 6748   8691   
        }
 6749   8692   
    }
 6750   8693   
 6751         -
    #[test]
 6752         -
    fn test_sign_vanilla_with_headers() {
 6753         -
        let settings = SigningSettings::default();
 6754         -
        let identity = &Credentials::for_tests().into();
 6755         -
        let params = v4::SigningParams {
 6756         -
            identity,
 6757         -
            region: "us-east-1",
 6758         -
            name: "service",
 6759         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 6760         -
            settings,
 6761         -
        }
 6762         -
        .into();
 6763         -
 6764         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 6765         -
        let signable = SignableRequest::from(&original);
 6766         -
        let out = sign(signable, &params).unwrap();
 6767         -
        assert_eq!(
 6768         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 6769         -
            out.signature
 6770         -
        );
 6771         -
 6772         -
        let mut signed = original.as_http_request();
 6773         -
        out.output.apply_to_request_http0x(&mut signed);
 6774         -
 6775         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 6776         -
        assert_req_eq!(expected, signed);
 6777         -
    }
 6778         -
        8694  +
    // Sigv4A suite tests
 6779   8695   
    #[cfg(feature = "sigv4a")]
 6780         -
    mod sigv4a_tests {
 6781         -
        use super::*;
 6782         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 6783         -
        use crate::http_request::{sign, test, SigningParams};
 6784         -
        use crate::sign::v4a;
 6785         -
        use p256::ecdsa::signature::{Signature, Verifier};
 6786         -
        use p256::ecdsa::{DerSignature, SigningKey};
 6787         -
        use pretty_assertions::assert_eq;
 6788         -
 6789         -
        fn new_v4a_signing_params_from_context(
 6790         -
            test_context: &'_ test::v4a::TestContext,
 6791         -
            signature_location: SignatureLocation,
 6792         -
        ) -> SigningParams<'_> {
 6793         -
            let mut params = v4a::SigningParams::from(test_context);
 6794         -
            params.settings.signature_location = signature_location;
 6795         -
 6796         -
            params.into()
 6797         -
        }
 6798         -
 6799         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 6800         -
            let tc = test::v4a::test_context(test_name);
 6801         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 6802         -
 6803         -
            let req = test::v4a::test_request(test_name);
 6804         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 6805         -
            let signable_req = SignableRequest::from(&req);
 6806         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
 6807         -
 6808         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
 6809         -
 6810         -
            let expected_string_to_sign =
 6811         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 6812         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 6813         -
            let actual_string_to_sign = StringToSign::new_v4a(
 6814         -
                *params.time(),
 6815         -
                params.region_set().unwrap(),
 6816         -
                params.name(),
 6817         -
                hashed_creq,
 6818         -
            )
 6819         -
            .to_string();
 6820         -
 6821         -
            assert_eq!(
 6822         -
                expected_string_to_sign, actual_string_to_sign,
 6823         -
                "'string to sign' didn't match"
 6824         -
            );
        8696  +
    mod v4a_suite {
        8697  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 6825   8698   
 6826         -
            let out = sign(signable_req, &params).unwrap();
 6827         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 6828         -
            out.output
 6829         -
                .apply_to_request_http0x(&mut req.as_http_request());
 6830         -
 6831         -
            let creds = params.credentials().unwrap();
 6832         -
            let signing_key =
 6833         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 6834         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 6835         -
            let sig = sig
 6836         -
                .try_into()
 6837         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 6838         -
 6839         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 6840         -
            let peer_public_key = signing_key.verifying_key();
 6841         -
            let sts = actual_string_to_sign.as_bytes();
 6842         -
            peer_public_key.verify(sts, &sig).unwrap();
        8699  +
        #[test]
        8700  +
        fn test_get_header_key_duplicate() {
        8701  +
            run_test_suite_v4a("get-header-key-duplicate")
 6843   8702   
        }
 6844   8703   
 6845   8704   
        #[test]
 6846         -
        fn test_get_header_key_duplicate() {
 6847         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        8705  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        8706  +
        fn test_get_header_value_multiline() {
        8707  +
            run_test_suite_v4a("get-header-value-multiline")
 6848   8708   
        }
 6849   8709   
 6850   8710   
        #[test]
 6851   8711   
        fn test_get_header_value_order() {
 6852         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        8712  +
            run_test_suite_v4a("get-header-value-order")
 6853   8713   
        }
 6854   8714   
 6855   8715   
        #[test]
 6856   8716   
        fn test_get_header_value_trim() {
 6857         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        8717  +
            run_test_suite_v4a("get-header-value-trim");
 6858   8718   
        }
 6859   8719   
 6860   8720   
        #[test]
 6861   8721   
        fn test_get_relative_normalized() {
 6862         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        8722  +
            run_test_suite_v4a("get-relative-normalized");
 6863   8723   
        }
 6864   8724   
 6865   8725   
        #[test]
 6866   8726   
        fn test_get_relative_relative_normalized() {
 6867         -
            run_v4a_test_suite(
 6868         -
                "get-relative-relative-normalized",
 6869         -
                SignatureLocation::Headers,
 6870         -
            );
        8727  +
            run_test_suite_v4a("get-relative-relative-normalized");
 6871   8728   
        }
 6872   8729   
 6873   8730   
        #[test]
 6874   8731   
        fn test_get_relative_relative_unnormalized() {
 6875         -
            run_v4a_test_suite(
 6876         -
                "get-relative-relative-unnormalized",
 6877         -
                SignatureLocation::Headers,
 6878         -
            );
        8732  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 6879   8733   
        }
 6880   8734   
 6881   8735   
        #[test]
 6882   8736   
        fn test_get_relative_unnormalized() {
 6883         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        8737  +
            run_test_suite_v4a("get-relative-unnormalized");
 6884   8738   
        }
 6885   8739   
 6886   8740   
        #[test]
 6887   8741   
        fn test_get_slash_dot_slash_normalized() {
 6888         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        8742  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 6889   8743   
        }
 6890   8744   
 6891   8745   
        #[test]
 6892   8746   
        fn test_get_slash_dot_slash_unnormalized() {
 6893         -
            run_v4a_test_suite(
 6894         -
                "get-slash-dot-slash-unnormalized",
 6895         -
                SignatureLocation::Headers,
 6896         -
            );
        8747  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 6897   8748   
        }
 6898   8749   
 6899   8750   
        #[test]
 6900   8751   
        fn test_get_slash_normalized() {
 6901         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        8752  +
            run_test_suite_v4a("get-slash-normalized");
 6902   8753   
        }
 6903   8754   
 6904   8755   
        #[test]
 6905   8756   
        fn test_get_slash_pointless_dot_normalized() {
 6906         -
            run_v4a_test_suite(
 6907         -
                "get-slash-pointless-dot-normalized",
 6908         -
                SignatureLocation::Headers,
 6909         -
            );
        8757  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 6910   8758   
        }
 6911   8759   
 6912   8760   
        #[test]
 6913   8761   
        fn test_get_slash_pointless_dot_unnormalized() {
 6914         -
            run_v4a_test_suite(
 6915         -
                "get-slash-pointless-dot-unnormalized",
 6916         -
                SignatureLocation::Headers,
 6917         -
            );
        8762  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 6918   8763   
        }
 6919   8764   
 6920   8765   
        #[test]
 6921   8766   
        fn test_get_slash_unnormalized() {
 6922         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        8767  +
            run_test_suite_v4a("get-slash-unnormalized");
 6923   8768   
        }
 6924   8769   
 6925   8770   
        #[test]
 6926   8771   
        fn test_get_slashes_normalized() {
 6927         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        8772  +
            run_test_suite_v4a("get-slashes-normalized");
 6928   8773   
        }
 6929   8774   
 6930   8775   
        #[test]
 6931   8776   
        fn test_get_slashes_unnormalized() {
 6932         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        8777  +
            run_test_suite_v4a("get-slashes-unnormalized");
        8778  +
        }
        8779  +
        8780  +
        #[test]
        8781  +
        #[ignore = "relies on single encode of path segments"]
        8782  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        8783  +
        // skipped until we add control over double_uri_encode in context.json
        8784  +
        fn test_get_space_normalized() {
        8785  +
            run_test_suite_v4a("get-space-normalized");
        8786  +
        }
        8787  +
        8788  +
        #[test]
        8789  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        8790  +
        // the input request has unencoded space ' ' in the path which fails to parse
        8791  +
        fn test_get_space_unnormalized() {
        8792  +
            run_test_suite_v4a("get-space-unnormalized");
 6933   8793   
        }
 6934   8794   
 6935   8795   
        #[test]
 6936   8796   
        fn test_get_unreserved() {
 6937         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        8797  +
            run_test_suite_v4a("get-unreserved");
        8798  +
        }
        8799  +
        8800  +
        #[test]
        8801  +
        #[ignore = "httparse fails on invalid uri character"]
        8802  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8803  +
        fn test_get_utf8() {
        8804  +
            run_test_suite_v4a("get-utf8");
 6938   8805   
        }
 6939   8806   
 6940   8807   
        #[test]
 6941   8808   
        fn test_get_vanilla() {
 6942         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        8809  +
            run_test_suite_v4a("get-vanilla");
 6943   8810   
        }
 6944   8811   
 6945   8812   
        #[test]
 6946   8813   
        fn test_get_vanilla_empty_query_key() {
 6947         -
            run_v4a_test_suite(
 6948         -
                "get-vanilla-empty-query-key",
 6949         -
                SignatureLocation::QueryParams,
 6950         -
            );
        8814  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 6951   8815   
        }
 6952   8816   
 6953   8817   
        #[test]
 6954   8818   
        fn test_get_vanilla_query() {
 6955         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        8819  +
            run_test_suite_v4a("get-vanilla-query");
        8820  +
        }
        8821  +
        8822  +
        #[test]
        8823  +
        fn test_get_vanilla_query_order_encoded() {
        8824  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 6956   8825   
        }
 6957   8826   
 6958   8827   
        #[test]
 6959   8828   
        fn test_get_vanilla_query_order_key_case() {
 6960         -
            run_v4a_test_suite(
 6961         -
                "get-vanilla-query-order-key-case",
 6962         -
                SignatureLocation::QueryParams,
 6963         -
            );
        8829  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 6964   8830   
        }
 6965   8831   
 6966   8832   
        #[test]
 6967   8833   
        fn test_get_vanilla_query_unreserved() {
 6968         -
            run_v4a_test_suite(
 6969         -
                "get-vanilla-query-unreserved",
 6970         -
                SignatureLocation::QueryParams,
 6971         -
            );
        8834  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        8835  +
        }
        8836  +
        8837  +
        #[test]
        8838  +
        #[ignore = "httparse fails on invalid uri character"]
        8839  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8840  +
        fn test_get_vanilla_utf8_query() {
        8841  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 6972   8842   
        }
 6973   8843   
 6974   8844   
        #[test]
 6975   8845   
        fn test_get_vanilla_with_session_token() {
 6976         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        8846  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 6977   8847   
        }
 6978   8848   
 6979   8849   
        #[test]
 6980   8850   
        fn test_post_header_key_case() {
 6981         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        8851  +
            run_test_suite_v4a("post-header-key-case");
 6982   8852   
        }
 6983   8853   
 6984   8854   
        #[test]
 6985   8855   
        fn test_post_header_key_sort() {
 6986         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        8856  +
            run_test_suite_v4a("post-header-key-sort");
 6987   8857   
        }
 6988   8858   
 6989   8859   
        #[test]
 6990   8860   
        fn test_post_header_value_case() {
 6991         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        8861  +
            run_test_suite_v4a("post-header-value-case");
 6992   8862   
        }
 6993   8863   
 6994   8864   
        #[test]
 6995   8865   
        fn test_post_sts_header_after() {
 6996         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        8866  +
            run_test_suite_v4a("post-sts-header-after");
 6997   8867   
        }
 6998   8868   
 6999   8869   
        #[test]
 7000   8870   
        fn test_post_sts_header_before() {
 7001         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        8871  +
            run_test_suite_v4a("post-sts-header-before");
 7002   8872   
        }
 7003   8873   
 7004   8874   
        #[test]
 7005   8875   
        fn test_post_vanilla() {
 7006         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        8876  +
            run_test_suite_v4a("post-vanilla");
 7007   8877   
        }
 7008   8878   
 7009   8879   
        #[test]
 7010   8880   
        fn test_post_vanilla_empty_query_value() {
 7011         -
            run_v4a_test_suite(
 7012         -
                "post-vanilla-empty-query-value",
 7013         -
                SignatureLocation::QueryParams,
 7014         -
            );
        8881  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 7015   8882   
        }
 7016   8883   
 7017   8884   
        #[test]
 7018   8885   
        fn test_post_vanilla_query() {
 7019         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        8886  +
            run_test_suite_v4a("post-vanilla-query");
 7020   8887   
        }
 7021   8888   
 7022   8889   
        #[test]
 7023   8890   
        fn test_post_x_www_form_urlencoded() {
 7024         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        8891  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 7025   8892   
        }
 7026   8893   
 7027   8894   
        #[test]
 7028   8895   
        fn test_post_x_www_form_urlencoded_parameters() {
 7029         -
            run_v4a_test_suite(
 7030         -
                "post-x-www-form-urlencoded-parameters",
 7031         -
                SignatureLocation::QueryParams,
 7032         -
            );
        8896  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 7033   8897   
        }
 7034   8898   
    }
 7035   8899   
 7036   8900   
    #[test]
 7037   8901   
    fn test_sign_url_escape() {
 7038         -
        let test = "double-encode-path";
        8902  +
        let test = SigningSuiteTest::v4("double-encode-path");
 7039   8903   
        let settings = SigningSettings::default();
 7040   8904   
        let identity = &Credentials::for_tests().into();
 7041   8905   
        let params = v4::SigningParams {
 7042   8906   
            identity,
 7043   8907   
            region: "us-east-1",
 7044   8908   
            name: "service",
 7045   8909   
            time: parse_date_time("20150830T123600Z").unwrap(),
 7046   8910   
            settings,
 7047   8911   
        }
 7048   8912   
        .into();
 7049   8913   
 7050         -
        let original = test::v4::test_request(test);
        8914  +
        let original = test.request();
 7051   8915   
        let signable = SignableRequest::from(&original);
 7052   8916   
        let out = sign(signable, &params).unwrap();
 7053   8917   
        assert_eq!(
 7054   8918   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 7055   8919   
            out.signature
 7056   8920   
        );
 7057   8921   
 7058   8922   
        let mut signed = original.as_http_request();
 7059   8923   
        out.output.apply_to_request_http0x(&mut signed);
 7060   8924   
 7061         -
        let expected = test::v4::test_signed_request(test);
 7062         -
        assert_req_eq!(expected, signed);
 7063         -
    }
 7064         -
 7065         -
    #[test]
 7066         -
    fn test_sign_vanilla_with_query_params() {
 7067         -
        let settings = SigningSettings {
 7068         -
            signature_location: SignatureLocation::QueryParams,
 7069         -
            expires_in: Some(Duration::from_secs(35)),
 7070         -
            ..Default::default()
 7071         -
        };
 7072         -
        let identity = &Credentials::for_tests().into();
 7073         -
        let params = v4::SigningParams {
 7074         -
            identity,
 7075         -
            region: "us-east-1",
 7076         -
            name: "service",
 7077         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 7078         -
            settings,
 7079         -
        }
 7080         -
        .into();
 7081         -
 7082         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 7083         -
        let signable = SignableRequest::from(&original);
 7084         -
        let out = sign(signable, &params).unwrap();
 7085         -
        assert_eq!(
 7086         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 7087         -
            out.signature
 7088         -
        );
 7089         -
 7090         -
        let mut signed = original.as_http_request();
 7091         -
        out.output.apply_to_request_http0x(&mut signed);
 7092         -
 7093         -
        let expected =
 7094         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        8925  +
        let expected = test.signed_request(SignatureLocation::Headers);
 7095   8926   
        assert_req_eq!(expected, signed);
 7096   8927   
    }
 7097   8928   
 7098   8929   
    #[test]
 7099   8930   
    fn test_sign_headers_utf8() {
 7100   8931   
        let settings = SigningSettings::default();
 7101   8932   
        let identity = &Credentials::for_tests().into();
 7102   8933   
        let params = v4::SigningParams {
 7103   8934   
            identity,
 7104   8935   
            region: "us-east-1",
 7105   8936   
            name: "service",
 7106   8937   
            time: parse_date_time("20150830T123600Z").unwrap(),
 7107   8938   
            settings,
 7108   8939   
        }
 7109   8940   
        .into();
 7110   8941   
 7111   8942   
        let original = http0::Request::builder()
 7112   8943   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 7113   8944   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 7114   8945   
            .body("")
 7115   8946   
            .unwrap()
 7116   8947   
            .into();
 7117   8948   
        let signable = SignableRequest::from(&original);
 7118   8949   
        let out = sign(signable, &params).unwrap();
 7119   8950   
        assert_eq!(
 7120   8951   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 7121   8952   
            out.signature
 7122   8953   
        );
 7123   8954   
 7124   8955   
        let mut signed = original.as_http_request();
 7125   8956   
@@ -1138,31 +1026,236 @@ mod tests {
 7126   8957   
        let mut request = http::Request::builder()
 7127   8958   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 7128   8959   
            .body("")
 7129   8960   
            .unwrap();
 7130   8961   
 7131   8962   
        instructions.apply_to_request_http1x(&mut request);
 7132   8963   
 7133   8964   
        assert_eq!(
 7134   8965   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 7135   8966   
            request.uri().path_and_query().unwrap().to_string()
 7136   8967   
        );
 7137   8968   
    }
 7138   8969   
 7139   8970   
    #[test]
 7140   8971   
    fn test_debug_signable_body() {
 7141   8972   
        let sut = SignableBody::Bytes(b"hello signable body");
 7142   8973   
        assert_eq!(
 7143   8974   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 7144   8975   
            format!("{sut:?}")
 7145   8976   
        );
 7146   8977   
 7147   8978   
        let sut = SignableBody::UnsignedPayload;
 7148   8979   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 7149   8980   
 7150   8981   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 7151   8982   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 7152   8983   
 7153   8984   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 7154   8985   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 7155   8986   
    }
        8987  +
        8988  +
    // v4 test suite
        8989  +
    mod v4_suite {
        8990  +
        use crate::http_request::test::run_test_suite_v4;
        8991  +
        8992  +
        #[test]
        8993  +
        fn test_get_header_key_duplicate() {
        8994  +
            run_test_suite_v4("get-header-key-duplicate");
        8995  +
        }
        8996  +
        8997  +
        #[test]
        8998  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        8999  +
        fn test_get_header_value_multiline() {
        9000  +
            run_test_suite_v4("get-header-value-multiline");
        9001  +
        }
        9002  +
        9003  +
        #[test]
        9004  +
        fn test_get_header_value_order() {
        9005  +
            run_test_suite_v4("get-header-value-order");
        9006  +
        }
        9007  +
        9008  +
        #[test]
        9009  +
        fn test_get_header_value_trim() {
        9010  +
            run_test_suite_v4("get-header-value-trim");
        9011  +
        }
        9012  +
        9013  +
        #[test]
        9014  +
        fn test_get_relative_normalized() {
        9015  +
            run_test_suite_v4("get-relative-normalized");
        9016  +
        }
        9017  +
        9018  +
        #[test]
        9019  +
        fn test_get_relative_relative_normalized() {
        9020  +
            run_test_suite_v4("get-relative-relative-normalized");
        9021  +
        }
        9022  +
        9023  +
        #[test]
        9024  +
        fn test_get_relative_relative_unnormalized() {
        9025  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        9026  +
        }
        9027  +
        9028  +
        #[test]
        9029  +
        fn test_get_relative_unnormalized() {
        9030  +
            run_test_suite_v4("get-relative-unnormalized");
        9031  +
        }
        9032  +
        9033  +
        #[test]
        9034  +
        fn test_get_slash_dot_slash_normalized() {
        9035  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        9036  +
        }
        9037  +
        9038  +
        #[test]
        9039  +
        fn test_get_slash_dot_slash_unnormalized() {
        9040  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        9041  +
        }
        9042  +
        9043  +
        #[test]
        9044  +
        fn test_get_slash_normalized() {
        9045  +
            run_test_suite_v4("get-slash-normalized");
        9046  +
        }
        9047  +
        9048  +
        #[test]
        9049  +
        fn test_get_slash_pointless_dot_normalized() {
        9050  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        9051  +
        }
        9052  +
        9053  +
        #[test]
        9054  +
        fn test_get_slash_pointless_dot_unnormalized() {
        9055  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        9056  +
        }
        9057  +
        9058  +
        #[test]
        9059  +
        fn test_get_slash_unnormalized() {
        9060  +
            run_test_suite_v4("get-slash-unnormalized");
        9061  +
        }
        9062  +
        9063  +
        #[test]
        9064  +
        fn test_get_slashes_normalized() {
        9065  +
            run_test_suite_v4("get-slashes-normalized");
        9066  +
        }
        9067  +
        9068  +
        #[test]
        9069  +
        fn test_get_slashes_unnormalized() {
        9070  +
            run_test_suite_v4("get-slashes-unnormalized");
        9071  +
        }
        9072  +
        9073  +
        #[test]
        9074  +
        #[ignore = "relies on single encode of path segments"]
        9075  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        9076  +
        // skipped until we add control over double_uri_encode in context.json
        9077  +
        fn test_get_space_normalized() {
        9078  +
            run_test_suite_v4("get-space-normalized");
        9079  +
        }
        9080  +
        9081  +
        #[test]
        9082  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        9083  +
        // the input request has unencoded space ' ' in the path which fails to parse
        9084  +
        fn test_get_space_unnormalized() {
        9085  +
            run_test_suite_v4("get-space-unnormalized");
        9086  +
        }
        9087  +
        9088  +
        #[test]
        9089  +
        fn test_get_unreserved() {
        9090  +
            run_test_suite_v4("get-unreserved");
        9091  +
        }
        9092  +
        9093  +
        #[test]
        9094  +
        #[ignore = "httparse fails on invalid uri character"]
        9095  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        9096  +
        fn test_get_utf8() {
        9097  +
            run_test_suite_v4("get-utf8");
        9098  +
        }
        9099  +
        9100  +
        #[test]
        9101  +
        fn test_get_vanilla() {
        9102  +
            run_test_suite_v4("get-vanilla");
        9103  +
        }
        9104  +
        9105  +
        #[test]
        9106  +
        fn test_get_vanilla_empty_query_key() {
        9107  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        9108  +
        }
        9109  +
        9110  +
        #[test]
        9111  +
        fn test_get_vanilla_query() {
        9112  +
            run_test_suite_v4("get-vanilla-query");
        9113  +
        }
        9114  +
        9115  +
        #[test]
        9116  +
        fn test_get_vanilla_query_order_encoded() {
        9117  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        9118  +
        }
        9119  +
        9120  +
        #[test]
        9121  +
        fn test_get_vanilla_query_order_key_case() {
        9122  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        9123  +
        }
        9124  +
        9125  +
        #[test]
        9126  +
        fn test_get_vanilla_query_unreserved() {
        9127  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        9128  +
        }
        9129  +
        9130  +
        #[test]
        9131  +
        #[ignore = "httparse fails on invalid uri character"]
        9132  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        9133  +
        fn test_get_vanilla_utf8_query() {
        9134  +
            run_test_suite_v4("get-vanilla-utf8-query");
        9135  +
        }
        9136  +
        9137  +
        #[test]
        9138  +
        fn test_get_vanilla_with_session_token() {
        9139  +
            run_test_suite_v4("get-vanilla-with-session-token");
        9140  +
        }
        9141  +
        9142  +
        #[test]
        9143  +
        fn test_post_header_key_case() {
        9144  +
            run_test_suite_v4("post-header-key-case");
        9145  +
        }
        9146  +
        9147  +
        #[test]
        9148  +
        fn test_post_header_key_sort() {
        9149  +
            run_test_suite_v4("post-header-key-sort");
        9150  +
        }
        9151  +
        9152  +
        #[test]
        9153  +
        fn test_post_header_value_case() {
        9154  +
            run_test_suite_v4("post-header-value-case");
        9155  +
        }
        9156  +
        9157  +
        #[test]
        9158  +
        fn test_post_sts_header_after() {
        9159  +
            run_test_suite_v4("post-sts-header-after");
        9160  +
        }
        9161  +
        9162  +
        #[test]
        9163  +
        fn test_post_sts_header_before() {
        9164  +
            run_test_suite_v4("post-sts-header-before");
        9165  +
        }
        9166  +
        9167  +
        #[test]
        9168  +
        fn test_post_vanilla() {
        9169  +
            run_test_suite_v4("post-vanilla");
        9170  +
        }
        9171  +
        9172  +
        #[test]
        9173  +
        fn test_post_vanilla_empty_query_value() {
        9174  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        9175  +
        }
        9176  +
        9177  +
        #[test]
        9178  +
        fn test_post_vanilla_query() {
        9179  +
            run_test_suite_v4("post-vanilla-query");
        9180  +
        }
        9181  +
        9182  +
        #[test]
        9183  +
        fn test_post_x_www_form_urlencoded() {
        9184  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        9185  +
        }
        9186  +
        9187  +
        #[test]
        9188  +
        fn test_post_x_www_form_urlencoded_parameters() {
        9189  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        9190  +
        }
        9191  +
    }
 7156   9192   
}
 7157   9193   
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
 7158   9194   
index be6c496..86eec20 100644
 7159         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        9195  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 7160   9196   
@@ -1,242 +1,453 @@
 7161   9197   
/*
 7162   9198   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 7163   9199   
 * SPDX-License-Identifier: Apache-2.0
 7164   9200   
 */
 7165   9201   
 7166   9202   
//! Functions shared between the tests of several modules.
 7167   9203   
 7168         -
use crate::http_request::{SignableBody, SignableRequest};
        9204  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        9205  +
use crate::http_request::{
        9206  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        9207  +
    SigningSettings,
        9208  +
};
        9209  +
use aws_credential_types::Credentials;
        9210  +
use aws_smithy_runtime_api::client::identity::Identity;
 7169   9211   
use http0::{Method, Uri};
        9212  +
use std::borrow::Cow;
 7170   9213   
use std::error::Error as StdError;
        9214  +
use std::time::{Duration, SystemTime};
        9215  +
use time::format_description::well_known::Rfc3339;
        9216  +
use time::OffsetDateTime;
        9217  +
        9218  +
/// Common test suite collection
        9219  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        9220  +
enum Collection {
        9221  +
    V4,
        9222  +
    V4A,
        9223  +
}
 7171   9224   
 7172         -
pub(crate) mod v4 {
 7173         -
    use super::*;
        9225  +
/// A test from the common CRT test suite
        9226  +
#[derive(Debug, Clone)]
        9227  +
pub(crate) struct SigningSuiteTest {
        9228  +
    test_name: &'static str,
        9229  +
    collection: Collection,
        9230  +
}
 7174   9231   
 7175         -
    fn path(name: &str, ext: &str) -> String {
 7176         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        9232  +
impl SigningSuiteTest {
        9233  +
    /// Create a new test from the V4 test suite
        9234  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        9235  +
        Self {
        9236  +
            test_name,
        9237  +
            collection: Collection::V4,
        9238  +
        }
 7177   9239   
    }
 7178   9240   
 7179         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 7180         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 7181         -
        read(&path(name, "creq")).trim().to_string()
        9241  +
    /// Create a new test from the V4a test suite
        9242  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        9243  +
        Self {
        9244  +
            test_name,
        9245  +
            collection: Collection::V4A,
        9246  +
        }
 7182   9247   
    }
 7183   9248   
 7184         -
    pub(crate) fn test_sts(name: &str) -> String {
 7185         -
        read(&path(name, "sts"))
        9249  +
    /// Get the path to a file in this test suite directory
        9250  +
    fn path(&self, filename: &str) -> String {
        9251  +
        let dir = match self.collection {
        9252  +
            Collection::V4 => "v4",
        9253  +
            Collection::V4A => "v4a",
        9254  +
        };
        9255  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 7186   9256   
    }
 7187   9257   
 7188         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 7189         -
        test_parsed_request(name, "req")
        9258  +
    /// Get the HTTP request for the test
        9259  +
    pub(crate) fn request(&self) -> TestRequest {
        9260  +
        test_parsed_request(&self.path("request.txt"))
 7190   9261   
    }
 7191   9262   
 7192         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 7193         -
        test_parsed_request(name, "sreq")
        9263  +
    /// Get the signed HTTP request for the test
        9264  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        9265  +
        match signature_location {
        9266  +
            SignatureLocation::QueryParams => {
        9267  +
                test_parsed_request(&self.path("query-signed-request.txt"))
        9268  +
            }
        9269  +
            SignatureLocation::Headers => {
        9270  +
                test_parsed_request(&self.path("header-signed-request.txt"))
        9271  +
            }
        9272  +
        }
 7194   9273   
    }
 7195   9274   
 7196         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 7197         -
        test_parsed_request(name, "qpsreq")
        9275  +
    /// Get the canonical request for the test
        9276  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        9277  +
        match signature_location {
        9278  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        9279  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
        9280  +
        }
 7198   9281   
    }
 7199   9282   
 7200         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 7201         -
        let path = path(name, ext);
 7202         -
        match parse_request(read(&path).as_bytes()) {
 7203         -
            Ok(parsed) => parsed,
 7204         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        9283  +
    /// Get the string to sign for the test
        9284  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
        9285  +
        match signature_location {
        9286  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        9287  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 7205   9288   
        }
 7206   9289   
    }
 7207   9290   
 7208         -
    #[test]
 7209         -
    fn test_parse() {
 7210         -
        test_request("post-header-key-case");
        9291  +
    /// Get the signature for the test
        9292  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
        9293  +
        match signature_location {
        9294  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        9295  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        9296  +
        }
 7211   9297   
    }
 7212   9298   
 7213         -
    #[test]
 7214         -
    fn test_read_query_params() {
 7215         -
        test_request("get-vanilla-query-order-key-case");
        9299  +
    /// Get the test context for the test
        9300  +
    pub(crate) fn context(&self) -> TestContext {
        9301  +
        let context = read(&self.path("context.json"));
        9302  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        9303  +
        tc_builder.build()
 7216   9304   
    }
 7217   9305   
}
 7218   9306   
 7219         -
#[cfg(feature = "sigv4a")]
 7220         -
pub(crate) mod v4a {
 7221         -
    use super::*;
 7222         -
    use crate::http_request::{
 7223         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 7224         -
    };
 7225         -
    use aws_credential_types::Credentials;
 7226         -
    use aws_smithy_runtime_api::client::identity::Identity;
 7227         -
    use serde_derive::Deserialize;
 7228         -
    use std::time::{Duration, SystemTime};
 7229         -
    use time::format_description::well_known::Rfc3339;
 7230         -
    use time::OffsetDateTime;
 7231         -
 7232         -
    fn path(test_name: &str, definition_name: &str) -> String {
 7233         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        9307  +
fn test_parsed_request(path: &str) -> TestRequest {
        9308  +
    match parse_request(read(path).as_bytes()) {
        9309  +
        Ok(parsed) => parsed,
        9310  +
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 7234   9311   
    }
        9312  +
}
 7235   9313   
 7236         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 7237         -
        test_parsed_request(&path(name, "request"))
 7238         -
    }
        9314  +
fn new_v4_signing_params_from_context(
        9315  +
    test_context: &'_ TestContext,
        9316  +
    signature_location: SignatureLocation,
        9317  +
) -> crate::http_request::SigningParams<'_> {
        9318  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        9319  +
    params.settings.signature_location = signature_location;
        9320  +
    params.into()
        9321  +
}
 7239   9322   
 7240         -
    pub(crate) fn test_canonical_request(
 7241         -
        name: &str,
 7242         -
        signature_location: SignatureLocation,
 7243         -
    ) -> String {
 7244         -
        match signature_location {
 7245         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 7246         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        9323  +
/// Run the given test from the v4 suite for both header and query
        9324  +
/// signature locations
        9325  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        9326  +
    run_v4_test(test_name, SignatureLocation::Headers);
        9327  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        9328  +
}
        9329  +
        9330  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        9331  +
    assert_eq!(expected.scheme(), actual.scheme());
        9332  +
    assert_eq!(expected.authority(), actual.authority());
        9333  +
    assert_eq!(expected.path(), actual.path());
        9334  +
        9335  +
    // query params may be out of order
        9336  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        9337  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        9338  +
    expected_params.sort();
        9339  +
        9340  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        9341  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        9342  +
    actual_params.sort();
        9343  +
        9344  +
    assert_eq!(expected_params, actual_params);
        9345  +
}
        9346  +
        9347  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        9348  +
    let expected = expected.as_http_request();
        9349  +
    let actual = actual;
        9350  +
    assert_eq!(expected.method(), actual.method());
        9351  +
    assert_eq!(
        9352  +
        expected.headers().len(),
        9353  +
        actual.headers().len(),
        9354  +
        "extra or missing headers"
        9355  +
    );
        9356  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        9357  +
    assert_uri_eq(expected.uri(), actual.uri());
        9358  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        9359  +
}
        9360  +
        9361  +
/// Run the given test from the v4 suite for the given signature location
        9362  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        9363  +
    let test = SigningSuiteTest::v4(test_name);
        9364  +
    let tc = test.context();
        9365  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        9366  +
        9367  +
    let req = test.request();
        9368  +
    let expected_creq = test.canonical_request(signature_location);
        9369  +
    let signable_req = SignableRequest::from(&req);
        9370  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        9371  +
        9372  +
    // check canonical request
        9373  +
    assert_eq!(
        9374  +
        expected_creq,
        9375  +
        actual_creq.to_string(),
        9376  +
        "canonical request didn't match (signature location: {signature_location:?})"
        9377  +
    );
        9378  +
        9379  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        9380  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        9381  +
    let actual_string_to_sign = StringToSign::new_v4(
        9382  +
        *params.time(),
        9383  +
        params.region().unwrap(),
        9384  +
        params.name(),
        9385  +
        hashed_creq,
        9386  +
    )
        9387  +
    .to_string();
        9388  +
        9389  +
    // check string to sign
        9390  +
    assert_eq!(
        9391  +
        expected_string_to_sign, actual_string_to_sign,
        9392  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        9393  +
    );
        9394  +
        9395  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        9396  +
    let mut signed = req.as_http_request();
        9397  +
    out.output.apply_to_request_http0x(&mut signed);
        9398  +
        9399  +
    // check signature
        9400  +
    assert_eq!(
        9401  +
        test.signature(signature_location),
        9402  +
        out.signature,
        9403  +
        "signature didn't match (signature location: {signature_location:?})"
        9404  +
    );
        9405  +
        9406  +
    let expected = test.signed_request(signature_location);
        9407  +
    assert_requests_eq(expected, signed);
        9408  +
}
        9409  +
        9410  +
/// Test suite context.json
        9411  +
pub(crate) struct TestContext {
        9412  +
    pub(crate) identity: Identity,
        9413  +
    pub(crate) expiration_in_seconds: u64,
        9414  +
    pub(crate) normalize: bool,
        9415  +
    pub(crate) region: String,
        9416  +
    pub(crate) service: String,
        9417  +
    pub(crate) timestamp: String,
        9418  +
    pub(crate) omit_session_token: bool,
        9419  +
    pub(crate) sign_body: bool,
        9420  +
}
        9421  +
        9422  +
// Serde has limitations requiring this odd workaround.
        9423  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        9424  +
fn return_true() -> bool {
        9425  +
    true
        9426  +
}
        9427  +
        9428  +
#[derive(serde_derive::Deserialize)]
        9429  +
pub(crate) struct TestContextBuilder {
        9430  +
    credentials: TestContextCreds,
        9431  +
    expiration_in_seconds: u64,
        9432  +
    normalize: bool,
        9433  +
    region: String,
        9434  +
    service: String,
        9435  +
    timestamp: String,
        9436  +
    #[serde(default)]
        9437  +
    omit_session_token: bool,
        9438  +
    #[serde(default = "return_true")]
        9439  +
    sign_body: bool,
        9440  +
}
        9441  +
        9442  +
impl TestContextBuilder {
        9443  +
    pub(crate) fn build(self) -> TestContext {
        9444  +
        let identity = Identity::new(
        9445  +
            Credentials::from_keys(
        9446  +
                &self.credentials.access_key_id,
        9447  +
                &self.credentials.secret_access_key,
        9448  +
                self.credentials.token.clone(),
        9449  +
            ),
        9450  +
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
        9451  +
        );
        9452  +
        9453  +
        TestContext {
        9454  +
            identity,
        9455  +
            expiration_in_seconds: self.expiration_in_seconds,
        9456  +
            normalize: self.normalize,
        9457  +
            region: self.region,
        9458  +
            service: self.service,
        9459  +
            timestamp: self.timestamp,
        9460  +
            omit_session_token: self.omit_session_token,
        9461  +
            sign_body: self.sign_body,
 7247   9462   
        }
 7248   9463   
    }
        9464  +
}
 7249   9465   
 7250         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
 7251         -
        match signature_location {
 7252         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 7253         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        9466  +
#[derive(serde_derive::Deserialize)]
        9467  +
pub(crate) struct TestContextCreds {
        9468  +
    access_key_id: String,
        9469  +
    secret_access_key: String,
        9470  +
    token: Option<String>,
        9471  +
}
        9472  +
        9473  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        9474  +
    fn from(tc: &'a TestContext) -> Self {
        9475  +
        crate::sign::v4::SigningParams {
        9476  +
            identity: &tc.identity,
        9477  +
            region: &tc.region,
        9478  +
            name: &tc.service,
        9479  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        9480  +
                .unwrap()
        9481  +
                .into(),
        9482  +
            settings: SigningSettings {
        9483  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        9484  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        9485  +
                uri_path_normalization_mode: tc.normalize.into(),
        9486  +
                session_token_mode: if tc.omit_session_token {
        9487  +
                    SessionTokenMode::Exclude
        9488  +
                } else {
        9489  +
                    SessionTokenMode::Include
        9490  +
                },
        9491  +
                payload_checksum_kind: if tc.sign_body {
        9492  +
                    PayloadChecksumKind::XAmzSha256
        9493  +
                } else {
        9494  +
                    PayloadChecksumKind::NoHeader
        9495  +
                },
        9496  +
                ..Default::default()
        9497  +
            },
 7254   9498   
        }
 7255   9499   
    }
        9500  +
}
 7256   9501   
 7257         -
    fn test_parsed_request(path: &str) -> TestRequest {
 7258         -
        match parse_request(read(path).as_bytes()) {
 7259         -
            Ok(parsed) => parsed,
 7260         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
 7261         -
        }
        9502  +
#[cfg(feature = "sigv4a")]
        9503  +
pub(crate) mod v4a {
        9504  +
    use super::*;
        9505  +
    use crate::http_request::{
        9506  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        9507  +
    };
        9508  +
    use crate::sign::v4a;
        9509  +
    use p256::ecdsa::signature::{Signature, Verifier};
        9510  +
    use p256::ecdsa::{DerSignature, SigningKey};
        9511  +
    use std::time::Duration;
        9512  +
    use time::format_description::well_known::Rfc3339;
        9513  +
    use time::OffsetDateTime;
        9514  +
        9515  +
    fn new_v4a_signing_params_from_context(
        9516  +
        test_context: &'_ TestContext,
        9517  +
        signature_location: SignatureLocation,
        9518  +
    ) -> crate::http_request::SigningParams<'_> {
        9519  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        9520  +
        params.settings.signature_location = signature_location;
        9521  +
        params.into()
 7262   9522   
    }
 7263   9523   
 7264         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 7265         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 7266         -
        let context = read(&path);
 7267         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 7268         -
        tc_builder.build()
        9524  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        9525  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        9526  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
 7269   9527   
    }
 7270   9528   
 7271         -
    pub(crate) struct TestContext {
 7272         -
        pub(crate) identity: Identity,
 7273         -
        pub(crate) expiration_in_seconds: u64,
 7274         -
        pub(crate) normalize: bool,
 7275         -
        pub(crate) region: String,
 7276         -
        pub(crate) service: String,
 7277         -
        pub(crate) timestamp: String,
 7278         -
        pub(crate) omit_session_token: bool,
 7279         -
        pub(crate) sign_body: bool,
        9529  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        9530  +
        let test = SigningSuiteTest::v4a(test_name);
        9531  +
        let tc = test.context();
        9532  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        9533  +
        9534  +
        let req = test.request();
        9535  +
        let expected_creq = test.canonical_request(signature_location);
        9536  +
        let signable_req = SignableRequest::from(&req);
        9537  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        9538  +
        9539  +
        assert_eq!(
        9540  +
            expected_creq,
        9541  +
            actual_creq.to_string(),
        9542  +
            "canonical request didn't match (signature location: {signature_location:?})"
        9543  +
        );
        9544  +
        9545  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        9546  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        9547  +
        let actual_string_to_sign = StringToSign::new_v4a(
        9548  +
            *params.time(),
        9549  +
            params.region_set().unwrap(),
        9550  +
            params.name(),
        9551  +
            hashed_creq,
        9552  +
        )
        9553  +
        .to_string();
        9554  +
        9555  +
        assert_eq!(
        9556  +
            expected_string_to_sign, actual_string_to_sign,
        9557  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        9558  +
        );
        9559  +
        9560  +
        let out = sign(signable_req, &params).unwrap();
        9561  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        9562  +
        out.output
        9563  +
            .apply_to_request_http0x(&mut req.as_http_request());
        9564  +
        9565  +
        let creds = params.credentials().unwrap();
        9566  +
        let signing_key =
        9567  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        9568  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        9569  +
        let sig = sig
        9570  +
            .try_into()
        9571  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        9572  +
        9573  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        9574  +
        let peer_public_key = signing_key.verifying_key();
        9575  +
        let sts = actual_string_to_sign.as_bytes();
        9576  +
        peer_public_key.verify(sts, &sig).unwrap();
        9577  +
        // TODO(sigv4a) - use public.key.json as verifying key?
 7280   9578   
    }
 7281   9579   
 7282   9580   
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 7283   9581   
        fn from(tc: &'a TestContext) -> Self {
 7284   9582   
            crate::sign::v4a::SigningParams {
 7285   9583   
                identity: &tc.identity,
 7286   9584   
                region_set: &tc.region,
 7287   9585   
                name: &tc.service,
 7288   9586   
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 7289   9587   
                    .unwrap()
 7290   9588   
                    .into(),
 7291   9589   
                settings: SigningSettings {
 7292   9590   
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 7293   9591   
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 7294   9592   
                    uri_path_normalization_mode: tc.normalize.into(),
 7295   9593   
                    session_token_mode: if tc.omit_session_token {
 7296   9594   
                        SessionTokenMode::Exclude
 7297   9595   
                    } else {
 7298   9596   
                        SessionTokenMode::Include
 7299   9597   
                    },
 7300   9598   
                    payload_checksum_kind: if tc.sign_body {
 7301   9599   
                        PayloadChecksumKind::XAmzSha256
 7302   9600   
                    } else {
 7303   9601   
                        PayloadChecksumKind::NoHeader
 7304   9602   
                    },
 7305   9603   
                    ..Default::default()
 7306   9604   
                },
 7307   9605   
            }
 7308   9606   
        }
 7309   9607   
    }
 7310   9608   
 7311         -
    // Serde has limitations requiring this odd workaround.
 7312         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 7313         -
    fn return_true() -> bool {
 7314         -
        true
 7315         -
    }
 7316         -
 7317         -
    #[derive(Deserialize)]
 7318         -
    pub(crate) struct TestContextBuilder {
 7319         -
        credentials: TestContextCreds,
 7320         -
        expiration_in_seconds: u64,
 7321         -
        normalize: bool,
 7322         -
        region: String,
 7323         -
        service: String,
 7324         -
        timestamp: String,
 7325         -
        #[serde(default)]
 7326         -
        omit_session_token: bool,
 7327         -
        #[serde(default = "return_true")]
 7328         -
        sign_body: bool,
 7329         -
    }
 7330         -
 7331         -
    impl TestContextBuilder {
 7332         -
        pub(crate) fn build(self) -> TestContext {
 7333         -
            let identity = Identity::new(
 7334         -
                Credentials::from_keys(
 7335         -
                    &self.credentials.access_key_id,
 7336         -
                    &self.credentials.secret_access_key,
 7337         -
                    self.credentials.token.clone(),
 7338         -
                ),
 7339         -
                Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 7340         -
            );
 7341         -
 7342         -
            TestContext {
 7343         -
                identity,
 7344         -
                expiration_in_seconds: self.expiration_in_seconds,
 7345         -
                normalize: self.normalize,
 7346         -
                region: self.region,
 7347         -
                service: self.service,
 7348         -
                timestamp: self.timestamp,
 7349         -
                omit_session_token: self.omit_session_token,
 7350         -
                sign_body: self.sign_body,
 7351         -
            }
 7352         -
        }
 7353         -
    }
 7354         -
 7355         -
    #[derive(Deserialize)]
 7356         -
    pub(crate) struct TestContextCreds {
 7357         -
        access_key_id: String,
 7358         -
        secret_access_key: String,
 7359         -
        token: Option<String>,
 7360         -
    }
 7361         -
 7362   9609   
    #[test]
 7363   9610   
    fn test_parse() {
 7364         -
        let req = test_request("post-header-key-case");
        9611  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 7365   9612   
        assert_eq!(req.method, "POST");
 7366   9613   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 7367   9614   
        assert!(req.headers.is_empty());
 7368   9615   
    }
 7369   9616   
 7370   9617   
    #[test]
 7371   9618   
    fn test_read_query_params() {
 7372         -
        let req = test_request("get-header-value-trim");
        9619  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 7373   9620   
        assert_eq!(req.method, "GET");
 7374   9621   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 7375   9622   
        assert!(!req.headers.is_empty());
 7376   9623   
    }
 7377   9624   
}
 7378   9625   
 7379   9626   
fn read(path: &str) -> String {
 7380   9627   
    println!("Loading `{}` for test case...", path);
 7381   9628   
    let v = {
 7382   9629   
        match std::fs::read_to_string(path) {
 7383   9630   
            // This replacement is necessary for tests to pass on Windows, as reading the
 7384   9631   
            // test snapshots from the file system results in CRLF line endings being inserted.
 7385   9632   
            Ok(value) => value.replace("\r\n", "\n"),
 7386   9633   
            Err(err) => {
 7387   9634   
                panic!("failed to load test case `{}`: {}", path, err);
 7388   9635   
            }
 7389   9636   
        }
 7390   9637   
    };
 7391   9638   
 7392   9639   
    v.trim().to_string()
 7393   9640   
}
 7394   9641   
 7395   9642   
pub(crate) struct TestRequest {
 7396   9643   
    pub(crate) uri: String,
 7397   9644   
    pub(crate) method: String,
 7398   9645   
    pub(crate) headers: Vec<(String, String)>,
 7399   9646   
    pub(crate) body: TestSignedBody,
 7400   9647   
}
 7401   9648   
 7402   9649   
pub(crate) enum TestSignedBody {
 7403   9650   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 7404   9651   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 7405   9652   
                    )
 7406   9653   
                })
 7407   9654   
                .collect::<Vec<_>>(),
 7408   9655   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 7409   9656   
        }
 7410   9657   
    }
 7411   9658   
}
 7412   9659   
 7413   9660   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 7414   9661   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 7415   9662   
        SignableRequest::new(
 7416   9663   
            &request.method,
 7417   9664   
            &request.uri,
 7418   9665   
            request
 7419   9666   
                .headers
 7420   9667   
                .iter()
 7421   9668   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 7422   9669   
            request.body.as_signable_body(),
 7423   9670   
        )
 7424   9671   
        .expect("URI MUST be valid")
 7425   9672   
    }
 7426   9673   
}
 7427   9674   
 7428   9675   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 7429   9676   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 7430   9677   
    // httparse 1.5 requires two trailing newlines to head the header section.
 7431   9678   
    let mut with_newline = Vec::from(s);
 7432   9679   
    with_newline.push(b'\n');
 7433   9680   
    let mut req = httparse::Request::new(&mut headers);
 7434         -
    let _ = req.parse(&with_newline).unwrap();
        9681  +
    let status = req.parse(&with_newline).unwrap();
        9682  +
        9683  +
    let body = if status.is_complete() {
        9684  +
        let body_offset = status.unwrap();
        9685  +
        // ignore the newline we added, take from original
        9686  +
        &s[body_offset..]
        9687  +
    } else {
        9688  +
        &[]
        9689  +
    };
 7435   9690   
 7436   9691   
    let mut uri_builder = Uri::builder().scheme("https");
 7437   9692   
    if let Some(path) = req.path {
 7438   9693   
        uri_builder = uri_builder.path_and_query(path);
 7439   9694   
    }
 7440   9695   
 7441   9696   
    let mut headers = vec![];
 7442   9697   
    for header in req.headers {
 7443   9698   
        let name = header.name.to_lowercase();
 7444   9699   
        if name == "host" {
 7445   9700   
            uri_builder = uri_builder.authority(header.value);
 7446   9701   
        } else if !name.is_empty() {
 7447   9702   
            headers.push((
 7448   9703   
                header.name.to_string(),
 7449   9704   
                std::str::from_utf8(header.value)?.to_string(),
 7450   9705   
            ));
 7451   9706   
        }
 7452   9707   
    }
 7453   9708   
 7454   9709   
    Ok(TestRequest {
 7455   9710   
        uri: uri_builder.build()?.to_string(),
 7456   9711   
        method: req.method.unwrap().to_string(),
 7457   9712   
        headers,
 7458         -
        body: TestSignedBody::Bytes(vec![]),
        9713  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 7459   9714   
    })
 7460   9715   
}
 7461   9716   
 7462   9717   
#[test]
 7463   9718   
fn test_parse_headers() {
 7464   9719   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 7465   9720   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 7466   9721   
    assert_eq!(
 7467   9722   
        httparse::parse_headers(buf, &mut headers),
 7468   9723   
        Ok(httparse::Status::Complete((
 7469   9724   
            56,
 7470   9725   
            &[
 7471   9726   
                httparse::Header {
 7472   9727   
                    name: "Host",
 7473   9728   
                    value: b"example.amazonaws.com",
 7474   9729   
                },
 7475   9730   
                httparse::Header {
 7476   9731   
                    name: "X-Amz-Date",
 7477   9732   
                    value: b"20150830T123600Z",
 7478   9733   
                }
 7479   9734   
            ][..]
 7480   9735   
        )))
 7481   9736   
    );
 7482   9737   
}
 7483   9738   
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
 7484   9739   
index a208453..fc00249 100644
 7485         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        9740  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 7486   9741   
@@ -168,52 +168,54 @@ pub mod signing_params {
 7487   9742   
        );
 7488   9743   
 7489   9744   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 7490   9745   
        /// a required argument was not given.
 7491   9746   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 7492   9747   
            Ok(SigningParams {
 7493   9748   
                identity: self
 7494   9749   
                    .identity
 7495   9750   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 7496   9751   
                region: self
 7497   9752   
                    .region
 7498   9753   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 7499   9754   
                name: self
 7500   9755   
                    .name
 7501   9756   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 7502   9757   
                time: self
 7503   9758   
                    .time
 7504   9759   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 7505   9760   
                settings: self
 7506   9761   
                    .settings
 7507   9762   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 7508   9763   
            })
 7509   9764   
        }
 7510   9765   
    }
 7511   9766   
}
 7512   9767   
 7513   9768   
#[cfg(test)]
 7514   9769   
mod tests {
 7515   9770   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 7516   9771   
    use crate::date_time::test_parsers::parse_date_time;
 7517         -
    use crate::http_request::test;
 7518   9772   
 7519   9773   
    #[test]
 7520   9774   
    fn test_signature_calculation() {
 7521   9775   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 7522         -
        let creq = test::v4::test_canonical_request("iam");
        9776  +
        let creq = r#"AWS4-HMAC-SHA256
        9777  +
20150830T123600Z
        9778  +
20150830/us-east-1/iam/aws4_request
        9779  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 7523   9780   
        let time = parse_date_time("20150830T123600Z").unwrap();
 7524   9781   
 7525   9782   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 7526   9783   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 7527   9784   
 7528   9785   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 7529   9786   
        assert_eq!(expected, &signature);
 7530   9787   
    }
 7531   9788   
 7532   9789   
    #[test]
 7533   9790   
    fn sign_payload_empty_string() {
 7534   9791   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 7535   9792   
        let actual = sha256_hex_string([]);
 7536   9793   
        assert_eq!(expected, actual);
 7537   9794   
    }
 7538   9795   
}
 7539   9796   
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
 7540   9797   
index ce78c38..8c2f591 100644
 7541         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        9798  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 7542   9799   
@@ -1,43 +1,43 @@
 7543   9800   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7544   9801   
[package]
 7545   9802   
name = "aws-smithy-checksums"
 7546   9803   
version = "0.63.5"
 7547   9804   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 7548   9805   
description = "Checksum calculation and verification callbacks"
 7549   9806   
edition = "2021"
 7550   9807   
license = "Apache-2.0"
 7551   9808   
repository = "https://github.com/smithy-lang/smithy-rs"
 7552   9809   
[package.metadata.docs.rs]
 7553   9810   
all-features = true
 7554   9811   
targets = ["x86_64-unknown-linux-gnu"]
 7555   9812   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7556   9813   
rustdoc-args = ["--cfg", "docsrs"]
 7557   9814   
 7558   9815   
[dependencies]
 7559   9816   
bytes = "1.10.0"
 7560   9817   
crc-fast = "1.3.0"
 7561   9818   
hex = "0.4.3"
 7562   9819   
http = "0.2.9"
 7563   9820   
http-body = "0.4.5"
 7564   9821   
md-5 = "0.10"
 7565   9822   
pin-project-lite = "0.2.14"
 7566   9823   
sha1 = "0.10"
 7567   9824   
sha2 = "0.10"
 7568   9825   
tracing = "0.1.40"
 7569   9826   
 7570   9827   
[dependencies.aws-smithy-http]
 7571   9828   
path = "../aws-smithy-http"
 7572         -
version = "0.62.2"
        9829  +
version = "0.62.3"
 7573   9830   
 7574   9831   
[dependencies.aws-smithy-types]
 7575   9832   
path = "../aws-smithy-types"
 7576   9833   
version = "1.3.2"
 7577   9834   
 7578   9835   
[dev-dependencies]
 7579   9836   
bytes-utils = "0.1.2"
 7580   9837   
pretty_assertions = "1.3"
 7581   9838   
tracing-test = "0.2.1"
 7582   9839   
 7583   9840   
[dev-dependencies.tokio]
 7584   9841   
version = "1.23.1"
 7585   9842   
features = ["macros", "rt"]
 7586   9843   
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
 7587   9844   
index 970c99e..d3c7a49 100644
 7588         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        9845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 7589   9846   
@@ -1,34 +1,34 @@
 7590   9847   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7591   9848   
[package]
 7592   9849   
name = "aws-smithy-http"
 7593         -
version = "0.62.2"
        9850  +
version = "0.62.3"
 7594   9851   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7595   9852   
description = "Smithy HTTP logic for smithy-rs."
 7596   9853   
edition = "2021"
 7597   9854   
license = "Apache-2.0"
 7598   9855   
repository = "https://github.com/smithy-lang/smithy-rs"
 7599   9856   
[package.metadata.docs.rs]
 7600   9857   
all-features = true
 7601   9858   
targets = ["x86_64-unknown-linux-gnu"]
 7602   9859   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7603   9860   
rustdoc-args = ["--cfg", "docsrs"]
 7604   9861   
 7605   9862   
[features]
 7606   9863   
event-stream = ["aws-smithy-eventstream"]
 7607   9864   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 7608   9865   
 7609   9866   
[dependencies]
 7610   9867   
bytes = "1.10.0"
 7611   9868   
bytes-utils = "0.1"
 7612   9869   
percent-encoding = "2.3.1"
 7613   9870   
pin-project-lite = "0.2.14"
 7614   9871   
pin-utils = "0.1.0"
 7615   9872   
tracing = "0.1.40"
 7616   9873   
futures-core = "0.3.31"
 7617   9874   
 7618   9875   
[dependencies.aws-smithy-eventstream]
 7619   9876   
path = "../aws-smithy-eventstream"
 7620   9877   
optional = true
 7621   9878   
version = "0.60.10"
 7622   9879   
 7623   9880   
[dependencies.aws-smithy-runtime-api]
 7624   9881   
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
 7625   9882   
index 508f7a2..361545e 100644
 7626         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        9883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 7627   9884   
@@ -1,27 +1,27 @@
 7628   9885   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7629   9886   
[[bin]]
 7630   9887   
name = "read_many_from_str"
 7631   9888   
path = "fuzz_targets/read_many_from_str.rs"
 7632   9889   
test = false
 7633   9890   
doc = false
 7634   9891   
 7635   9892   
[package]
 7636   9893   
name = "aws-smithy-http-fuzz"
 7637   9894   
version = "0.0.0"
 7638   9895   
authors = ["Automatically generated"]
 7639   9896   
publish = false
 7640   9897   
edition = "2021"
 7641   9898   
 7642   9899   
[package.metadata]
 7643   9900   
cargo-fuzz = true
 7644   9901   
 7645   9902   
[dependencies]
 7646   9903   
libfuzzer-sys = "=0.4.7"
 7647   9904   
http = "0.2.3"
 7648   9905   
 7649   9906   
[dependencies.aws-smithy-http]
 7650   9907   
path = ".."
 7651         -
version = "0.62.2"
        9908  +
version = "0.62.3"
 7652   9909   
 7653   9910   
[workspace]
 7654   9911   
members = ["."]
 7655   9912   
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
 7656   9913   
index fef41d0..2792229 100644
 7657         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        9914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 7658   9915   
@@ -25,68 +25,74 @@ impl QueryWriter {
 7659   9916   
    pub fn new(uri: &Uri) -> Self {
 7660   9917   
        let new_path_and_query = uri
 7661   9918   
            .path_and_query()
 7662   9919   
            .map(|pq| pq.to_string())
 7663   9920   
            .unwrap_or_default();
 7664   9921   
        let prefix = if uri.query().is_none() {
 7665   9922   
            Some('?')
 7666   9923   
        } else if !uri.query().unwrap_or_default().is_empty() {
 7667   9924   
            Some('&')
 7668   9925   
        } else {
 7669   9926   
            None
 7670   9927   
        };
 7671   9928   
        QueryWriter {
 7672   9929   
            base_uri: uri.clone(),
 7673   9930   
            new_path_and_query,
 7674   9931   
            prefix,
 7675   9932   
        }
 7676   9933   
    }
 7677   9934   
 7678   9935   
    /// Clears all query parameters.
 7679   9936   
    pub fn clear_params(&mut self) {
 7680   9937   
        if let Some(index) = self.new_path_and_query.find('?') {
 7681   9938   
            self.new_path_and_query.truncate(index);
 7682   9939   
            self.prefix = Some('?');
 7683   9940   
        }
 7684   9941   
    }
 7685   9942   
 7686   9943   
    /// Inserts a new query parameter. The key and value are percent encoded
 7687   9944   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 7688   9945   
    pub fn insert(&mut self, k: &str, v: &str) {
        9946  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        9947  +
    }
        9948  +
    
        9949  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        9950  +
    /// as is.
        9951  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 7689   9952   
        if let Some(prefix) = self.prefix {
 7690   9953   
            self.new_path_and_query.push(prefix);
 7691   9954   
        }
 7692   9955   
        self.prefix = Some('&');
 7693         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        9956  +
        self.new_path_and_query.push_str(encoded_k);
 7694   9957   
        self.new_path_and_query.push('=');
 7695         -
 7696         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
        9958  +
        self.new_path_and_query.push_str(encoded_v)
        9959  +
        
 7697   9960   
    }
 7698   9961   
 7699   9962   
    /// Returns just the built query string.
 7700   9963   
    pub fn build_query(self) -> String {
 7701   9964   
        self.build_uri().query().unwrap_or_default().to_string()
 7702   9965   
    }
 7703   9966   
 7704   9967   
    /// Returns a full [`Uri`] with the query string updated.
 7705   9968   
    pub fn build_uri(self) -> Uri {
 7706   9969   
        let mut parts = self.base_uri.into_parts();
 7707   9970   
        parts.path_and_query = Some(
 7708   9971   
            self.new_path_and_query
 7709   9972   
                .parse()
 7710   9973   
                .expect("adding query should not invalidate URI"),
 7711   9974   
        );
 7712   9975   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 7713   9976   
    }
 7714   9977   
}
 7715   9978   
 7716   9979   
#[cfg(test)]
 7717   9980   
mod test {
 7718   9981   
    use super::QueryWriter;
 7719   9982   
    use http_02x::Uri;
 7720   9983   
 7721   9984   
    #[test]
 7722   9985   
    fn empty_uri() {
 7723   9986   
        let uri = Uri::from_static("http://www.example.com");
 7724   9987   
        let mut query_writer = QueryWriter::new(&uri);
 7725   9988   
        query_writer.insert("key", "val%ue");
 7726   9989   
        query_writer.insert("another", "value");
 7727   9990   
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
 7728   9991   
index f108978..df7a9fe 100644
 7729         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        9992  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 7730   9993   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 7731   9994   
 7732   9995   
[package.metadata.smithy-rs-release-tooling]
 7733   9996   
stable = true
 7734   9997   
[package.metadata.cargo-udeps.ignore]
 7735   9998   
normal = ["aws-smithy-http"]
 7736   9999   
 7737  10000   
[features]
 7738  10001   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 7739  10002   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 7740  10003   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 7741  10004   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 7742  10005   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 7743  10006   
rt-tokio = ["tokio/rt"]
 7744  10007   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 7745  10008   
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"]
 7746  10009   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 7747  10010   
 7748  10011   
[dependencies]
 7749  10012   
bytes = "1.10.0"
 7750  10013   
fastrand = "2.3.0"
 7751  10014   
pin-project-lite = "0.2.14"
 7752  10015   
pin-utils = "0.1.0"
 7753  10016   
tracing = "0.1.40"
 7754  10017   
 7755  10018   
[dependencies.aws-smithy-async]
 7756  10019   
path = "../aws-smithy-async"
 7757  10020   
version = "1.2.5"
 7758  10021   
 7759  10022   
[dependencies.aws-smithy-http]
 7760  10023   
path = "../aws-smithy-http"
 7761         -
version = "0.62.2"
       10024  +
version = "0.62.3"
 7762  10025   
 7763  10026   
[dependencies.aws-smithy-observability]
 7764  10027   
path = "../aws-smithy-observability"
 7765  10028   
version = "0.1.3"
 7766  10029   
 7767  10030   
[dependencies.aws-smithy-runtime-api]
 7768  10031   
path = "../aws-smithy-runtime-api"
 7769  10032   
version = "1.8.5"
 7770  10033   
 7771  10034   
[dependencies.aws-smithy-types]
 7772  10035   
path = "../aws-smithy-types"
 7773  10036   
features = ["http-body-0-4-x"]
 7774  10037   
version = "1.3.2"
 7775  10038   
 7776  10039   
[dependencies.aws-smithy-http-client]
 7777  10040   
path = "../aws-smithy-http-client"
 7778  10041   
optional = true
 7779  10042   
version = "1.0.6"
 7780  10043   
 7781  10044   
[dependencies.http-02x]
 7782  10045   
package = "http"
 7783  10046   
version = "0.2.9"
 7784  10047   
 7785  10048   
[dependencies.http-1x]
 7786  10049   
package = "http"
 7787  10050   
version = "1"
 7788  10051   
 7789  10052   
[dependencies.http-body-04x]
 7790  10053   
package = "http-body"
 7791  10054   
version = "0.4.5"
 7792  10055   
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
 7793  10056   
index 4e050c6..f58eb1c 100644
 7794         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
       10057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 7795  10058   
@@ -1,33 +1,33 @@
 7796  10059   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7797  10060   
[package]
 7798  10061   
name = "aws-smithy-wasm"
 7799  10062   
version = "0.1.4"
 7800  10063   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 7801  10064   
description = "Smithy WebAssembly configuration for smithy-rs."
 7802  10065   
edition = "2021"
 7803  10066   
license = "Apache-2.0"
 7804  10067   
repository = "https://github.com/awslabs/smithy-rs"
 7805  10068   
[package.metadata.docs.rs]
 7806  10069   
all-features = true
 7807  10070   
targets = ["x86_64-unknown-linux-gnu"]
 7808  10071   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 7809  10072   
rustdoc-args = ["--cfg", "docsrs"]
 7810  10073   
 7811  10074   
[dependencies]
 7812  10075   
bytes = "1.10.0"
 7813  10076   
http = "1.0.0"
 7814  10077   
tracing = "0.1.40"
 7815  10078   
wasi = "0.12.1"
 7816  10079   
 7817  10080   
[dependencies.aws-smithy-runtime-api]
 7818  10081   
path = "../aws-smithy-runtime-api"
 7819  10082   
features = ["http-1x"]
 7820  10083   
version = "1.8.5"
 7821  10084   
 7822  10085   
[dependencies.aws-smithy-http]
 7823  10086   
path = "../aws-smithy-http"
 7824         -
version = "0.62.2"
       10087  +
version = "0.62.3"
 7825  10088   
 7826  10089   
[dependencies.aws-smithy-types]
 7827  10090   
path = "../aws-smithy-types"
 7828  10091   
version = "1.3.2"
 7829  10092   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 7830  10093   
index a880648..139e808 100644
 7831         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
       10094  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 7832  10095   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 7833  10096   
edition = "2021"
 7834  10097   
license = "Apache-2.0"
 7835  10098   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7836  10099   
rust-version = "1.86.0"
 7837  10100   
readme = "README.md"
 7838  10101   
[package.metadata.smithy]
 7839  10102   
codegen-version = "ci"
 7840  10103   
[package.metadata.docs.rs]
 7841  10104   
all-features = true
 7842  10105   
targets = ["x86_64-unknown-linux-gnu"]
 7843  10106   
[dependencies.aws-credential-types]
 7844  10107   
path = "../aws-credential-types"
 7845  10108   
version = "1.2.4"
 7846  10109   
 7847  10110   
[dependencies.aws-runtime]
 7848  10111   
path = "../aws-runtime"
 7849  10112   
features = ["event-stream"]
 7850  10113   
version = "1.5.9"
 7851  10114   
 7852  10115   
[dependencies.aws-smithy-async]
 7853  10116   
path = "../aws-smithy-async"
 7854  10117   
version = "1.2.5"
 7855  10118   
 7856  10119   
[dependencies.aws-smithy-eventstream]
 7857  10120   
path = "../aws-smithy-eventstream"
 7858  10121   
version = "0.60.10"
 7859  10122   
 7860  10123   
[dependencies.aws-smithy-http]
 7861  10124   
path = "../aws-smithy-http"
 7862  10125   
features = ["event-stream"]
 7863         -
version = "0.62.2"
       10126  +
version = "0.62.3"
 7864  10127   
 7865  10128   
[dependencies.aws-smithy-json]
 7866  10129   
path = "../aws-smithy-json"
 7867  10130   
version = "0.61.4"
 7868  10131   
 7869  10132   
[dependencies.aws-smithy-runtime]
 7870  10133   
path = "../aws-smithy-runtime"
 7871  10134   
features = ["client"]
 7872  10135   
version = "1.8.5"
 7873  10136   
 7874  10137   
[dependencies.aws-smithy-runtime-api]
 7875  10138   
path = "../aws-smithy-runtime-api"
 7876  10139   
features = ["client", "http-02x"]
 7877  10140   
version = "1.8.5"
 7878  10141   
 7879  10142   
[dependencies.aws-smithy-types]
 7880  10143   
path = "../aws-smithy-types"
 7881  10144   
version = "1.3.2"
 7882  10145   
 7883  10146   
[dependencies.aws-types]
 7884  10147   
path = "../aws-types"
 7885  10148   
version = "1.3.8"
 7886  10149   
 7887  10150   
[dependencies.bytes]
 7888  10151   
version = "1.4.0"
 7889  10152   
 7890  10153   
[dependencies.fastrand]
 7891  10154   
version = "2.0.0"
 7892  10155   
 7893  10156   
[dependencies.http]
 7894  10157   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 7895  10158   
index 415ecc9..667d12b 100644
 7896         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
       10159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 7897  10160   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 7898  10161   
edition = "2021"
 7899  10162   
license = "Apache-2.0"
 7900  10163   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7901  10164   
rust-version = "1.86.0"
 7902  10165   
readme = "README.md"
 7903  10166   
[package.metadata.smithy]
 7904  10167   
codegen-version = "ci"
 7905  10168   
[package.metadata.docs.rs]
 7906  10169   
all-features = true
 7907  10170   
targets = ["x86_64-unknown-linux-gnu"]
 7908  10171   
[dependencies.aws-credential-types]
 7909  10172   
path = "../aws-credential-types"
 7910  10173   
version = "1.2.4"
 7911  10174   
 7912  10175   
[dependencies.aws-runtime]
 7913  10176   
path = "../aws-runtime"
 7914  10177   
features = ["event-stream"]
 7915  10178   
version = "1.5.9"
 7916  10179   
 7917  10180   
[dependencies.aws-smithy-async]
 7918  10181   
path = "../aws-smithy-async"
 7919  10182   
version = "1.2.5"
 7920  10183   
 7921  10184   
[dependencies.aws-smithy-eventstream]
 7922  10185   
path = "../aws-smithy-eventstream"
 7923  10186   
version = "0.60.10"
 7924  10187   
 7925  10188   
[dependencies.aws-smithy-http]
 7926  10189   
path = "../aws-smithy-http"
 7927  10190   
features = ["event-stream"]
 7928         -
version = "0.62.2"
       10191  +
version = "0.62.3"
 7929  10192   
 7930  10193   
[dependencies.aws-smithy-json]
 7931  10194   
path = "../aws-smithy-json"
 7932  10195   
version = "0.61.4"
 7933  10196   
 7934  10197   
[dependencies.aws-smithy-runtime]
 7935  10198   
path = "../aws-smithy-runtime"
 7936  10199   
features = ["client"]
 7937  10200   
version = "1.8.5"
 7938  10201   
 7939  10202   
[dependencies.aws-smithy-runtime-api]
 7940  10203   
path = "../aws-smithy-runtime-api"
 7941  10204   
features = ["client", "http-02x"]
 7942  10205   
version = "1.8.5"
 7943  10206   
 7944  10207   
[dependencies.aws-smithy-types]
 7945  10208   
path = "../aws-smithy-types"
 7946  10209   
version = "1.3.2"
 7947  10210   
 7948  10211   
[dependencies.aws-types]
 7949  10212   
path = "../aws-types"
 7950  10213   
version = "1.3.8"
 7951  10214   
 7952  10215   
[dependencies.bytes]
 7953  10216   
version = "1.4.0"
 7954  10217   
 7955  10218   
[dependencies.fastrand]
 7956  10219   
version = "2.0.0"
 7957  10220   
 7958  10221   
[dependencies.http]
 7959  10222   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 7960  10223   
index 8871cab..ed88de6 100644
 7961         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
       10224  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 7962  10225   
@@ -1,61 +1,61 @@
 7963  10226   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7964  10227   
[package]
 7965  10228   
name = "aws-sdk-codecatalyst"
 7966  10229   
version = "0.0.0-local"
 7967  10230   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7968  10231   
description = "AWS SDK for Amazon CodeCatalyst"
 7969  10232   
edition = "2021"
 7970  10233   
license = "Apache-2.0"
 7971  10234   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7972  10235   
rust-version = "1.86.0"
 7973  10236   
readme = "README.md"
 7974  10237   
[package.metadata.smithy]
 7975  10238   
codegen-version = "ci"
 7976  10239   
[package.metadata.docs.rs]
 7977  10240   
all-features = true
 7978  10241   
targets = ["x86_64-unknown-linux-gnu"]
 7979  10242   
[dependencies.aws-credential-types]
 7980  10243   
path = "../aws-credential-types"
 7981  10244   
version = "1.2.4"
 7982  10245   
 7983  10246   
[dependencies.aws-runtime]
 7984  10247   
path = "../aws-runtime"
 7985  10248   
version = "1.5.9"
 7986  10249   
 7987  10250   
[dependencies.aws-smithy-async]
 7988  10251   
path = "../aws-smithy-async"
 7989  10252   
version = "1.2.5"
 7990  10253   
 7991  10254   
[dependencies.aws-smithy-http]
 7992  10255   
path = "../aws-smithy-http"
 7993         -
version = "0.62.2"
       10256  +
version = "0.62.3"
 7994  10257   
 7995  10258   
[dependencies.aws-smithy-json]
 7996  10259   
path = "../aws-smithy-json"
 7997  10260   
version = "0.61.4"
 7998  10261   
 7999  10262   
[dependencies.aws-smithy-runtime]
 8000  10263   
path = "../aws-smithy-runtime"
 8001  10264   
features = ["client", "http-auth"]
 8002  10265   
version = "1.8.5"
 8003  10266   
 8004  10267   
[dependencies.aws-smithy-runtime-api]
 8005  10268   
path = "../aws-smithy-runtime-api"
 8006  10269   
features = ["client", "http-02x", "http-auth"]
 8007  10270   
version = "1.8.5"
 8008  10271   
 8009  10272   
[dependencies.aws-smithy-types]
 8010  10273   
path = "../aws-smithy-types"
 8011  10274   
version = "1.3.2"
 8012  10275   
 8013  10276   
[dependencies.aws-types]
 8014  10277   
path = "../aws-types"
 8015  10278   
version = "1.3.8"
 8016  10279   
 8017  10280   
[dependencies.bytes]
 8018  10281   
version = "1.4.0"
 8019  10282   
 8020  10283   
[dependencies.fastrand]
 8021  10284   
version = "2.0.0"
 8022  10285   
 8023  10286   
[dependencies.http]
 8024  10287   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 8025  10288   
index 89573ff..05238af 100644
 8026         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
       10289  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 8027  10290   
@@ -1,61 +1,61 @@
 8028  10291   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8029  10292   
[package]
 8030  10293   
name = "aws-sdk-config"
 8031  10294   
version = "0.0.0-local"
 8032  10295   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8033  10296   
description = "AWS SDK for AWS Config"
 8034  10297   
edition = "2021"
 8035  10298   
license = "Apache-2.0"
 8036  10299   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8037  10300   
rust-version = "1.86.0"
 8038  10301   
readme = "README.md"
 8039  10302   
[package.metadata.smithy]
 8040  10303   
codegen-version = "ci"
 8041  10304   
[package.metadata.docs.rs]
 8042  10305   
all-features = true
 8043  10306   
targets = ["x86_64-unknown-linux-gnu"]
 8044  10307   
[dependencies.aws-credential-types]
 8045  10308   
path = "../aws-credential-types"
 8046  10309   
version = "1.2.4"
 8047  10310   
 8048  10311   
[dependencies.aws-runtime]
 8049  10312   
path = "../aws-runtime"
 8050  10313   
version = "1.5.9"
 8051  10314   
 8052  10315   
[dependencies.aws-smithy-async]
 8053  10316   
path = "../aws-smithy-async"
 8054  10317   
version = "1.2.5"
 8055  10318   
 8056  10319   
[dependencies.aws-smithy-http]
 8057  10320   
path = "../aws-smithy-http"
 8058         -
version = "0.62.2"
       10321  +
version = "0.62.3"
 8059  10322   
 8060  10323   
[dependencies.aws-smithy-json]
 8061  10324   
path = "../aws-smithy-json"
 8062  10325   
version = "0.61.4"
 8063  10326   
 8064  10327   
[dependencies.aws-smithy-runtime]
 8065  10328   
path = "../aws-smithy-runtime"
 8066  10329   
features = ["client"]
 8067  10330   
version = "1.8.5"
 8068  10331   
 8069  10332   
[dependencies.aws-smithy-runtime-api]
 8070  10333   
path = "../aws-smithy-runtime-api"
 8071  10334   
features = ["client", "http-02x"]
 8072  10335   
version = "1.8.5"
 8073  10336   
 8074  10337   
[dependencies.aws-smithy-types]
 8075  10338   
path = "../aws-smithy-types"
 8076  10339   
version = "1.3.2"
 8077  10340   
 8078  10341   
[dependencies.aws-types]
 8079  10342   
path = "../aws-types"
 8080  10343   
version = "1.3.8"
 8081  10344   
 8082  10345   
[dependencies.bytes]
 8083  10346   
version = "1.4.0"
 8084  10347   
 8085  10348   
[dependencies.fastrand]
 8086  10349   
version = "2.0.0"
 8087  10350   
 8088  10351   
[dependencies.http]
 8089  10352   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 8090  10353   
index d397c58..2c1062b 100644
 8091         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
       10354  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 8092  10355   
@@ -1,61 +1,61 @@
 8093  10356   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8094  10357   
[package]
 8095  10358   
name = "aws-sdk-dynamodb"
 8096  10359   
version = "0.0.0-local"
 8097  10360   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8098  10361   
description = "AWS SDK for Amazon DynamoDB"
 8099  10362   
edition = "2021"
 8100  10363   
license = "Apache-2.0"
 8101  10364   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8102  10365   
rust-version = "1.86.0"
 8103  10366   
readme = "README.md"
 8104  10367   
[package.metadata.smithy]
 8105  10368   
codegen-version = "ci"
 8106  10369   
[package.metadata.docs.rs]
 8107  10370   
all-features = true
 8108  10371   
targets = ["x86_64-unknown-linux-gnu"]
 8109  10372   
[dependencies.aws-credential-types]
 8110  10373   
path = "../aws-credential-types"
 8111  10374   
version = "1.2.4"
 8112  10375   
 8113  10376   
[dependencies.aws-runtime]
 8114  10377   
path = "../aws-runtime"
 8115  10378   
version = "1.5.9"
 8116  10379   
 8117  10380   
[dependencies.aws-smithy-async]
 8118  10381   
path = "../aws-smithy-async"
 8119  10382   
version = "1.2.5"
 8120  10383   
 8121  10384   
[dependencies.aws-smithy-http]
 8122  10385   
path = "../aws-smithy-http"
 8123         -
version = "0.62.2"
       10386  +
version = "0.62.3"
 8124  10387   
 8125  10388   
[dependencies.aws-smithy-json]
 8126  10389   
path = "../aws-smithy-json"
 8127  10390   
version = "0.61.4"
 8128  10391   
 8129  10392   
[dependencies.aws-smithy-runtime]
 8130  10393   
path = "../aws-smithy-runtime"
 8131  10394   
features = ["client"]
 8132  10395   
version = "1.8.5"
 8133  10396   
 8134  10397   
[dependencies.aws-smithy-runtime-api]
 8135  10398   
path = "../aws-smithy-runtime-api"
 8136  10399   
features = ["client", "http-02x"]
 8137  10400   
version = "1.8.5"
 8138  10401   
 8139  10402   
[dependencies.aws-smithy-types]
 8140  10403   
path = "../aws-smithy-types"
 8141  10404   
version = "1.3.2"
 8142  10405   
 8143  10406   
[dependencies.aws-types]
 8144  10407   
path = "../aws-types"
 8145  10408   
version = "1.3.8"
 8146  10409   
 8147  10410   
[dependencies.bytes]
 8148  10411   
version = "1.4.0"
 8149  10412   
 8150  10413   
[dependencies.fastrand]
 8151  10414   
version = "2.0.0"
 8152  10415   
 8153  10416   
[dependencies.http]
 8154  10417   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 8155  10418   
index c0ba315..46168af 100644
 8156         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
       10419  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 8157  10420   
@@ -1,61 +1,61 @@
 8158  10421   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8159  10422   
[package]
 8160  10423   
name = "aws-sdk-ec2"
 8161  10424   
version = "0.0.0-local"
 8162  10425   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8163  10426   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 8164  10427   
edition = "2021"
 8165  10428   
license = "Apache-2.0"
 8166  10429   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8167  10430   
rust-version = "1.86.0"
 8168  10431   
readme = "README.md"
 8169  10432   
[package.metadata.smithy]
 8170  10433   
codegen-version = "ci"
 8171  10434   
[package.metadata.docs.rs]
 8172  10435   
all-features = true
 8173  10436   
targets = ["x86_64-unknown-linux-gnu"]
 8174  10437   
[dependencies.aws-credential-types]
 8175  10438   
path = "../aws-credential-types"
 8176  10439   
version = "1.2.4"
 8177  10440   
 8178  10441   
[dependencies.aws-runtime]
 8179  10442   
path = "../aws-runtime"
 8180  10443   
version = "1.5.9"
 8181  10444   
 8182  10445   
[dependencies.aws-smithy-async]
 8183  10446   
path = "../aws-smithy-async"
 8184  10447   
version = "1.2.5"
 8185  10448   
 8186  10449   
[dependencies.aws-smithy-http]
 8187  10450   
path = "../aws-smithy-http"
 8188         -
version = "0.62.2"
       10451  +
version = "0.62.3"
 8189  10452   
 8190  10453   
[dependencies.aws-smithy-json]
 8191  10454   
path = "../aws-smithy-json"
 8192  10455   
version = "0.61.4"
 8193  10456   
 8194  10457   
[dependencies.aws-smithy-query]
 8195  10458   
path = "../aws-smithy-query"
 8196  10459   
version = "0.60.7"
 8197  10460   
 8198  10461   
[dependencies.aws-smithy-runtime]
 8199  10462   
path = "../aws-smithy-runtime"
 8200  10463   
features = ["client"]
 8201  10464   
version = "1.8.5"
 8202  10465   
 8203  10466   
[dependencies.aws-smithy-runtime-api]
 8204  10467   
path = "../aws-smithy-runtime-api"
 8205  10468   
features = ["client", "http-02x"]
 8206  10469   
version = "1.8.5"
 8207  10470   
 8208  10471   
[dependencies.aws-smithy-types]
 8209  10472   
path = "../aws-smithy-types"
 8210  10473   
version = "1.3.2"
 8211  10474   
 8212  10475   
[dependencies.aws-smithy-xml]
 8213  10476   
path = "../aws-smithy-xml"
 8214  10477   
version = "0.60.10"
 8215  10478   
 8216  10479   
[dependencies.aws-types]
 8217  10480   
path = "../aws-types"
 8218  10481   
version = "1.3.8"
 8219  10482   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 8220  10483   
index 4474d17..095d40e 100644
 8221         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
       10484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 8222  10485   
@@ -1,61 +1,61 @@
 8223  10486   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8224  10487   
[package]
 8225  10488   
name = "aws-sdk-ecs"
 8226  10489   
version = "0.0.0-local"
 8227  10490   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8228  10491   
description = "AWS SDK for Amazon EC2 Container Service"
 8229  10492   
edition = "2021"
 8230  10493   
license = "Apache-2.0"
 8231  10494   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8232  10495   
rust-version = "1.86.0"
 8233  10496   
readme = "README.md"
 8234  10497   
[package.metadata.smithy]
 8235  10498   
codegen-version = "ci"
 8236  10499   
[package.metadata.docs.rs]
 8237  10500   
all-features = true
 8238  10501   
targets = ["x86_64-unknown-linux-gnu"]
 8239  10502   
[dependencies.aws-credential-types]
 8240  10503   
path = "../aws-credential-types"
 8241  10504   
version = "1.2.4"
 8242  10505   
 8243  10506   
[dependencies.aws-runtime]
 8244  10507   
path = "../aws-runtime"
 8245  10508   
version = "1.5.9"
 8246  10509   
 8247  10510   
[dependencies.aws-smithy-async]
 8248  10511   
path = "../aws-smithy-async"
 8249  10512   
version = "1.2.5"
 8250  10513   
 8251  10514   
[dependencies.aws-smithy-http]
 8252  10515   
path = "../aws-smithy-http"
 8253         -
version = "0.62.2"
       10516  +
version = "0.62.3"
 8254  10517   
 8255  10518   
[dependencies.aws-smithy-json]
 8256  10519   
path = "../aws-smithy-json"
 8257  10520   
version = "0.61.4"
 8258  10521   
 8259  10522   
[dependencies.aws-smithy-runtime]
 8260  10523   
path = "../aws-smithy-runtime"
 8261  10524   
features = ["client"]
 8262  10525   
version = "1.8.5"
 8263  10526   
 8264  10527   
[dependencies.aws-smithy-runtime-api]
 8265  10528   
path = "../aws-smithy-runtime-api"
 8266  10529   
features = ["client", "http-02x"]
 8267  10530   
version = "1.8.5"
 8268  10531   
 8269  10532   
[dependencies.aws-smithy-types]
 8270  10533   
path = "../aws-smithy-types"
 8271  10534   
version = "1.3.2"
 8272  10535   
 8273  10536   
[dependencies.aws-types]
 8274  10537   
path = "../aws-types"
 8275  10538   
version = "1.3.8"
 8276  10539   
 8277  10540   
[dependencies.bytes]
 8278  10541   
version = "1.4.0"
 8279  10542   
 8280  10543   
[dependencies.fastrand]
 8281  10544   
version = "2.0.0"
 8282  10545   
 8283  10546   
[dependencies.http]
 8284  10547   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 8285  10548   
index 15b1d77..16d7d89 100644
 8286         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
       10549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 8287  10550   
@@ -1,65 +1,65 @@
 8288  10551   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8289  10552   
[package]
 8290  10553   
name = "aws-sdk-glacier"
 8291  10554   
version = "0.0.0-local"
 8292  10555   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8293  10556   
description = "AWS SDK for Amazon Glacier"
 8294  10557   
edition = "2021"
 8295  10558   
license = "Apache-2.0"
 8296  10559   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8297  10560   
rust-version = "1.86.0"
 8298  10561   
readme = "README.md"
 8299  10562   
[package.metadata.smithy]
 8300  10563   
codegen-version = "ci"
 8301  10564   
[package.metadata.docs.rs]
 8302  10565   
all-features = true
 8303  10566   
targets = ["x86_64-unknown-linux-gnu"]
 8304  10567   
[dependencies.aws-credential-types]
 8305  10568   
path = "../aws-credential-types"
 8306  10569   
version = "1.2.4"
 8307  10570   
 8308  10571   
[dependencies.aws-runtime]
 8309  10572   
path = "../aws-runtime"
 8310  10573   
version = "1.5.9"
 8311  10574   
 8312  10575   
[dependencies.aws-sigv4]
 8313  10576   
path = "../aws-sigv4"
 8314         -
version = "1.3.3"
       10577  +
version = "1.3.4"
 8315  10578   
 8316  10579   
[dependencies.aws-smithy-async]
 8317  10580   
path = "../aws-smithy-async"
 8318  10581   
version = "1.2.5"
 8319  10582   
 8320  10583   
[dependencies.aws-smithy-http]
 8321  10584   
path = "../aws-smithy-http"
 8322         -
version = "0.62.2"
       10585  +
version = "0.62.3"
 8323  10586   
 8324  10587   
[dependencies.aws-smithy-json]
 8325  10588   
path = "../aws-smithy-json"
 8326  10589   
version = "0.61.4"
 8327  10590   
 8328  10591   
[dependencies.aws-smithy-runtime]
 8329  10592   
path = "../aws-smithy-runtime"
 8330  10593   
features = ["client"]
 8331  10594   
version = "1.8.5"
 8332  10595   
 8333  10596   
[dependencies.aws-smithy-runtime-api]
 8334  10597   
path = "../aws-smithy-runtime-api"
 8335  10598   
features = ["client", "http-02x"]
 8336  10599   
version = "1.8.5"
 8337  10600   
 8338  10601   
[dependencies.aws-smithy-types]
 8339  10602   
path = "../aws-smithy-types"
 8340  10603   
version = "1.3.2"
 8341  10604   
 8342  10605   
[dependencies.aws-types]
 8343  10606   
path = "../aws-types"
 8344  10607   
version = "1.3.8"
 8345  10608   
 8346  10609   
[dependencies.bytes]
 8347  10610   
version = "1.4.0"
 8348  10611   
 8349  10612   
[dependencies.fastrand]
 8350  10613   
version = "2.0.0"
 8351  10614   
 8352  10615   
[dependencies.hex]
 8353  10616   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 8354  10617   
index d718a3a..65e6f24 100644
 8355         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
       10618  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 8356  10619   
@@ -1,61 +1,61 @@
 8357  10620   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8358  10621   
[package]
 8359  10622   
name = "aws-sdk-iam"
 8360  10623   
version = "0.0.0-local"
 8361  10624   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8362  10625   
description = "AWS SDK for AWS Identity and Access Management"
 8363  10626   
edition = "2021"
 8364  10627   
license = "Apache-2.0"
 8365  10628   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8366  10629   
rust-version = "1.86.0"
 8367  10630   
readme = "README.md"
 8368  10631   
[package.metadata.smithy]
 8369  10632   
codegen-version = "ci"
 8370  10633   
[package.metadata.docs.rs]
 8371  10634   
all-features = true
 8372  10635   
targets = ["x86_64-unknown-linux-gnu"]
 8373  10636   
[dependencies.aws-credential-types]
 8374  10637   
path = "../aws-credential-types"
 8375  10638   
version = "1.2.4"
 8376  10639   
 8377  10640   
[dependencies.aws-runtime]
 8378  10641   
path = "../aws-runtime"
 8379  10642   
version = "1.5.9"
 8380  10643   
 8381  10644   
[dependencies.aws-smithy-async]
 8382  10645   
path = "../aws-smithy-async"
 8383  10646   
version = "1.2.5"
 8384  10647   
 8385  10648   
[dependencies.aws-smithy-http]
 8386  10649   
path = "../aws-smithy-http"
 8387         -
version = "0.62.2"
       10650  +
version = "0.62.3"
 8388  10651   
 8389  10652   
[dependencies.aws-smithy-json]
 8390  10653   
path = "../aws-smithy-json"
 8391  10654   
version = "0.61.4"
 8392  10655   
 8393  10656   
[dependencies.aws-smithy-query]
 8394  10657   
path = "../aws-smithy-query"
 8395  10658   
version = "0.60.7"
 8396  10659   
 8397  10660   
[dependencies.aws-smithy-runtime]
 8398  10661   
path = "../aws-smithy-runtime"
 8399  10662   
features = ["client"]
 8400  10663   
version = "1.8.5"
 8401  10664   
 8402  10665   
[dependencies.aws-smithy-runtime-api]
 8403  10666   
path = "../aws-smithy-runtime-api"
 8404  10667   
features = ["client", "http-02x"]
 8405  10668   
version = "1.8.5"
 8406  10669   
 8407  10670   
[dependencies.aws-smithy-types]
 8408  10671   
path = "../aws-smithy-types"
 8409  10672   
version = "1.3.2"
 8410  10673   
 8411  10674   
[dependencies.aws-smithy-xml]
 8412  10675   
path = "../aws-smithy-xml"
 8413  10676   
version = "0.60.10"
 8414  10677   
 8415  10678   
[dependencies.aws-types]
 8416  10679   
path = "../aws-types"
 8417  10680   
version = "1.3.8"
 8418  10681   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 8419  10682   
index 0ed4302..3d828a5 100644
 8420         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
       10683  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 8421  10684   
@@ -1,61 +1,61 @@
 8422  10685   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8423  10686   
[package]
 8424  10687   
name = "aws-sdk-kms"
 8425  10688   
version = "0.0.0-local"
 8426  10689   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8427  10690   
description = "AWS SDK for AWS Key Management Service"
 8428  10691   
edition = "2021"
 8429  10692   
license = "Apache-2.0"
 8430  10693   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8431  10694   
rust-version = "1.86.0"
 8432  10695   
readme = "README.md"
 8433  10696   
[package.metadata.smithy]
 8434  10697   
codegen-version = "ci"
 8435  10698   
[package.metadata.docs.rs]
 8436  10699   
all-features = true
 8437  10700   
targets = ["x86_64-unknown-linux-gnu"]
 8438  10701   
[dependencies.aws-credential-types]
 8439  10702   
path = "../aws-credential-types"
 8440  10703   
version = "1.2.4"
 8441  10704   
 8442  10705   
[dependencies.aws-runtime]
 8443  10706   
path = "../aws-runtime"
 8444  10707   
version = "1.5.9"
 8445  10708   
 8446  10709   
[dependencies.aws-smithy-async]
 8447  10710   
path = "../aws-smithy-async"
 8448  10711   
version = "1.2.5"
 8449  10712   
 8450  10713   
[dependencies.aws-smithy-http]
 8451  10714   
path = "../aws-smithy-http"
 8452         -
version = "0.62.2"
       10715  +
version = "0.62.3"
 8453  10716   
 8454  10717   
[dependencies.aws-smithy-json]
 8455  10718   
path = "../aws-smithy-json"
 8456  10719   
version = "0.61.4"
 8457  10720   
 8458  10721   
[dependencies.aws-smithy-runtime]
 8459  10722   
path = "../aws-smithy-runtime"
 8460  10723   
features = ["client"]
 8461  10724   
version = "1.8.5"
 8462  10725   
 8463  10726   
[dependencies.aws-smithy-runtime-api]
 8464  10727   
path = "../aws-smithy-runtime-api"
 8465  10728   
features = ["client", "http-02x"]
 8466  10729   
version = "1.8.5"
 8467  10730   
 8468  10731   
[dependencies.aws-smithy-types]
 8469  10732   
path = "../aws-smithy-types"
 8470  10733   
version = "1.3.2"
 8471  10734   
 8472  10735   
[dependencies.aws-types]
 8473  10736   
path = "../aws-types"
 8474  10737   
version = "1.3.8"
 8475  10738   
 8476  10739   
[dependencies.bytes]
 8477  10740   
version = "1.4.0"
 8478  10741   
 8479  10742   
[dependencies.fastrand]
 8480  10743   
version = "2.0.0"
 8481  10744   
 8482  10745   
[dependencies.http]
 8483  10746   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 8484  10747   
index 6518dfc..6b94752 100644
 8485         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
       10748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 8486  10749   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 8487  10750   
edition = "2021"
 8488  10751   
license = "Apache-2.0"
 8489  10752   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8490  10753   
rust-version = "1.86.0"
 8491  10754   
readme = "README.md"
 8492  10755   
[package.metadata.smithy]
 8493  10756   
codegen-version = "ci"
 8494  10757   
[package.metadata.docs.rs]
 8495  10758   
all-features = true
 8496  10759   
targets = ["x86_64-unknown-linux-gnu"]
 8497  10760   
[dependencies.aws-credential-types]
 8498  10761   
path = "../aws-credential-types"
 8499  10762   
version = "1.2.4"
 8500  10763   
 8501  10764   
[dependencies.aws-runtime]
 8502  10765   
path = "../aws-runtime"
 8503  10766   
features = ["event-stream"]
 8504  10767   
version = "1.5.9"
 8505  10768   
 8506  10769   
[dependencies.aws-smithy-async]
 8507  10770   
path = "../aws-smithy-async"
 8508  10771   
version = "1.2.5"
 8509  10772   
 8510  10773   
[dependencies.aws-smithy-eventstream]
 8511  10774   
path = "../aws-smithy-eventstream"
 8512  10775   
version = "0.60.10"
 8513  10776   
 8514  10777   
[dependencies.aws-smithy-http]
 8515  10778   
path = "../aws-smithy-http"
 8516  10779   
features = ["event-stream"]
 8517         -
version = "0.62.2"
       10780  +
version = "0.62.3"
 8518  10781   
 8519  10782   
[dependencies.aws-smithy-json]
 8520  10783   
path = "../aws-smithy-json"
 8521  10784   
version = "0.61.4"
 8522  10785   
 8523  10786   
[dependencies.aws-smithy-runtime]
 8524  10787   
path = "../aws-smithy-runtime"
 8525  10788   
features = ["client"]
 8526  10789   
version = "1.8.5"
 8527  10790   
 8528  10791   
[dependencies.aws-smithy-runtime-api]
 8529  10792   
path = "../aws-smithy-runtime-api"
 8530  10793   
features = ["client", "http-02x"]
 8531  10794   
version = "1.8.5"
 8532  10795   
 8533  10796   
[dependencies.aws-smithy-types]
 8534  10797   
path = "../aws-smithy-types"
 8535  10798   
version = "1.3.2"
 8536  10799   
 8537  10800   
[dependencies.aws-types]
 8538  10801   
path = "../aws-types"
 8539  10802   
version = "1.3.8"
 8540  10803   
 8541  10804   
[dependencies.bytes]
 8542  10805   
version = "1.4.0"
 8543  10806   
 8544  10807   
[dependencies.fastrand]
 8545  10808   
version = "2.0.0"
 8546  10809   
 8547  10810   
[dependencies.http]
 8548  10811   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 8549  10812   
index dabb0e0..34cbc15 100644
 8550         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
       10813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 8551  10814   
@@ -1,65 +1,65 @@
 8552  10815   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8553  10816   
[package]
 8554  10817   
name = "aws-sdk-polly"
 8555  10818   
version = "0.0.0-local"
 8556  10819   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8557  10820   
description = "AWS SDK for Amazon Polly"
 8558  10821   
edition = "2021"
 8559  10822   
license = "Apache-2.0"
 8560  10823   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8561  10824   
rust-version = "1.86.0"
 8562  10825   
readme = "README.md"
 8563  10826   
[package.metadata.smithy]
 8564  10827   
codegen-version = "ci"
 8565  10828   
[package.metadata.docs.rs]
 8566  10829   
all-features = true
 8567  10830   
targets = ["x86_64-unknown-linux-gnu"]
 8568  10831   
[dependencies.aws-credential-types]
 8569  10832   
path = "../aws-credential-types"
 8570  10833   
version = "1.2.4"
 8571  10834   
 8572  10835   
[dependencies.aws-runtime]
 8573  10836   
path = "../aws-runtime"
 8574  10837   
version = "1.5.9"
 8575  10838   
 8576  10839   
[dependencies.aws-sigv4]
 8577  10840   
path = "../aws-sigv4"
 8578         -
version = "1.3.3"
       10841  +
version = "1.3.4"
 8579  10842   
 8580  10843   
[dependencies.aws-smithy-async]
 8581  10844   
path = "../aws-smithy-async"
 8582  10845   
version = "1.2.5"
 8583  10846   
 8584  10847   
[dependencies.aws-smithy-http]
 8585  10848   
path = "../aws-smithy-http"
 8586         -
version = "0.62.2"
       10849  +
version = "0.62.3"
 8587  10850   
 8588  10851   
[dependencies.aws-smithy-json]
 8589  10852   
path = "../aws-smithy-json"
 8590  10853   
version = "0.61.4"
 8591  10854   
 8592  10855   
[dependencies.aws-smithy-runtime]
 8593  10856   
path = "../aws-smithy-runtime"
 8594  10857   
features = ["client"]
 8595  10858   
version = "1.8.5"
 8596  10859   
 8597  10860   
[dependencies.aws-smithy-runtime-api]
 8598  10861   
path = "../aws-smithy-runtime-api"
 8599  10862   
features = ["client", "http-02x"]
 8600  10863   
version = "1.8.5"
 8601  10864   
 8602  10865   
[dependencies.aws-smithy-types]
 8603  10866   
path = "../aws-smithy-types"
 8604  10867   
version = "1.3.2"
 8605  10868   
 8606  10869   
[dependencies.aws-types]
 8607  10870   
path = "../aws-types"
 8608  10871   
version = "1.3.8"
 8609  10872   
 8610  10873   
[dependencies.bytes]
 8611  10874   
version = "1.4.0"
 8612  10875   
 8613  10876   
[dependencies.fastrand]
 8614  10877   
version = "2.0.0"
 8615  10878   
 8616  10879   
[dependencies.http]
 8617  10880   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 8618  10881   
index a884716..f3d8713 100644
 8619         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
       10882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 8620  10883   
@@ -1,61 +1,61 @@
 8621  10884   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8622  10885   
[package]
 8623  10886   
name = "aws-sdk-qldbsession"
 8624  10887   
version = "0.0.0-local"
 8625  10888   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8626  10889   
description = "AWS SDK for Amazon QLDB Session"
 8627  10890   
edition = "2021"
 8628  10891   
license = "Apache-2.0"
 8629  10892   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8630  10893   
rust-version = "1.86.0"
 8631  10894   
readme = "README.md"
 8632  10895   
[package.metadata.smithy]
 8633  10896   
codegen-version = "ci"
 8634  10897   
[package.metadata.docs.rs]
 8635  10898   
all-features = true
 8636  10899   
targets = ["x86_64-unknown-linux-gnu"]
 8637  10900   
[dependencies.aws-credential-types]
 8638  10901   
path = "../aws-credential-types"
 8639  10902   
version = "1.2.4"
 8640  10903   
 8641  10904   
[dependencies.aws-runtime]
 8642  10905   
path = "../aws-runtime"
 8643  10906   
version = "1.5.9"
 8644  10907   
 8645  10908   
[dependencies.aws-smithy-async]
 8646  10909   
path = "../aws-smithy-async"
 8647  10910   
version = "1.2.5"
 8648  10911   
 8649  10912   
[dependencies.aws-smithy-http]
 8650  10913   
path = "../aws-smithy-http"
 8651         -
version = "0.62.2"
       10914  +
version = "0.62.3"
 8652  10915   
 8653  10916   
[dependencies.aws-smithy-json]
 8654  10917   
path = "../aws-smithy-json"
 8655  10918   
version = "0.61.4"
 8656  10919   
 8657  10920   
[dependencies.aws-smithy-runtime]
 8658  10921   
path = "../aws-smithy-runtime"
 8659  10922   
features = ["client"]
 8660  10923   
version = "1.8.5"
 8661  10924   
 8662  10925   
[dependencies.aws-smithy-runtime-api]
 8663  10926   
path = "../aws-smithy-runtime-api"
 8664  10927   
features = ["client", "http-02x"]
 8665  10928   
version = "1.8.5"
 8666  10929   
 8667  10930   
[dependencies.aws-smithy-types]
 8668  10931   
path = "../aws-smithy-types"
 8669  10932   
version = "1.3.2"
 8670  10933   
 8671  10934   
[dependencies.aws-types]
 8672  10935   
path = "../aws-types"
 8673  10936   
version = "1.3.8"
 8674  10937   
 8675  10938   
[dependencies.bytes]
 8676  10939   
version = "1.4.0"
 8677  10940   
 8678  10941   
[dependencies.fastrand]
 8679  10942   
version = "2.0.0"
 8680  10943   
 8681  10944   
[dependencies.http]
 8682  10945   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 8683  10946   
index 32a7dc9..a2c752d 100644
 8684         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
       10947  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 8685  10948   
@@ -1,61 +1,61 @@
 8686  10949   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8687  10950   
[package]
 8688  10951   
name = "aws-sdk-route53"
 8689  10952   
version = "0.0.0-local"
 8690  10953   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8691  10954   
description = "AWS SDK for Amazon Route 53"
 8692  10955   
edition = "2021"
 8693  10956   
license = "Apache-2.0"
 8694  10957   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8695  10958   
rust-version = "1.86.0"
 8696  10959   
readme = "README.md"
 8697  10960   
[package.metadata.smithy]
 8698  10961   
codegen-version = "ci"
 8699  10962   
[package.metadata.docs.rs]
 8700  10963   
all-features = true
 8701  10964   
targets = ["x86_64-unknown-linux-gnu"]
 8702  10965   
[dependencies.aws-credential-types]
 8703  10966   
path = "../aws-credential-types"
 8704  10967   
version = "1.2.4"
 8705  10968   
 8706  10969   
[dependencies.aws-runtime]
 8707  10970   
path = "../aws-runtime"
 8708  10971   
version = "1.5.9"
 8709  10972   
 8710  10973   
[dependencies.aws-smithy-async]
 8711  10974   
path = "../aws-smithy-async"
 8712  10975   
version = "1.2.5"
 8713  10976   
 8714  10977   
[dependencies.aws-smithy-http]
 8715  10978   
path = "../aws-smithy-http"
 8716         -
version = "0.62.2"
       10979  +
version = "0.62.3"
 8717  10980   
 8718  10981   
[dependencies.aws-smithy-json]
 8719  10982   
path = "../aws-smithy-json"
 8720  10983   
version = "0.61.4"
 8721  10984   
 8722  10985   
[dependencies.aws-smithy-runtime]
 8723  10986   
path = "../aws-smithy-runtime"
 8724  10987   
features = ["client"]
 8725  10988   
version = "1.8.5"
 8726  10989   
 8727  10990   
[dependencies.aws-smithy-runtime-api]
 8728  10991   
path = "../aws-smithy-runtime-api"
 8729  10992   
features = ["client", "http-02x"]
 8730  10993   
version = "1.8.5"
 8731  10994   
 8732  10995   
[dependencies.aws-smithy-types]
 8733  10996   
path = "../aws-smithy-types"
 8734  10997   
version = "1.3.2"
 8735  10998   
 8736  10999   
[dependencies.aws-smithy-xml]
 8737  11000   
path = "../aws-smithy-xml"
 8738  11001   
version = "0.60.10"
 8739  11002   
 8740  11003   
[dependencies.aws-types]
 8741  11004   
path = "../aws-types"
 8742  11005   
version = "1.3.8"
 8743  11006   
 8744  11007   
[dependencies.fastrand]
 8745  11008   
version = "2.0.0"
 8746  11009   
 8747  11010   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 8748  11011   
index f65e261..2f6bec0 100644
 8749         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
       11012  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 8750  11013   
@@ -1,75 +1,75 @@
 8751  11014   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8752  11015   
[package]
 8753  11016   
name = "aws-sdk-s3"
 8754  11017   
version = "0.0.0-local"
 8755  11018   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8756  11019   
description = "AWS SDK for Amazon Simple Storage Service"
 8757  11020   
edition = "2021"
 8758  11021   
license = "Apache-2.0"
 8759  11022   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8760  11023   
rust-version = "1.86.0"
 8761  11024   
readme = "README.md"
 8762  11025   
[package.metadata.smithy]
 8763  11026   
codegen-version = "ci"
 8764  11027   
[package.metadata.docs.rs]
 8765  11028   
all-features = true
 8766  11029   
targets = ["x86_64-unknown-linux-gnu"]
 8767  11030   
[dependencies.aws-credential-types]
 8768  11031   
path = "../aws-credential-types"
 8769  11032   
version = "1.2.4"
 8770  11033   
 8771  11034   
[dependencies.aws-runtime]
 8772  11035   
path = "../aws-runtime"
 8773  11036   
features = ["event-stream", "http-02x"]
 8774  11037   
version = "1.5.9"
 8775  11038   
 8776  11039   
[dependencies.aws-sigv4]
 8777  11040   
path = "../aws-sigv4"
 8778         -
version = "1.3.3"
       11041  +
version = "1.3.4"
 8779  11042   
 8780  11043   
[dependencies.aws-smithy-async]
 8781  11044   
path = "../aws-smithy-async"
 8782  11045   
version = "1.2.5"
 8783  11046   
 8784  11047   
[dependencies.aws-smithy-checksums]
 8785  11048   
path = "../aws-smithy-checksums"
 8786  11049   
version = "0.63.5"
 8787  11050   
 8788  11051   
[dependencies.aws-smithy-eventstream]
 8789  11052   
path = "../aws-smithy-eventstream"
 8790  11053   
version = "0.60.10"
 8791  11054   
 8792  11055   
[dependencies.aws-smithy-http]
 8793  11056   
path = "../aws-smithy-http"
 8794  11057   
features = ["event-stream"]
 8795         -
version = "0.62.2"
       11058  +
version = "0.62.3"
 8796  11059   
 8797  11060   
[dependencies.aws-smithy-json]
 8798  11061   
path = "../aws-smithy-json"
 8799  11062   
version = "0.61.4"
 8800  11063   
 8801  11064   
[dependencies.aws-smithy-runtime]
 8802  11065   
path = "../aws-smithy-runtime"
 8803  11066   
features = ["client"]
 8804  11067   
version = "1.8.5"
 8805  11068   
 8806  11069   
[dependencies.aws-smithy-runtime-api]
 8807  11070   
path = "../aws-smithy-runtime-api"
 8808  11071   
features = ["client", "http-02x"]
 8809  11072   
version = "1.8.5"
 8810  11073   
 8811  11074   
[dependencies.aws-smithy-types]
 8812  11075   
path = "../aws-smithy-types"
 8813  11076   
version = "1.3.2"
 8814  11077   
 8815  11078   
[dependencies.aws-smithy-xml]
 8816  11079   
path = "../aws-smithy-xml"
 8817  11080   
version = "0.60.10"
 8818  11081   
 8819  11082   
[dependencies.aws-types]
 8820  11083   
path = "../aws-types"
 8821  11084   
version = "1.3.8"
 8822  11085   
 8823  11086   
[dependencies.bytes]
 8824  11087   
version = "1.4.0"
 8825  11088   
 8826  11089   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 8827  11090   
index b4d1cdd..861c0cc 100644
 8828         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       11091  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 8829  11092   
@@ -1,61 +1,61 @@
 8830  11093   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8831  11094   
[package]
 8832  11095   
name = "aws-sdk-s3control"
 8833  11096   
version = "0.0.0-local"
 8834  11097   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8835  11098   
description = "AWS SDK for AWS S3 Control"
 8836  11099   
edition = "2021"
 8837  11100   
license = "Apache-2.0"
 8838  11101   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8839  11102   
rust-version = "1.86.0"
 8840  11103   
readme = "README.md"
 8841  11104   
[package.metadata.smithy]
 8842  11105   
codegen-version = "ci"
 8843  11106   
[package.metadata.docs.rs]
 8844  11107   
all-features = true
 8845  11108   
targets = ["x86_64-unknown-linux-gnu"]
 8846  11109   
[dependencies.aws-credential-types]
 8847  11110   
path = "../aws-credential-types"
 8848  11111   
version = "1.2.4"
 8849  11112   
 8850  11113   
[dependencies.aws-runtime]
 8851  11114   
path = "../aws-runtime"
 8852  11115   
version = "1.5.9"
 8853  11116   
 8854  11117   
[dependencies.aws-smithy-async]
 8855  11118   
path = "../aws-smithy-async"
 8856  11119   
version = "1.2.5"
 8857  11120   
 8858  11121   
[dependencies.aws-smithy-http]
 8859  11122   
path = "../aws-smithy-http"
 8860         -
version = "0.62.2"
       11123  +
version = "0.62.3"
 8861  11124   
 8862  11125   
[dependencies.aws-smithy-json]
 8863  11126   
path = "../aws-smithy-json"
 8864  11127   
version = "0.61.4"
 8865  11128   
 8866  11129   
[dependencies.aws-smithy-runtime]
 8867  11130   
path = "../aws-smithy-runtime"
 8868  11131   
features = ["client"]
 8869  11132   
version = "1.8.5"
 8870  11133   
 8871  11134   
[dependencies.aws-smithy-runtime-api]
 8872  11135   
path = "../aws-smithy-runtime-api"
 8873  11136   
features = ["client", "http-02x"]
 8874  11137   
version = "1.8.5"
 8875  11138   
 8876  11139   
[dependencies.aws-smithy-types]
 8877  11140   
path = "../aws-smithy-types"
 8878  11141   
version = "1.3.2"
 8879  11142   
 8880  11143   
[dependencies.aws-smithy-xml]
 8881  11144   
path = "../aws-smithy-xml"
 8882  11145   
version = "0.60.10"
 8883  11146   
 8884  11147   
[dependencies.aws-types]
 8885  11148   
path = "../aws-types"
 8886  11149   
version = "1.3.8"
 8887  11150   
 8888  11151   
[dependencies.fastrand]
 8889  11152   
version = "2.0.0"
 8890  11153   
 8891  11154   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 8892  11155   
index 2cde182..fc367f4 100644
 8893         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       11156  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 8894  11157   
@@ -1,61 +1,61 @@
 8895  11158   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8896  11159   
[package]
 8897  11160   
name = "aws-sdk-sso"
 8898  11161   
version = "0.0.0-local"
 8899  11162   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8900  11163   
description = "AWS SDK for AWS Single Sign-On"
 8901  11164   
edition = "2021"
 8902  11165   
license = "Apache-2.0"
 8903  11166   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8904  11167   
rust-version = "1.86.0"
 8905  11168   
readme = "README.md"
 8906  11169   
[package.metadata.smithy]
 8907  11170   
codegen-version = "ci"
 8908  11171   
[package.metadata.docs.rs]
 8909  11172   
all-features = true
 8910  11173   
targets = ["x86_64-unknown-linux-gnu"]
 8911  11174   
[dependencies.aws-credential-types]
 8912  11175   
path = "../aws-credential-types"
 8913  11176   
version = "1.2.4"
 8914  11177   
 8915  11178   
[dependencies.aws-runtime]
 8916  11179   
path = "../aws-runtime"
 8917  11180   
version = "1.5.9"
 8918  11181   
 8919  11182   
[dependencies.aws-smithy-async]
 8920  11183   
path = "../aws-smithy-async"
 8921  11184   
version = "1.2.5"
 8922  11185   
 8923  11186   
[dependencies.aws-smithy-http]
 8924  11187   
path = "../aws-smithy-http"
 8925         -
version = "0.62.2"
       11188  +
version = "0.62.3"
 8926  11189   
 8927  11190   
[dependencies.aws-smithy-json]
 8928  11191   
path = "../aws-smithy-json"
 8929  11192   
version = "0.61.4"
 8930  11193   
 8931  11194   
[dependencies.aws-smithy-runtime]
 8932  11195   
path = "../aws-smithy-runtime"
 8933  11196   
features = ["client"]
 8934  11197   
version = "1.8.5"
 8935  11198   
 8936  11199   
[dependencies.aws-smithy-runtime-api]
 8937  11200   
path = "../aws-smithy-runtime-api"
 8938  11201   
features = ["client", "http-02x"]
 8939  11202   
version = "1.8.5"
 8940  11203   
 8941  11204   
[dependencies.aws-smithy-types]
 8942  11205   
path = "../aws-smithy-types"
 8943  11206   
version = "1.3.2"
 8944  11207   
 8945  11208   
[dependencies.aws-types]
 8946  11209   
path = "../aws-types"
 8947  11210   
version = "1.3.8"
 8948  11211   
 8949  11212   
[dependencies.bytes]
 8950  11213   
version = "1.4.0"
 8951  11214   
 8952  11215   
[dependencies.fastrand]
 8953  11216   
version = "2.0.0"
 8954  11217   
 8955  11218   
[dependencies.http]
 8956  11219   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 8957  11220   
index 7a34c16..588d0bd 100644
 8958         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       11221  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 8959  11222   
@@ -1,61 +1,61 @@
 8960  11223   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8961  11224   
[package]
 8962  11225   
name = "aws-sdk-ssooidc"
 8963  11226   
version = "0.0.0-local"
 8964  11227   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8965  11228   
description = "AWS SDK for AWS SSO OIDC"
 8966  11229   
edition = "2021"
 8967  11230   
license = "Apache-2.0"
 8968  11231   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8969  11232   
rust-version = "1.86.0"
 8970  11233   
readme = "README.md"
 8971  11234   
[package.metadata.smithy]
 8972  11235   
codegen-version = "ci"
 8973  11236   
[package.metadata.docs.rs]
 8974  11237   
all-features = true
 8975  11238   
targets = ["x86_64-unknown-linux-gnu"]
 8976  11239   
[dependencies.aws-credential-types]
 8977  11240   
path = "../aws-credential-types"
 8978  11241   
version = "1.2.4"
 8979  11242   
 8980  11243   
[dependencies.aws-runtime]
 8981  11244   
path = "../aws-runtime"
 8982  11245   
version = "1.5.9"
 8983  11246   
 8984  11247   
[dependencies.aws-smithy-async]
 8985  11248   
path = "../aws-smithy-async"
 8986  11249   
version = "1.2.5"
 8987  11250   
 8988  11251   
[dependencies.aws-smithy-http]
 8989  11252   
path = "../aws-smithy-http"
 8990         -
version = "0.62.2"
       11253  +
version = "0.62.3"
 8991  11254   
 8992  11255   
[dependencies.aws-smithy-json]
 8993  11256   
path = "../aws-smithy-json"
 8994  11257   
version = "0.61.4"
 8995  11258   
 8996  11259   
[dependencies.aws-smithy-runtime]
 8997  11260   
path = "../aws-smithy-runtime"
 8998  11261   
features = ["client"]
 8999  11262   
version = "1.8.5"
 9000  11263   
 9001  11264   
[dependencies.aws-smithy-runtime-api]
 9002  11265   
path = "../aws-smithy-runtime-api"
 9003  11266   
features = ["client", "http-02x"]
 9004  11267   
version = "1.8.5"
 9005  11268   
 9006  11269   
[dependencies.aws-smithy-types]
 9007  11270   
path = "../aws-smithy-types"
 9008  11271   
version = "1.3.2"
 9009  11272   
 9010  11273   
[dependencies.aws-types]
 9011  11274   
path = "../aws-types"
 9012  11275   
version = "1.3.8"
 9013  11276   
 9014  11277   
[dependencies.bytes]
 9015  11278   
version = "1.4.0"
 9016  11279   
 9017  11280   
[dependencies.fastrand]
 9018  11281   
version = "2.0.0"
 9019  11282   
 9020  11283   
[dependencies.http]
 9021  11284   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 9022  11285   
index 895dfb3..f2ce34e 100644
 9023         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       11286  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 9024  11287   
@@ -1,61 +1,61 @@
 9025  11288   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9026  11289   
[package]
 9027  11290   
name = "aws-sdk-sts"
 9028  11291   
version = "0.0.0-local"
 9029  11292   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9030  11293   
description = "AWS SDK for AWS Security Token Service"
 9031  11294   
edition = "2021"
 9032  11295   
license = "Apache-2.0"
 9033  11296   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9034  11297   
rust-version = "1.86.0"
 9035  11298   
readme = "README.md"
 9036  11299   
[package.metadata.smithy]
 9037  11300   
codegen-version = "ci"
 9038  11301   
[package.metadata.docs.rs]
 9039  11302   
all-features = true
 9040  11303   
targets = ["x86_64-unknown-linux-gnu"]
 9041  11304   
[dependencies.aws-credential-types]
 9042  11305   
path = "../aws-credential-types"
 9043  11306   
version = "1.2.4"
 9044  11307   
 9045  11308   
[dependencies.aws-runtime]
 9046  11309   
path = "../aws-runtime"
 9047  11310   
version = "1.5.9"
 9048  11311   
 9049  11312   
[dependencies.aws-smithy-async]
 9050  11313   
path = "../aws-smithy-async"
 9051  11314   
version = "1.2.5"
 9052  11315   
 9053  11316   
[dependencies.aws-smithy-http]
 9054  11317   
path = "../aws-smithy-http"
 9055         -
version = "0.62.2"
       11318  +
version = "0.62.3"
 9056  11319   
 9057  11320   
[dependencies.aws-smithy-json]
 9058  11321   
path = "../aws-smithy-json"
 9059  11322   
version = "0.61.4"
 9060  11323   
 9061  11324   
[dependencies.aws-smithy-query]
 9062  11325   
path = "../aws-smithy-query"
 9063  11326   
version = "0.60.7"
 9064  11327   
 9065  11328   
[dependencies.aws-smithy-runtime]
 9066  11329   
path = "../aws-smithy-runtime"
 9067  11330   
features = ["client"]
 9068  11331   
version = "1.8.5"
 9069  11332   
 9070  11333   
[dependencies.aws-smithy-runtime-api]
 9071  11334   
path = "../aws-smithy-runtime-api"
 9072  11335   
features = ["client", "http-02x"]
 9073  11336   
version = "1.8.5"
 9074  11337   
 9075  11338   
[dependencies.aws-smithy-types]
 9076  11339   
path = "../aws-smithy-types"
 9077  11340   
version = "1.3.2"
 9078  11341   
 9079  11342   
[dependencies.aws-smithy-xml]
 9080  11343   
path = "../aws-smithy-xml"
 9081  11344   
version = "0.60.10"
 9082  11345   
 9083  11346   
[dependencies.aws-types]
 9084  11347   
path = "../aws-types"
 9085  11348   
version = "1.3.8"
 9086  11349   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 9087  11350   
index d556561..91178b6 100644
 9088         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       11351  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 9089  11352   
@@ -1,61 +1,61 @@
 9090  11353   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9091  11354   
[package]
 9092  11355   
name = "aws-sdk-timestreamquery"
 9093  11356   
version = "0.0.0-local"
 9094  11357   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9095  11358   
description = "AWS SDK for Amazon Timestream Query"
 9096  11359   
edition = "2021"
 9097  11360   
license = "Apache-2.0"
 9098  11361   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9099  11362   
rust-version = "1.86.0"
 9100  11363   
readme = "README.md"
 9101  11364   
[package.metadata.smithy]
 9102  11365   
codegen-version = "ci"
 9103  11366   
[package.metadata.docs.rs]
 9104  11367   
all-features = true
 9105  11368   
targets = ["x86_64-unknown-linux-gnu"]
 9106  11369   
[dependencies.aws-credential-types]
 9107  11370   
path = "../aws-credential-types"
 9108  11371   
version = "1.2.4"
 9109  11372   
 9110  11373   
[dependencies.aws-runtime]
 9111  11374   
path = "../aws-runtime"
 9112  11375   
version = "1.5.9"
 9113  11376   
 9114  11377   
[dependencies.aws-smithy-async]
 9115  11378   
path = "../aws-smithy-async"
 9116  11379   
version = "1.2.5"
 9117  11380   
 9118  11381   
[dependencies.aws-smithy-http]
 9119  11382   
path = "../aws-smithy-http"
 9120         -
version = "0.62.2"
       11383  +
version = "0.62.3"
 9121  11384   
 9122  11385   
[dependencies.aws-smithy-json]
 9123  11386   
path = "../aws-smithy-json"
 9124  11387   
version = "0.61.4"
 9125  11388   
 9126  11389   
[dependencies.aws-smithy-runtime]
 9127  11390   
path = "../aws-smithy-runtime"
 9128  11391   
features = ["client"]
 9129  11392   
version = "1.8.5"
 9130  11393   
 9131  11394   
[dependencies.aws-smithy-runtime-api]
 9132  11395   
path = "../aws-smithy-runtime-api"
 9133  11396   
features = ["client", "http-02x"]
 9134  11397   
version = "1.8.5"
 9135  11398   
 9136  11399   
[dependencies.aws-smithy-types]
 9137  11400   
path = "../aws-smithy-types"
 9138  11401   
version = "1.3.2"
 9139  11402   
 9140  11403   
[dependencies.aws-types]
 9141  11404   
path = "../aws-types"
 9142  11405   
version = "1.3.8"
 9143  11406   
 9144  11407   
[dependencies.bytes]
 9145  11408   
version = "1.4.0"
 9146  11409   
 9147  11410   
[dependencies.fastrand]
 9148  11411   
version = "2.0.0"
 9149  11412   
 9150  11413   
[dependencies.http]
 9151  11414   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 9152  11415   
index 0c56e4c..95731e3 100644
 9153         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       11416  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 9154  11417   
@@ -1,61 +1,61 @@
 9155  11418   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9156  11419   
[package]
 9157  11420   
name = "aws-sdk-timestreamwrite"
 9158  11421   
version = "0.0.0-local"
 9159  11422   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9160  11423   
description = "AWS SDK for Amazon Timestream Write"
 9161  11424   
edition = "2021"
 9162  11425   
license = "Apache-2.0"
 9163  11426   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9164  11427   
rust-version = "1.86.0"
 9165  11428   
readme = "README.md"
 9166  11429   
[package.metadata.smithy]
 9167  11430   
codegen-version = "ci"
 9168  11431   
[package.metadata.docs.rs]
 9169  11432   
all-features = true
 9170  11433   
targets = ["x86_64-unknown-linux-gnu"]
 9171  11434   
[dependencies.aws-credential-types]
 9172  11435   
path = "../aws-credential-types"
 9173  11436   
version = "1.2.4"
 9174  11437   
 9175  11438   
[dependencies.aws-runtime]
 9176  11439   
path = "../aws-runtime"
 9177  11440   
version = "1.5.9"
 9178  11441   
 9179  11442   
[dependencies.aws-smithy-async]
 9180  11443   
path = "../aws-smithy-async"
 9181  11444   
version = "1.2.5"
 9182  11445   
 9183  11446   
[dependencies.aws-smithy-http]
 9184  11447   
path = "../aws-smithy-http"
 9185         -
version = "0.62.2"
       11448  +
version = "0.62.3"
 9186  11449   
 9187  11450   
[dependencies.aws-smithy-json]
 9188  11451   
path = "../aws-smithy-json"
 9189  11452   
version = "0.61.4"
 9190  11453   
 9191  11454   
[dependencies.aws-smithy-runtime]
 9192  11455   
path = "../aws-smithy-runtime"
 9193  11456   
features = ["client"]
 9194  11457   
version = "1.8.5"
 9195  11458   
 9196  11459   
[dependencies.aws-smithy-runtime-api]
 9197  11460   
path = "../aws-smithy-runtime-api"
 9198  11461   
features = ["client", "http-02x"]
 9199  11462   
version = "1.8.5"
 9200  11463   
 9201  11464   
[dependencies.aws-smithy-types]
 9202  11465   
path = "../aws-smithy-types"
 9203  11466   
version = "1.3.2"
 9204  11467   
 9205  11468   
[dependencies.aws-types]
 9206  11469   
path = "../aws-types"
 9207  11470   
version = "1.3.8"
 9208  11471   
 9209  11472   
[dependencies.bytes]
 9210  11473   
version = "1.4.0"
 9211  11474   
 9212  11475   
[dependencies.fastrand]
 9213  11476   
version = "2.0.0"
 9214  11477   
 9215  11478   
[dependencies.http]
 9216  11479   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 9217  11480   
index 5b35037..9fb220a 100644
 9218         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       11481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 9219  11482   
@@ -1,71 +1,71 @@
 9220  11483   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 9221  11484   
[package]
 9222  11485   
name = "aws-sdk-transcribestreaming"
 9223  11486   
version = "0.0.0-local"
 9224  11487   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 9225  11488   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 9226  11489   
edition = "2021"
 9227  11490   
license = "Apache-2.0"
 9228  11491   
repository = "https://github.com/awslabs/aws-sdk-rust"
 9229  11492   
rust-version = "1.86.0"
 9230  11493   
readme = "README.md"
 9231  11494   
[package.metadata.smithy]
 9232  11495   
codegen-version = "ci"
 9233  11496   
[package.metadata.docs.rs]
 9234  11497   
all-features = true
 9235  11498   
targets = ["x86_64-unknown-linux-gnu"]
 9236  11499   
[dependencies.aws-credential-types]
 9237  11500   
path = "../aws-credential-types"
 9238  11501   
version = "1.2.4"
 9239  11502   
 9240  11503   
[dependencies.aws-runtime]
 9241  11504   
path = "../aws-runtime"
 9242  11505   
features = ["event-stream"]
 9243  11506   
version = "1.5.9"
 9244  11507   
 9245  11508   
[dependencies.aws-sigv4]
 9246  11509   
path = "../aws-sigv4"
 9247         -
version = "1.3.3"
       11510  +
version = "1.3.4"
 9248  11511   
 9249  11512   
[dependencies.aws-smithy-async]
 9250  11513   
path = "../aws-smithy-async"
 9251  11514   
version = "1.2.5"
 9252  11515   
 9253  11516   
[dependencies.aws-smithy-eventstream]
 9254  11517   
path = "../aws-smithy-eventstream"
 9255  11518   
version = "0.60.10"
 9256  11519   
 9257  11520   
[dependencies.aws-smithy-http]
 9258  11521   
path = "../aws-smithy-http"
 9259  11522   
features = ["event-stream"]
 9260         -
version = "0.62.2"
       11523  +
version = "0.62.3"
 9261  11524   
 9262  11525   
[dependencies.aws-smithy-json]
 9263  11526   
path = "../aws-smithy-json"
 9264  11527   
version = "0.61.4"
 9265  11528   
 9266  11529   
[dependencies.aws-smithy-runtime]
 9267  11530   
path = "../aws-smithy-runtime"
 9268  11531   
features = ["client"]
 9269  11532   
version = "1.8.5"
 9270  11533