AWS SDK

AWS SDK

rev. 3964b40d6806bc3f52bd311e2c791030c3325f2c (ignoring whitespace)

Files changed:

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

@@ -1,0 +4,0 @@
    1         -
GET /?Param1=value1 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=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb

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.authz

@@ -1,0 +8321,10541 @@
    1         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
    2      0   
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.qpsreq b/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.qpsreq
    3      1   
deleted file mode 100644
    4      2   
index b29c1e0..0000000
    5         -
-- 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.qpsreq
           3  +
++ /dev/null
    6      4   
@@ -1,2 +0,0 @@
    7         -
GET /?Param2=value2&Param1=value1&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ANOTREAL%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=35&X-Amz-SignedHeaders=host&X-Amz-Signature=ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab HTTP/1.1
    8         -
Host:example.amazonaws.com
    9      5   
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.sreq b/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.sreq
   10      6   
deleted file mode 100644
   11      7   
index e55b6b8..0000000
   12         -
-- 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.sreq
           8  +
++ /dev/null
   13      9   
@@ -1,4 +0,0 @@
   14         -
GET /?Param2=value2&Param1=value1 HTTP/1.1
   15         -
Host:example.amazonaws.com
   16         -
X-Amz-Date:20150830T123600Z
   17         -
Authorization: AWS4-HMAC-SHA256 Credential=ANOTREAL/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947
   18     10   
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.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.authz
   19     11   
deleted file mode 100644
   20     12   
index 812cd3f..0000000
   21         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.authz
          13  +
++ /dev/null
   22     14   
@@ -1 +0,0 @@
   23         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eedbc4e291e521cf13422ffca22be7d2eb8146eecf653089df300a15b2382bd1
              \
 No newline at end of file
   24     15   
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.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.req
   25     16   
deleted file mode 100644
   26     17   
index 375a496..0000000
   27         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.req
          18  +
++ /dev/null
   28     19   
@@ -1,3 +0,0 @@
   29         -
GET /?Param1=value2&Param1=Value1 HTTP/1.1
   30         -
Host:example.amazonaws.com
   31         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
   32     20   
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.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sreq
   33     21   
deleted file mode 100644
   34     22   
index bc8e652..0000000
   35         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-key/get-vanilla-query-order-key.sreq
          23  +
++ /dev/null
   36     24   
@@ -1,4 +0,0 @@
   37         -
GET /?Param1=value2&Param1=Value1 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=eedbc4e291e521cf13422ffca22be7d2eb8146eecf653089df300a15b2382bd1
              \
 No newline at end of file
   41     25   
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.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.authz
   42     26   
deleted file mode 100644
   43     27   
index b8ad91f..0000000
   44         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.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=5772eed61e12b33fae39ee5e7012498b51d56abc0abb7c60486157bd471c4694
              \
 No newline at end of file
   47     30   
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.req b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.req
   48     31   
deleted file mode 100644
   49     32   
index 9255bee..0000000
   50         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.req
          33  +
++ /dev/null
   51     34   
@@ -1,3 +0,0 @@
   52         -
GET /?Param1=value2&Param1=value1 HTTP/1.1
   53         -
Host:example.amazonaws.com
   54         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
   55     35   
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.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sreq
   56     36   
deleted file mode 100644
   57     37   
index 4793e21..0000000
   58         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-order-value/get-vanilla-query-order-value.sreq
          38  +
++ /dev/null
   59     39   
@@ -1,4 +0,0 @@
   60         -
GET /?Param1=value2&Param1=value1 HTTP/1.1
   61         -
Host:example.amazonaws.com
   62         -
X-Amz-Date:20150830T123600Z
   63         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5772eed61e12b33fae39ee5e7012498b51d56abc0abb7c60486157bd471c4694
              \
 No newline at end of file
   64     40   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.authz
   65     41   
deleted file mode 100644
   66     42   
index a44ca5b..0000000
   67         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.authz
          43  +
++ /dev/null
   68     44   
@@ -1 +0,0 @@
   69         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
   70     45   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.authz
   71     46   
deleted file mode 100644
   72     47   
index 551c027..0000000
   73         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.authz
          48  +
++ /dev/null
   74     49   
@@ -1 +0,0 @@
   75         -
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
   76     50   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sreq
   77     51   
deleted file mode 100644
   78     52   
index d739b01..0000000
   79         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sreq
          53  +
++ /dev/null
   80     54   
@@ -1,4 +0,0 @@
   81         -
GET / HTTP/1.1
   82         -
Host:example.amazonaws.com
   83         -
X-Amz-Date:20150830T123600Z
   84         -
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
   85     55   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.authz
   86     56   
deleted file mode 100644
   87     57   
index e016c3d..0000000
   88         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.authz
          58  +
++ /dev/null
   89     59   
@@ -1 +0,0 @@
   90         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
   91     60   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sreq
   92     61   
deleted file mode 100644
   93     62   
index 7baf4c8..0000000
   94         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sreq
          63  +
++ /dev/null
   95     64   
@@ -1,4 +0,0 @@
   96         -
GET /?ሴ=bar HTTP/1.1
   97         -
Host:example.amazonaws.com
   98         -
X-Amz-Date:20150830T123600Z
   99         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
  100     65   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.authz
  101     66   
deleted file mode 100644
  102     67   
index 551c027..0000000
  103         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.authz
          68  +
++ /dev/null
  104     69   
@@ -1 +0,0 @@
  105         -
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
  106     70   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq
  107     71   
deleted file mode 100644
  108     72   
index d739b01..0000000
  109         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq
          73  +
++ /dev/null
  110     74   
@@ -1,4 +0,0 @@
  111         -
GET / HTTP/1.1
  112         -
Host:example.amazonaws.com
  113         -
X-Amz-Date:20150830T123600Z
  114         -
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
  115     75   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/iam/iam.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/iam/iam.creq
  116     76   
deleted file mode 100644
  117     77   
index 1336241..0000000
  118         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/iam/iam.creq
          78  +
++ /dev/null
  119     79   
@@ -1,4 +0,0 @@
  120         -
AWS4-HMAC-SHA256
  121         -
20150830T123600Z
  122         -
20150830/us-east-1/iam/aws4_request
  123         -
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59
  124     80   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.authz
  125     81   
deleted file mode 100644
  126     82   
index 551c027..0000000
  127         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.authz
          83  +
++ /dev/null
  128     84   
@@ -1 +0,0 @@
  129         -
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
  130     85   
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
  131     86   
deleted file mode 100644
  132     87   
index cbdebe2..0000000
  133         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sreq
          88  +
++ /dev/null
  134     89   
@@ -1,4 +0,0 @@
  135         -
GET /example1/example2/../.. HTTP/1.1
  136         -
Host:example.amazonaws.com
  137         -
X-Amz-Date:20150830T123600Z
  138         -
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
  139     90   
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
  140     91   
deleted file mode 100644
  141     92   
index 551c027..0000000
  142         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.authz
          93  +
++ /dev/null
  143     94   
@@ -1 +0,0 @@
  144         -
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
  145     95   
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
  146     96   
deleted file mode 100644
  147     97   
index 4f59e7d..0000000
  148         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sreq
          98  +
++ /dev/null
  149     99   
@@ -1,4 +0,0 @@
  150         -
GET /example/.. HTTP/1.1
  151         -
Host:example.amazonaws.com
  152         -
X-Amz-Date:20150830T123600Z
  153         -
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
  154    100   
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
  155    101   
deleted file mode 100644
  156    102   
index 551c027..0000000
  157         -
-- 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
         103  +
++ /dev/null
  158    104   
@@ -1 +0,0 @@
  159         -
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
  160    105   
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
  161    106   
deleted file mode 100644
  162    107   
index 23a2b41..0000000
  163         -
-- 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
         108  +
++ /dev/null
  164    109   
@@ -1,4 +0,0 @@
  165         -
GET /./ HTTP/1.1
  166         -
Host:example.amazonaws.com
  167         -
X-Amz-Date:20150830T123600Z
  168         -
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
  169    110   
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
  170    111   
deleted file mode 100644
  171    112   
index b76ca1e..0000000
  172         -
-- 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
         113  +
++ /dev/null
  173    114   
@@ -1 +0,0 @@
  174         -
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
  175    115   
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
  176    116   
deleted file mode 100644
  177    117   
index 8096609..0000000
  178         -
-- 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
         118  +
++ /dev/null
  179    119   
@@ -1,4 +0,0 @@
  180         -
GET /./example HTTP/1.1
  181         -
Host:example.amazonaws.com
  182         -
X-Amz-Date:20150830T123600Z
  183         -
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
  184    120   
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
  185    121   
deleted file mode 100644
  186    122   
index 551c027..0000000
  187         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.authz
         123  +
++ /dev/null
  188    124   
@@ -1 +0,0 @@
  189         -
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
  190    125   
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
  191    126   
deleted file mode 100644
  192    127   
index cde31b4..0000000
  193         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq
         128  +
++ /dev/null
  194    129   
@@ -1,4 +0,0 @@
  195         -
GET // HTTP/1.1
  196         -
Host:example.amazonaws.com
  197         -
X-Amz-Date:20150830T123600Z
  198         -
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
  199    130   
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
  200    131   
deleted file mode 100644
  201    132   
index 307c105..0000000
  202         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.authz
         133  +
++ /dev/null
  203    134   
@@ -1 +0,0 @@
  204         -
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
  205    135   
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
  206    136   
deleted file mode 100644
  207    137   
index c84a80d..0000000
  208         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq
         138  +
++ /dev/null
  209    139   
@@ -1,4 +0,0 @@
  210         -
GET //example// HTTP/1.1
  211         -
Host:example.amazonaws.com
  212         -
X-Amz-Date:20150830T123600Z
  213         -
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
  214    140   
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
  215    141   
deleted file mode 100644
  216    142   
index 832d8a5..0000000
  217         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz
         143  +
++ /dev/null
  218    144   
@@ -1 +0,0 @@
  219         -
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
  220    145   
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
  221    146   
deleted file mode 100644
  222    147   
index eefa20c..0000000
  223         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq
         148  +
++ /dev/null
  224    149   
@@ -1,4 +0,0 @@
  225         -
GET /example space/ HTTP/1.1
  226         -
Host:example.amazonaws.com
  227         -
X-Amz-Date:20150830T123600Z
  228         -
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
  229    150   
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
  230    151   
deleted file mode 100644
  231    152   
index c2fcb27..0000000
  232         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt
         153  +
++ /dev/null
  233    154   
@@ -1,3 +0,0 @@
  234         -
A note about signing requests to Amazon S3:
  235         -

  236         -
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
  237    155   
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
  238    156   
deleted file mode 100644
  239    157   
index 89e572e..0000000
  240         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz
         158  +
++ /dev/null
  241    159   
@@ -1 +0,0 @@
  242         -
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
  243    160   
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
  244    161   
deleted file mode 100644
  245    162   
index fcf23ce..0000000
  246         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq
         163  +
++ /dev/null
  247    164   
@@ -1,4 +0,0 @@
  248         -
POST / HTTP/1.1
  249         -
Host:example.amazonaws.com
  250         -
X-Amz-Date:20150830T123600Z
  251         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
  252    165   
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
  253    166   
deleted file mode 100644
  254    167   
index a62589f..0000000
  255         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz
         168  +
++ /dev/null
  256    169   
@@ -1 +0,0 @@
  257         -
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
  258    170   
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
  259    171   
deleted file mode 100644
  260    172   
index b4b78a1..0000000
  261         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq
         173  +
++ /dev/null
  262    174   
@@ -1,5 +0,0 @@
  263         -
POST / HTTP/1.1
  264         -
Host:example.amazonaws.com
  265         -
My-Header1:value1
  266         -
X-Amz-Date:20150830T123600Z
  267         -
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
  268    175   
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
  269    176   
deleted file mode 100644
  270    177   
index d9e52a3..0000000
  271         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz
         178  +
++ /dev/null
  272    179   
@@ -1 +0,0 @@
  273         -
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
  274    180   
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
  275    181   
deleted file mode 100644
  276    182   
index 99c3210..0000000
  277         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq
         183  +
++ /dev/null
  278    184   
@@ -1,5 +0,0 @@
  279         -
POST / HTTP/1.1
  280         -
Host:example.amazonaws.com
  281         -
My-Header1:VALUE1
  282         -
X-Amz-Date:20150830T123600Z
  283         -
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
  284    185   
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
  285    186   
deleted file mode 100644
  286    187   
index 89e572e..0000000
  287         -
-- 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
         188  +
++ /dev/null
  288    189   
@@ -1 +0,0 @@
  289         -
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
  290    190   
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
  291    191   
deleted file mode 100644
  292    192   
index 64aa046..0000000
  293         -
-- 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
         193  +
++ /dev/null
  294    194   
@@ -1 +0,0 @@
  295         -
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
  296    195   
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
  297    196   
deleted file mode 100644
  298    197   
index cc34282..0000000
  299         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt
         198  +
++ /dev/null
  300    199   
@@ -1,15 +0,0 @@
  301         -
A note about using temporary security credentials:
  302         -

  303         -
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).
  304         -

  305         -
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.
  306         -

  307         -
The test suite has 2 examples:
  308         -

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

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

  313         -
The test suite uses this example value for X-Amz-Security-Token:
  314         -

  315         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 No newline at end of file
  316    200   
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
  317    201   
deleted file mode 100644
  318    202   
index 44280cd..0000000
  319         -
-- 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
         203  +
++ /dev/null
  320    204   
@@ -1 +0,0 @@
  321         -
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
  322    205   
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
  323    206   
deleted file mode 100644
  324    207   
index 82af150..0000000
  325         -
-- 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
         208  +
++ /dev/null
  326    209   
@@ -1,4 +0,0 @@
  327         -
POST /?Param1=value1 HTTP/1.1
  328         -
Host:example.amazonaws.com
  329         -
X-Amz-Date:20150830T123600Z
  330         -
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
  331    210   
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
  332    211   
deleted file mode 100644
  333    212   
index 44280cd..0000000
  334         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.authz
         213  +
++ /dev/null
  335    214   
@@ -1 +0,0 @@
  336         -
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
  337    215   
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
  338    216   
deleted file mode 100644
  339    217   
index 82af150..0000000
  340         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
         218  +
++ /dev/null
  341    219   
@@ -1,4 +0,0 @@
  342         -
POST /?Param1=value1 HTTP/1.1
  343         -
Host:example.amazonaws.com
  344         -
X-Amz-Date:20150830T123600Z
  345         -
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
  346    220   
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
  347    221   
deleted file mode 100644
  348    222   
index 89e572e..0000000
  349         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
         223  +
++ /dev/null
  350    224   
@@ -1 +0,0 @@
  351         -
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
  352    225   
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
  353    226   
deleted file mode 100644
  354    227   
index a5ada0d..0000000
  355         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
         228  +
++ /dev/null
  356    229   
@@ -1,4 +0,0 @@
  357         -
POST / HTTP/1.1
  358         -
Host:example.amazonaws.com
  359         -
X-Amz-Date:20150830T123600Z
  360         -
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
  361    230   
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
  362    231   
deleted file mode 100644
  363    232   
index df90ca3..0000000
  364         -
-- 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
         233  +
++ /dev/null
  365    234   
@@ -1 +0,0 @@
  366         -
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
  367    235   
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
  368    236   
deleted file mode 100644
  369    237   
index 457b0d5..0000000
  370         -
-- 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
         238  +
++ /dev/null
  371    239   
@@ -1,9 +0,0 @@
  372         -
POST
  373         -
/
  374         -
Param1=value1
  375         -
content-type:application/x-www-form-urlencoded; charset=utf-8
  376         -
host:example.amazonaws.com
  377         -
x-amz-date:20150830T123600Z
  378         -
  379         -
content-type;host;x-amz-date
  380         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  381    240   
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
  382    241   
deleted file mode 100644
  383    242   
index b8ecb89..0000000
  384         -
-- 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
         243  +
++ /dev/null
  385    244   
@@ -1,7 +0,0 @@
  386         -
POST / HTTP/1.1
  387         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  388         -
Host:example.amazonaws.com
  389         -
X-Amz-Date:20150830T123600Z
  390         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  391         -
  392         -
Param1=value1
              \
 No newline at end of file
  393    245   
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
  394    246   
deleted file mode 100644
  395    247   
index 79077d2..0000000
  396         -
-- 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
         248  +
++ /dev/null
  397    249   
@@ -1 +0,0 @@
  398         -
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
  399    250   
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
  400    251   
deleted file mode 100644
  401    252   
index 7852617..0000000
  402         -
-- 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
         253  +
++ /dev/null
  403    254   
@@ -1,4 +0,0 @@
  404         -
POST / HTTP/1.1
  405         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  406         -
Host:example.amazonaws.com
  407         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  408    255   
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
  409    256   
deleted file mode 100644
  410    257   
index 3e2e571..0000000
  411         -
-- 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
         258  +
++ /dev/null
  412    259   
@@ -1,4 +0,0 @@
  413         -
POST / HTTP/1.1
  414         -
Host:example.amazonaws.com
  415         -
X-Amz-Date:20150830T123600Z
  416         -
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
  417    260   
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
  418    261   
deleted file mode 100644
  419    262   
index 89ceae8..0000000
  420         -
-- 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
         263  +
++ /dev/null
  421    264   
@@ -1,4 +0,0 @@
  422         -
AWS4-HMAC-SHA256
  423         -
20150830T123600Z
  424         -
20150830/us-east-1/service/aws4_request
  425         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  426    265   
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
  427    266   
deleted file mode 100755
  428    267   
index d645695..0000000
  429         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
         268  +
++ /dev/null
  430    269   
@@ -1,202 +0,0 @@
  431         -
  432         -
                                 Apache License
  433         -
                           Version 2.0, January 2004
  434         -
                        http://www.apache.org/licenses/
  435         -
  436         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  437         -
  438         -
   1. Definitions.
  439         -
  440         -
      "License" shall mean the terms and conditions for use, reproduction,
  441         -
      and distribution as defined by Sections 1 through 9 of this document.
  442         -
  443         -
      "Licensor" shall mean the copyright owner or entity authorized by
  444         -
      the copyright owner that is granting the License.
  445         -
  446         -
      "Legal Entity" shall mean the union of the acting entity and all
  447         -
      other entities that control, are controlled by, or are under common
  448         -
      control with that entity. For the purposes of this definition,
  449         -
      "control" means (i) the power, direct or indirect, to cause the
  450         -
      direction or management of such entity, whether by contract or
  451         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  452         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  453         -
  454         -
      "You" (or "Your") shall mean an individual or Legal Entity
  455         -
      exercising permissions granted by this License.
  456         -
  457         -
      "Source" form shall mean the preferred form for making modifications,
  458         -
      including but not limited to software source code, documentation
  459         -
      source, and configuration files.
  460         -
  461         -
      "Object" form shall mean any form resulting from mechanical
  462         -
      transformation or translation of a Source form, including but
  463         -
      not limited to compiled object code, generated documentation,
  464         -
      and conversions to other media types.
  465         -
  466         -
      "Work" shall mean the work of authorship, whether in Source or
  467         -
      Object form, made available under the License, as indicated by a
  468         -
      copyright notice that is included in or attached to the work
  469         -
      (an example is provided in the Appendix below).
  470         -
  471         -
      "Derivative Works" shall mean any work, whether in Source or Object
  472         -
      form, that is based on (or derived from) the Work and for which the
  473         -
      editorial revisions, annotations, elaborations, or other modifications
  474         -
      represent, as a whole, an original work of authorship. For the purposes
  475         -
      of this License, Derivative Works shall not include works that remain
  476         -
      separable from, or merely link (or bind by name) to the interfaces of,
  477         -
      the Work and Derivative Works thereof.
  478         -
  479         -
      "Contribution" shall mean any work of authorship, including
  480         -
      the original version of the Work and any modifications or additions
  481         -
      to that Work or Derivative Works thereof, that is intentionally
  482         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  483         -
      or by an individual or Legal Entity authorized to submit on behalf of
  484         -
      the copyright owner. For the purposes of this definition, "submitted"
  485         -
      means any form of electronic, verbal, or written communication sent
  486         -
      to the Licensor or its representatives, including but not limited to
  487         -
      communication on electronic mailing lists, source code control systems,
  488         -
      and issue tracking systems that are managed by, or on behalf of, the
  489         -
      Licensor for the purpose of discussing and improving the Work, but
  490         -
      excluding communication that is conspicuously marked or otherwise
  491         -
      designated in writing by the copyright owner as "Not a Contribution."
  492         -
  493         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  494         -
      on behalf of whom a Contribution has been received by Licensor and
  495         -
      subsequently incorporated within the Work.
  496         -
  497         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  498         -
      this License, each Contributor hereby grants to You a perpetual,
  499         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  500         -
      copyright license to reproduce, prepare Derivative Works of,
  501         -
      publicly display, publicly perform, sublicense, and distribute the
  502         -
      Work and such Derivative Works in Source or Object form.
  503         -
  504         -
   3. Grant of Patent License. Subject to the terms and conditions of
  505         -
      this License, each Contributor hereby grants to You a perpetual,
  506         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  507         -
      (except as stated in this section) patent license to make, have made,
  508         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  509         -
      where such license applies only to those patent claims licensable
  510         -
      by such Contributor that are necessarily infringed by their
  511         -
      Contribution(s) alone or by combination of their Contribution(s)
  512         -
      with the Work to which such Contribution(s) was submitted. If You
  513         -
      institute patent litigation against any entity (including a
  514         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  515         -
      or a Contribution incorporated within the Work constitutes direct
  516         -
      or contributory patent infringement, then any patent licenses
  517         -
      granted to You under this License for that Work shall terminate
  518         -
      as of the date such litigation is filed.
  519         -
  520         -
   4. Redistribution. You may reproduce and distribute copies of the
  521         -
      Work or Derivative Works thereof in any medium, with or without
  522         -
      modifications, and in Source or Object form, provided that You
  523         -
      meet the following conditions:
  524         -
  525         -
      (a) You must give any other recipients of the Work or
  526         -
          Derivative Works a copy of this License; and
  527         -
  528         -
      (b) You must cause any modified files to carry prominent notices
  529         -
          stating that You changed the files; and
  530         -
  531         -
      (c) You must retain, in the Source form of any Derivative Works
  532         -
          that You distribute, all copyright, patent, trademark, and
  533         -
          attribution notices from the Source form of the Work,
  534         -
          excluding those notices that do not pertain to any part of
  535         -
          the Derivative Works; and
  536         -
  537         -
      (d) If the Work includes a "NOTICE" text file as part of its
  538         -
          distribution, then any Derivative Works that You distribute must
  539         -
          include a readable copy of the attribution notices contained
  540         -
          within such NOTICE file, excluding those notices that do not
  541         -
          pertain to any part of the Derivative Works, in at least one
  542         -
          of the following places: within a NOTICE text file distributed
  543         -
          as part of the Derivative Works; within the Source form or
  544         -
          documentation, if provided along with the Derivative Works; or,
  545         -
          within a display generated by the Derivative Works, if and
  546         -
          wherever such third-party notices normally appear. The contents
  547         -
          of the NOTICE file are for informational purposes only and
  548         -
          do not modify the License. You may add Your own attribution
  549         -
          notices within Derivative Works that You distribute, alongside
  550         -
          or as an addendum to the NOTICE text from the Work, provided
  551         -
          that such additional attribution notices cannot be construed
  552         -
          as modifying the License.
  553         -
  554         -
      You may add Your own copyright statement to Your modifications and
  555         -
      may provide additional or different license terms and conditions
  556         -
      for use, reproduction, or distribution of Your modifications, or
  557         -
      for any such Derivative Works as a whole, provided Your use,
  558         -
      reproduction, and distribution of the Work otherwise complies with
  559         -
      the conditions stated in this License.
  560         -
  561         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  562         -
      any Contribution intentionally submitted for inclusion in the Work
  563         -
      by You to the Licensor shall be under the terms and conditions of
  564         -
      this License, without any additional terms or conditions.
  565         -
      Notwithstanding the above, nothing herein shall supersede or modify
  566         -
      the terms of any separate license agreement you may have executed
  567         -
      with Licensor regarding such Contributions.
  568         -
  569         -
   6. Trademarks. This License does not grant permission to use the trade
  570         -
      names, trademarks, service marks, or product names of the Licensor,
  571         -
      except as required for reasonable and customary use in describing the
  572         -
      origin of the Work and reproducing the content of the NOTICE file.
  573         -
  574         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  575         -
      agreed to in writing, Licensor provides the Work (and each
  576         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  577         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  578         -
      implied, including, without limitation, any warranties or conditions
  579         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  580         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  581         -
      appropriateness of using or redistributing the Work and assume any
  582         -
      risks associated with Your exercise of permissions under this License.
  583         -
  584         -
   8. Limitation of Liability. In no event and under no legal theory,
  585         -
      whether in tort (including negligence), contract, or otherwise,
  586         -
      unless required by applicable law (such as deliberate and grossly
  587         -
      negligent acts) or agreed to in writing, shall any Contributor be
  588         -
      liable to You for damages, including any direct, indirect, special,
  589         -
      incidental, or consequential damages of any character arising as a
  590         -
      result of this License or out of the use or inability to use the
  591         -
      Work (including but not limited to damages for loss of goodwill,
  592         -
      work stoppage, computer failure or malfunction, or any and all
  593         -
      other commercial damages or losses), even if such Contributor
  594         -
      has been advised of the possibility of such damages.
  595         -
  596         -
   9. Accepting Warranty or Additional Liability. While redistributing
  597         -
      the Work or Derivative Works thereof, You may choose to offer,
  598         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  599         -
      or other liability obligations and/or rights consistent with this
  600         -
      License. However, in accepting such obligations, You may act only
  601         -
      on Your own behalf and on Your sole responsibility, not on behalf
  602         -
      of any other Contributor, and only if You agree to indemnify,
  603         -
      defend, and hold each Contributor harmless for any liability
  604         -
      incurred by, or claims asserted against, such Contributor by reason
  605         -
      of your accepting any such warranty or additional liability.
  606         -
  607         -
   END OF TERMS AND CONDITIONS
  608         -
  609         -
   APPENDIX: How to apply the Apache License to your work.
  610         -
  611         -
      To apply the Apache License to your work, attach the following
  612         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  613         -
      replaced with your own identifying information. (Don't include
  614         -
      the brackets!)  The text should be enclosed in the appropriate
  615         -
      comment syntax for the file format. We also recommend that a
  616         -
      file or class name and description of purpose be included on the
  617         -
      same "printed page" as the copyright notice for easier
  618         -
      identification within third-party archives.
  619         -
  620         -
   Copyright [yyyy] [name of copyright owner]
  621         -
  622         -
   Licensed under the Apache License, Version 2.0 (the "License");
  623         -
   you may not use this file except in compliance with the License.
  624         -
   You may obtain a copy of the License at
  625         -
  626         -
       http://www.apache.org/licenses/LICENSE-2.0
  627         -
  628         -
   Unless required by applicable law or agreed to in writing, software
  629         -
   distributed under the License is distributed on an "AS IS" BASIS,
  630         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  631         -
   See the License for the specific language governing permissions and
  632         -
   limitations under the License.
  633    270   
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
  634    271   
deleted file mode 100755
  635    272   
index d85f69e..0000000
  636         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
         273  +
++ /dev/null
  637    274   
@@ -1,2 +0,0 @@
  638         -
AWS Signature Version 4a Test Suite
  639         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  640    275   
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
  641    276   
deleted file mode 100644
  642    277   
index c716622..0000000
  643         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
         278  +
++ /dev/null
  644    279   
@@ -1,24 +0,0 @@
  645         -
Where did the files in this directory come from?
  646         -
================================================
  647         -
  648         -
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.
  649         -
  650         -
Signature Version 4A Test Suite
  651         -
------------------------------
  652         -
  653         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  654         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  655         -
  656         -
Each test group contains several files that you can use to validate most of the tasks described in
  657         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  658         -
  659         -
- context.json - Credentials and signer options to use when signing test requests
  660         -
- request.txt - The web request to be signed.
  661         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  662         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  663         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  664         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  665         -
  666         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  667         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  668         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  669    280   
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
  670    281   
deleted file mode 100644
  671    282   
index 45771c7..0000000
  672         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
         283  +
++ /dev/null
  673    284   
@@ -1,12 +0,0 @@
  674         -
{
  675         -
    "credentials": {
  676         -
        "access_key_id": "AKIDEXAMPLE",
  677         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  678         -
    },
  679         -
    "expiration_in_seconds": 3600,
  680         -
    "normalize": true,
  681         -
    "region": "us-east-1",
  682         -
    "service": "service",
  683         -
    "sign_body": false,
  684         -
    "timestamp": "2015-08-30T12:36:00Z"
  685         -
}
  686    285   
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
  687    286   
deleted file mode 100644
  688    287   
index 45771c7..0000000
  689         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
         288  +
++ /dev/null
  690    289   
@@ -1,12 +0,0 @@
  691         -
{
  692         -
    "credentials": {
  693         -
        "access_key_id": "AKIDEXAMPLE",
  694         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  695         -
    },
  696         -
    "expiration_in_seconds": 3600,
  697         -
    "normalize": true,
  698         -
    "region": "us-east-1",
  699         -
    "service": "service",
  700         -
    "sign_body": false,
  701         -
    "timestamp": "2015-08-30T12:36:00Z"
  702         -
}
  703    290   
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
  704    291   
deleted file mode 100644
  705    292   
index 45771c7..0000000
  706         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         293  +
++ /dev/null
  707    294   
@@ -1,12 +0,0 @@
  708         -
{
  709         -
    "credentials": {
  710         -
        "access_key_id": "AKIDEXAMPLE",
  711         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  712         -
    },
  713         -
    "expiration_in_seconds": 3600,
  714         -
    "normalize": true,
  715         -
    "region": "us-east-1",
  716         -
    "service": "service",
  717         -
    "sign_body": false,
  718         -
    "timestamp": "2015-08-30T12:36:00Z"
  719         -
}
  720    295   
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
  721    296   
deleted file mode 100644
  722    297   
index 45771c7..0000000
  723         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         298  +
++ /dev/null
  724    299   
@@ -1,12 +0,0 @@
  725         -
{
  726         -
    "credentials": {
  727         -
        "access_key_id": "AKIDEXAMPLE",
  728         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  729         -
    },
  730         -
    "expiration_in_seconds": 3600,
  731         -
    "normalize": true,
  732         -
    "region": "us-east-1",
  733         -
    "service": "service",
  734         -
    "sign_body": false,
  735         -
    "timestamp": "2015-08-30T12:36:00Z"
  736         -
}
  737    300   
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
  738    301   
deleted file mode 100644
  739    302   
index afe367b..0000000
  740         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         303  +
++ /dev/null
  741    304   
@@ -1,12 +0,0 @@
  742         -
{
  743         -
    "credentials": {
  744         -
        "access_key_id": "AKIDEXAMPLE",
  745         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  746         -
    },
  747         -
    "expiration_in_seconds": 3600,
  748         -
    "normalize": false,
  749         -
    "region": "us-east-1",
  750         -
    "service": "service",
  751         -
    "sign_body": false,
  752         -
    "timestamp": "2015-08-30T12:36:00Z"
  753         -
}
  754    305   
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
  755    306   
deleted file mode 100644
  756    307   
index 45771c7..0000000
  757         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         308  +
++ /dev/null
  758    309   
@@ -1,12 +0,0 @@
  759         -
{
  760         -
    "credentials": {
  761         -
        "access_key_id": "AKIDEXAMPLE",
  762         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  763         -
    },
  764         -
    "expiration_in_seconds": 3600,
  765         -
    "normalize": true,
  766         -
    "region": "us-east-1",
  767         -
    "service": "service",
  768         -
    "sign_body": false,
  769         -
    "timestamp": "2015-08-30T12:36:00Z"
  770         -
}
  771    310   
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
  772    311   
deleted file mode 100644
  773    312   
index afe367b..0000000
  774         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         313  +
++ /dev/null
  775    314   
@@ -1,12 +0,0 @@
  776         -
{
  777         -
    "credentials": {
  778         -
        "access_key_id": "AKIDEXAMPLE",
  779         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  780         -
    },
  781         -
    "expiration_in_seconds": 3600,
  782         -
    "normalize": false,
  783         -
    "region": "us-east-1",
  784         -
    "service": "service",
  785         -
    "sign_body": false,
  786         -
    "timestamp": "2015-08-30T12:36:00Z"
  787         -
}
  788    315   
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
  789    316   
deleted file mode 100644
  790    317   
index 45771c7..0000000
  791         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         318  +
++ /dev/null
  792    319   
@@ -1,12 +0,0 @@
  793         -
{
  794         -
    "credentials": {
  795         -
        "access_key_id": "AKIDEXAMPLE",
  796         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  797         -
    },
  798         -
    "expiration_in_seconds": 3600,
  799         -
    "normalize": true,
  800         -
    "region": "us-east-1",
  801         -
    "service": "service",
  802         -
    "sign_body": false,
  803         -
    "timestamp": "2015-08-30T12:36:00Z"
  804         -
}
  805    320   
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
  806    321   
deleted file mode 100644
  807    322   
index 45771c7..0000000
  808         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         323  +
++ /dev/null
  809    324   
@@ -1,12 +0,0 @@
  810         -
{
  811         -
    "credentials": {
  812         -
        "access_key_id": "AKIDEXAMPLE",
  813         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  814         -
    },
  815         -
    "expiration_in_seconds": 3600,
  816         -
    "normalize": true,
  817         -
    "region": "us-east-1",
  818         -
    "service": "service",
  819         -
    "sign_body": false,
  820         -
    "timestamp": "2015-08-30T12:36:00Z"
  821         -
}
  822    325   
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
  823    326   
deleted file mode 100644
  824    327   
index 45771c7..0000000
  825         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         328  +
++ /dev/null
  826    329   
@@ -1,12 +0,0 @@
  827         -
{
  828         -
    "credentials": {
  829         -
        "access_key_id": "AKIDEXAMPLE",
  830         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  831         -
    },
  832         -
    "expiration_in_seconds": 3600,
  833         -
    "normalize": true,
  834         -
    "region": "us-east-1",
  835         -
    "service": "service",
  836         -
    "sign_body": false,
  837         -
    "timestamp": "2015-08-30T12:36:00Z"
  838         -
}
  839    330   
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
  840    331   
deleted file mode 100644
  841    332   
index 45771c7..0000000
  842         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         333  +
++ /dev/null
  843    334   
@@ -1,12 +0,0 @@
  844         -
{
  845         -
    "credentials": {
  846         -
        "access_key_id": "AKIDEXAMPLE",
  847         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  848         -
    },
  849         -
    "expiration_in_seconds": 3600,
  850         -
    "normalize": true,
  851         -
    "region": "us-east-1",
  852         -
    "service": "service",
  853         -
    "sign_body": false,
  854         -
    "timestamp": "2015-08-30T12:36:00Z"
  855         -
}
  856    335   
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
  857    336   
deleted file mode 100644
  858    337   
index 45771c7..0000000
  859         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         338  +
++ /dev/null
  860    339   
@@ -1,12 +0,0 @@
  861         -
{
  862         -
    "credentials": {
  863         -
        "access_key_id": "AKIDEXAMPLE",
  864         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  865         -
    },
  866         -
    "expiration_in_seconds": 3600,
  867         -
    "normalize": true,
  868         -
    "region": "us-east-1",
  869         -
    "service": "service",
  870         -
    "sign_body": false,
  871         -
    "timestamp": "2015-08-30T12:36:00Z"
  872         -
}
  873    340   
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
  874    341   
deleted file mode 100644
  875    342   
index 47e7128..0000000
  876         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         343  +
++ /dev/null
  877    344   
@@ -1,9 +0,0 @@
  878         -
GET
  879         -
/
  880         -
  881         -
host:example.amazonaws.com
  882         -
x-amz-date:20150830T123600Z
  883         -
x-amz-region-set:us-east-1
  884         -
  885         -
host;x-amz-date;x-amz-region-set
  886         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  887    345   
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
  888    346   
deleted file mode 100644
  889    347   
index 95d7219..0000000
  890         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         348  +
++ /dev/null
  891    349   
@@ -1,4 +0,0 @@
  892         -
AWS4-ECDSA-P256-SHA256
  893         -
20150830T123600Z
  894         -
20150830/service/aws4_request
  895         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  896    350   
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
  897    351   
deleted file mode 100644
  898    352   
index a34ea26..0000000
  899         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         353  +
++ /dev/null
  900    354   
@@ -1,7 +0,0 @@
  901         -
GET
  902         -
/
  903         -
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
  904         -
host:example.amazonaws.com
  905         -
  906         -
host
  907         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  908    355   
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
  909    356   
deleted file mode 100644
  910    357   
index 48f855c..0000000
  911         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         358  +
++ /dev/null
  912    359   
@@ -1,4 +0,0 @@
  913         -
AWS4-ECDSA-P256-SHA256
  914         -
20150830T123600Z
  915         -
20150830/service/aws4_request
  916         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  917    360   
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
  918    361   
deleted file mode 100644
  919    362   
index 45771c7..0000000
  920         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         363  +
++ /dev/null
  921    364   
@@ -1,12 +0,0 @@
  922         -
{
  923         -
    "credentials": {
  924         -
        "access_key_id": "AKIDEXAMPLE",
  925         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  926         -
    },
  927         -
    "expiration_in_seconds": 3600,
  928         -
    "normalize": true,
  929         -
    "region": "us-east-1",
  930         -
    "service": "service",
  931         -
    "sign_body": false,
  932         -
    "timestamp": "2015-08-30T12:36:00Z"
  933         -
}
  934    365   
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
  935    366   
deleted file mode 100644
  936    367   
index 47e7128..0000000
  937         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         368  +
++ /dev/null
  938    369   
@@ -1,9 +0,0 @@
  939         -
GET
  940         -
/
  941         -
  942         -
host:example.amazonaws.com
  943         -
x-amz-date:20150830T123600Z
  944         -
x-amz-region-set:us-east-1
  945         -
  946         -
host;x-amz-date;x-amz-region-set
  947         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  948    370   
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
  949    371   
deleted file mode 100644
  950    372   
index 95d7219..0000000
  951         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         373  +
++ /dev/null
  952    374   
@@ -1,4 +0,0 @@
  953         -
AWS4-ECDSA-P256-SHA256
  954         -
20150830T123600Z
  955         -
20150830/service/aws4_request
  956         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  957    375   
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
  958    376   
deleted file mode 100644
  959    377   
index a34ea26..0000000
  960         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         378  +
++ /dev/null
  961    379   
@@ -1,7 +0,0 @@
  962         -
GET
  963         -
/
  964         -
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
  965         -
host:example.amazonaws.com
  966         -
  967         -
host
  968         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  969    380   
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
  970    381   
deleted file mode 100644
  971    382   
index 48f855c..0000000
  972         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         383  +
++ /dev/null
  973    384   
@@ -1,4 +0,0 @@
  974         -
AWS4-ECDSA-P256-SHA256
  975         -
20150830T123600Z
  976         -
20150830/service/aws4_request
  977         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  978    385   
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
  979    386   
deleted file mode 100644
  980    387   
index 45771c7..0000000
  981         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         388  +
++ /dev/null
  982    389   
@@ -1,12 +0,0 @@
  983         -
{
  984         -
    "credentials": {
  985         -
        "access_key_id": "AKIDEXAMPLE",
  986         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  987         -
    },
  988         -
    "expiration_in_seconds": 3600,
  989         -
    "normalize": true,
  990         -
    "region": "us-east-1",
  991         -
    "service": "service",
  992         -
    "sign_body": false,
  993         -
    "timestamp": "2015-08-30T12:36:00Z"
  994         -
}
  995    390   
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
  996    391   
deleted file mode 100644
  997    392   
index 45771c7..0000000
  998         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         393  +
++ /dev/null
  999    394   
@@ -1,12 +0,0 @@
 1000         -
{
 1001         -
    "credentials": {
 1002         -
        "access_key_id": "AKIDEXAMPLE",
 1003         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1004         -
    },
 1005         -
    "expiration_in_seconds": 3600,
 1006         -
    "normalize": true,
 1007         -
    "region": "us-east-1",
 1008         -
    "service": "service",
 1009         -
    "sign_body": false,
 1010         -
    "timestamp": "2015-08-30T12:36:00Z"
 1011         -
}
 1012    395   
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
 1013    396   
deleted file mode 100644
 1014    397   
index 45771c7..0000000
 1015         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         398  +
++ /dev/null
 1016    399   
@@ -1,12 +0,0 @@
 1017         -
{
 1018         -
    "credentials": {
 1019         -
        "access_key_id": "AKIDEXAMPLE",
 1020         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1021         -
    },
 1022         -
    "expiration_in_seconds": 3600,
 1023         -
    "normalize": true,
 1024         -
    "region": "us-east-1",
 1025         -
    "service": "service",
 1026         -
    "sign_body": false,
 1027         -
    "timestamp": "2015-08-30T12:36:00Z"
 1028         -
}
 1029    400   
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
 1030    401   
deleted file mode 100644
 1031    402   
index 45771c7..0000000
 1032         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         403  +
++ /dev/null
 1033    404   
@@ -1,12 +0,0 @@
 1034         -
{
 1035         -
    "credentials": {
 1036         -
        "access_key_id": "AKIDEXAMPLE",
 1037         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1038         -
    },
 1039         -
    "expiration_in_seconds": 3600,
 1040         -
    "normalize": true,
 1041         -
    "region": "us-east-1",
 1042         -
    "service": "service",
 1043         -
    "sign_body": false,
 1044         -
    "timestamp": "2015-08-30T12:36:00Z"
 1045         -
}
 1046    405   
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
 1047    406   
deleted file mode 100644
 1048    407   
index 45771c7..0000000
 1049         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         408  +
++ /dev/null
 1050    409   
@@ -1,12 +0,0 @@
 1051         -
{
 1052         -
    "credentials": {
 1053         -
        "access_key_id": "AKIDEXAMPLE",
 1054         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1055         -
    },
 1056         -
    "expiration_in_seconds": 3600,
 1057         -
    "normalize": true,
 1058         -
    "region": "us-east-1",
 1059         -
    "service": "service",
 1060         -
    "sign_body": false,
 1061         -
    "timestamp": "2015-08-30T12:36:00Z"
 1062         -
}
 1063    410   
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
 1064    411   
deleted file mode 100644
 1065    412   
index 45771c7..0000000
 1066         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         413  +
++ /dev/null
 1067    414   
@@ -1,12 +0,0 @@
 1068         -
{
 1069         -
    "credentials": {
 1070         -
        "access_key_id": "AKIDEXAMPLE",
 1071         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1072         -
    },
 1073         -
    "expiration_in_seconds": 3600,
 1074         -
    "normalize": true,
 1075         -
    "region": "us-east-1",
 1076         -
    "service": "service",
 1077         -
    "sign_body": false,
 1078         -
    "timestamp": "2015-08-30T12:36:00Z"
 1079         -
}
 1080    415   
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
 1081    416   
deleted file mode 100644
 1082    417   
index b6fdecf..0000000
 1083         -
-- 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
         418  +
++ /dev/null
 1084    419   
@@ -1,4 +0,0 @@
 1085         -
AWS4-ECDSA-P256-SHA256
 1086         -
20150830T123600Z
 1087         -
20150830/service/aws4_request
 1088         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
 1089    420   
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
 1090    421   
deleted file mode 100644
 1091    422   
index a300bea..0000000
 1092         -
-- 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
         423  +
++ /dev/null
 1093    424   
@@ -1,4 +0,0 @@
 1094         -
AWS4-ECDSA-P256-SHA256
 1095         -
20150830T123600Z
 1096         -
20150830/service/aws4_request
 1097         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
 1098    425   
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
 1099    426   
deleted file mode 100644
 1100    427   
index b6fdecf..0000000
 1101         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         428  +
++ /dev/null
 1102    429   
@@ -1,4 +0,0 @@
 1103         -
AWS4-ECDSA-P256-SHA256
 1104         -
20150830T123600Z
 1105         -
20150830/service/aws4_request
 1106         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
 1107    430   
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
 1108    431   
new file mode 100644
 1109    432   
index 0000000..a674243
 1110         -
-- /dev/null
         433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
 1111    434   
@@ -0,0 +1,7 @@
         435  +
# AWS SigV4 and SigV4A Signing Test Suite
         436  +
         437  +
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).
         438  +
         439  +
We added the following changes:
         440  +
         441  +
* 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
 1112    442   
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
 1113    443   
similarity index 100%
 1114    444   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
 1115    445   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
 1116    446   
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
 1117    447   
similarity index 100%
 1118    448   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
 1119    449   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
 1120    450   
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
 1121    451   
similarity index 100%
 1122    452   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
 1123    453   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
 1124    454   
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
 1125    455   
similarity index 100%
 1126    456   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
 1127    457   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
 1128    458   
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
 1129    459   
similarity index 100%
 1130    460   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
 1131    461   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
 1132    462   
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
 1133    463   
similarity index 100%
 1134    464   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
 1135    465   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
 1136    466   
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
 1137    467   
similarity index 100%
 1138    468   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
 1139    469   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
 1140    470   
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
 1141    471   
similarity index 99%
 1142    472   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
 1143    473   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
 1144    474   
index 45771c7..0468d80 100644
 1145    475   
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
 1146    476   
similarity index 100%
 1147    477   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
 1148    478   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
 1149    479   
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
 1150    480   
new file mode 100644
 1151    481   
index 0000000..7fc5d7a
 1152         -
-- /dev/null
         482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
 1153    483   
@@ -0,0 +1 @@
         484  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
 1154    485   
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
 1155    486   
new file mode 100644
 1156    487   
index 0000000..36a1205
 1157         -
-- /dev/null
         488  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
 1158    489   
@@ -0,0 +1,8 @@
         490  +
GET / HTTP/1.1
         491  +
Host:example.amazonaws.com
         492  +
My-Header1:value2
         493  +
My-Header1:value2
         494  +
My-Header1:value1
         495  +
X-Amz-Date:20150830T123600Z
         496  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         497  +
 1159    498   
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
 1160    499   
similarity index 100%
 1161    500   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
 1162    501   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
 1163    502   
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
 1164    503   
new file mode 100644
 1165    504   
index 0000000..f9f4190
 1166         -
-- /dev/null
         505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
 1167    506   
@@ -0,0 +1,8 @@
         507  +
GET
         508  +
/
         509  +
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
         510  +
host:example.amazonaws.com
         511  +
my-header1:value2,value2,value1
         512  +
         513  +
host;my-header1
         514  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1168    515   
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
 1169    516   
new file mode 100644
 1170    517   
index 0000000..5d0d87f
 1171         -
-- /dev/null
         518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
 1172    519   
@@ -0,0 +1 @@
         520  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
 1173    521   
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
 1174    522   
new file mode 100644
 1175    523   
index 0000000..c1dfcf4
 1176         -
-- /dev/null
         524  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1177    525   
@@ -0,0 +1,6 @@
         526  +
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
         527  +
Host:example.amazonaws.com
         528  +
My-Header1:value2
         529  +
My-Header1:value2
         530  +
My-Header1:value1
         531  +
 1178    532   
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
 1179    533   
similarity index 53%
 1180    534   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
 1181    535   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1182    536   
index 0a3350a..077c1bb 100644
 1183         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         537  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1184    538   
@@ -1,4 +1,4 @@
 1185    539   
AWS4-HMAC-SHA256
 1186    540   
20150830T123600Z
 1187    541   
20150830/us-east-1/service/aws4_request
 1188         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         542  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1189    543   
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
 1190    544   
similarity index 100%
 1191    545   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1192    546   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1193    547   
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
 1194    548   
similarity index 99%
 1195    549   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1196    550   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1197    551   
index 45771c7..0468d80 100644
 1198    552   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1199    553   
similarity index 82%
 1200    554   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1201    555   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1202    556   
index 721a39f..8cb5476 100644
 1203         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         557  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1204    558   
@@ -1,9 +1,9 @@
 1205    559   
GET
 1206    560   
/
 1207    561   
 1208    562   
host:example.amazonaws.com
 1209         -
my-header1:value1,value2,value3
         563  +
my-header1:value1 value2 value3
 1210    564   
x-amz-date:20150830T123600Z
 1211    565   
 1212    566   
host;my-header1;x-amz-date
 1213    567   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1214    568   
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
 1215    569   
new file mode 100644
 1216    570   
index 0000000..e6ff7a9
 1217         -
-- /dev/null
         571  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1218    572   
@@ -0,0 +1 @@
         573  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1219    574   
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
 1220    575   
new file mode 100644
 1221    576   
index 0000000..b5ef6a0
 1222         -
-- /dev/null
         577  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1223    578   
@@ -0,0 +1,8 @@
         579  +
GET / HTTP/1.1
         580  +
Host:example.amazonaws.com
         581  +
My-Header1:value1
         582  +
  value2
         583  +
     value3
         584  +
X-Amz-Date:20150830T123600Z
         585  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         586  +
 1224    587   
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
 1225    588   
similarity index 53%
 1226    589   
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
 1227    590   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1228    591   
index fd43a41..97c7430 100644
 1229         -
-- 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
         592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1230    593   
@@ -1,4 +1,4 @@
 1231    594   
AWS4-HMAC-SHA256
 1232    595   
20150830T123600Z
 1233    596   
20150830/us-east-1/service/aws4_request
 1234         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         597  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1235    598   
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
 1236    599   
new file mode 100644
 1237    600   
index 0000000..aac46de
 1238         -
-- /dev/null
         601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1239    602   
@@ -0,0 +1,8 @@
         603  +
GET
         604  +
/
         605  +
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
         606  +
host:example.amazonaws.com
         607  +
my-header1:value1 value2 value3
         608  +
         609  +
host;my-header1
         610  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1240    611   
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
 1241    612   
new file mode 100644
 1242    613   
index 0000000..205732d
 1243         -
-- /dev/null
         614  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1244    615   
@@ -0,0 +1 @@
         616  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1245    617   
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
 1246    618   
new file mode 100644
 1247    619   
index 0000000..a891b87
 1248         -
-- /dev/null
         620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1249    621   
@@ -0,0 +1,6 @@
         622  +
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
         623  +
Host:example.amazonaws.com
         624  +
My-Header1:value1
         625  +
  value2
         626  +
     value3
         627  +
 1250    628   
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
 1251    629   
similarity index 53%
 1252    630   
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
 1253    631   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1254    632   
index 90e66b8..ec3fe45 100644
 1255         -
-- 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
         633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1256    634   
@@ -1,4 +1,4 @@
 1257    635   
AWS4-HMAC-SHA256
 1258    636   
20150830T123600Z
 1259    637   
20150830/us-east-1/service/aws4_request
 1260         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         638  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1261    639   
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
 1262    640   
similarity index 75%
 1263    641   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1264    642   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1265    643   
index 7caa6ac..b5026cd 100644
 1266         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         644  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1267    645   
@@ -1,6 +1,5 @@
 1268    646   
GET / HTTP/1.1
 1269    647   
Host:example.amazonaws.com
 1270    648   
My-Header1:value1
 1271    649   
  value2
 1272    650   
     value3
 1273         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1274    651   
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
 1275    652   
similarity index 99%
 1276    653   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1277    654   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1278    655   
index 45771c7..0468d80 100644
 1279    656   
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
 1280    657   
similarity index 100%
 1281    658   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1282    659   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1283    660   
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
 1284    661   
new file mode 100644
 1285    662   
index 0000000..8ef0494
 1286         -
-- /dev/null
         663  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1287    664   
@@ -0,0 +1 @@
         665  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1288    666   
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
 1289    667   
new file mode 100644
 1290    668   
index 0000000..b786dc9
 1291         -
-- /dev/null
         669  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1292    670   
@@ -0,0 +1,9 @@
         671  +
GET / HTTP/1.1
         672  +
Host:example.amazonaws.com
         673  +
My-Header1:value4
         674  +
My-Header1:value1
         675  +
My-Header1:value3
         676  +
My-Header1:value2
         677  +
X-Amz-Date:20150830T123600Z
         678  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         679  +
 1293    680   
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
 1294    681   
similarity index 100%
 1295    682   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1296    683   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1297    684   
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
 1298    685   
new file mode 100644
 1299    686   
index 0000000..a211cc5
 1300         -
-- /dev/null
         687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1301    688   
@@ -0,0 +1,8 @@
         689  +
GET
         690  +
/
         691  +
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
         692  +
host:example.amazonaws.com
         693  +
my-header1:value4,value1,value3,value2
         694  +
         695  +
host;my-header1
         696  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1302    697   
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
 1303    698   
new file mode 100644
 1304    699   
index 0000000..417b0fa
 1305         -
-- /dev/null
         700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1306    701   
@@ -0,0 +1 @@
         702  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1307    703   
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
 1308    704   
new file mode 100644
 1309    705   
index 0000000..b615e5d
 1310         -
-- /dev/null
         706  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1311    707   
@@ -0,0 +1,7 @@
         708  +
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
         709  +
Host:example.amazonaws.com
         710  +
My-Header1:value4
         711  +
My-Header1:value1
         712  +
My-Header1:value3
         713  +
My-Header1:value2
         714  +
 1312    715   
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
 1313    716   
similarity index 53%
 1314    717   
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
 1315    718   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1316    719   
index f7e615e..dcaaa1b 100644
 1317         -
-- 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
         720  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1318    721   
@@ -1,4 +1,4 @@
 1319    722   
AWS4-HMAC-SHA256
 1320    723   
20150830T123600Z
 1321    724   
20150830/us-east-1/service/aws4_request
 1322         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         725  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1323    726   
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
 1324    727   
similarity index 100%
 1325    728   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1326    729   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1327    730   
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
 1328    731   
similarity index 99%
 1329    732   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1330    733   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1331    734   
index 45771c7..0468d80 100644
 1332    735   
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
 1333    736   
similarity index 100%
 1334    737   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1335    738   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1336    739   
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
 1337    740   
new file mode 100644
 1338    741   
index 0000000..36081a9
 1339         -
-- /dev/null
         742  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1340    743   
@@ -0,0 +1 @@
         744  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1341    745   
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
 1342    746   
new file mode 100644
 1343    747   
index 0000000..6331d16
 1344         -
-- /dev/null
         748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1345    749   
@@ -0,0 +1,7 @@
         750  +
GET / HTTP/1.1
         751  +
Host:example.amazonaws.com
         752  +
My-Header1: value1
         753  +
My-Header2: "a   b   c"
         754  +
X-Amz-Date:20150830T123600Z
         755  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         756  +
 1346    757   
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
 1347    758   
similarity index 100%
 1348    759   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1349    760   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1350    761   
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
 1351    762   
new file mode 100644
 1352    763   
index 0000000..125c1f9
 1353         -
-- /dev/null
         764  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1354    765   
@@ -0,0 +1,9 @@
         766  +
GET
         767  +
/
         768  +
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
         769  +
host:example.amazonaws.com
         770  +
my-header1:value1
         771  +
my-header2:"a b c"
         772  +
         773  +
host;my-header1;my-header2
         774  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1355    775   
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
 1356    776   
new file mode 100644
 1357    777   
index 0000000..17007a8
 1358         -
-- /dev/null
         778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1359    779   
@@ -0,0 +1 @@
         780  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1360    781   
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
 1361    782   
new file mode 100644
 1362    783   
index 0000000..e519fd9
 1363         -
-- /dev/null
         784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1364    785   
@@ -0,0 +1,5 @@
         786  +
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
         787  +
Host:example.amazonaws.com
         788  +
My-Header1: value1
         789  +
My-Header2: "a   b   c"
         790  +
 1365    791   
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
 1366    792   
new file mode 100644
 1367    793   
index 0000000..6b4b781
 1368         -
-- /dev/null
         794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1369    795   
@@ -0,0 +1,4 @@
         796  +
AWS4-HMAC-SHA256
         797  +
20150830T123600Z
         798  +
20150830/us-east-1/service/aws4_request
         799  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1370    800   
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
 1371    801   
similarity index 100%
 1372    802   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1373    803   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1374    804   
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
 1375    805   
new file mode 100644
 1376    806   
index 0000000..0468d80
 1377         -
-- /dev/null
         807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1378    808   
@@ -0,0 +1,12 @@
         809  +
{
         810  +
    "credentials": {
         811  +
        "access_key_id": "AKIDEXAMPLE",
         812  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         813  +
    },
         814  +
    "expiration_in_seconds": 3600,
         815  +
    "normalize": true,
         816  +
    "region": "us-east-1",
         817  +
    "service": "service",
         818  +
    "sign_body": false,
         819  +
    "timestamp": "2015-08-30T12:36:00Z"
         820  +
}
              \
 No newline at end of file
 1379    821   
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
 1380    822   
similarity index 100%
 1381    823   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1382    824   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1383    825   
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
 1384    826   
new file mode 100644
 1385    827   
index 0000000..87f295f
 1386         -
-- /dev/null
         828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1387    829   
@@ -0,0 +1 @@
         830  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1388    831   
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
 1389    832   
new file mode 100644
 1390    833   
index 0000000..0de8327
 1391         -
-- /dev/null
         834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1392    835   
@@ -0,0 +1,5 @@
         836  +
GET /example/.. HTTP/1.1
         837  +
Host:example.amazonaws.com
         838  +
X-Amz-Date:20150830T123600Z
         839  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         840  +
 1393    841   
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
 1394    842   
similarity index 100%
 1395    843   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1396    844   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1397    845   
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
 1398    846   
new file mode 100644
 1399    847   
index 0000000..fb2420d
 1400         -
-- /dev/null
         848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1401    849   
@@ -0,0 +1,7 @@
         850  +
GET
         851  +
/
         852  +
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
         853  +
host:example.amazonaws.com
         854  +
         855  +
host
         856  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1402    857   
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
 1403    858   
new file mode 100644
 1404    859   
index 0000000..da5c905
 1405         -
-- /dev/null
         860  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1406    861   
@@ -0,0 +1 @@
         862  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1407    863   
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
 1408    864   
new file mode 100644
 1409    865   
index 0000000..4329c98
 1410         -
-- /dev/null
         866  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1411    867   
@@ -0,0 +1,3 @@
         868  +
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
         869  +
Host:example.amazonaws.com
         870  +
 1412    871   
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
 1413    872   
new file mode 100644
 1414    873   
index 0000000..d837e67
 1415         -
-- /dev/null
         874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1416    875   
@@ -0,0 +1,4 @@
         876  +
AWS4-HMAC-SHA256
         877  +
20150830T123600Z
         878  +
20150830/us-east-1/service/aws4_request
         879  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1417    880   
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
 1418    881   
similarity index 100%
 1419    882   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1420    883   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1421    884   
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
 1422    885   
new file mode 100644
 1423    886   
index 0000000..0468d80
 1424         -
-- /dev/null
         887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1425    888   
@@ -0,0 +1,12 @@
         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  +
}
              \
 No newline at end of file
 1426    901   
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
 1427    902   
similarity index 100%
 1428    903   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1429    904   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1430    905   
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
 1431    906   
new file mode 100644
 1432    907   
index 0000000..87f295f
 1433         -
-- /dev/null
         908  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1434    909   
@@ -0,0 +1 @@
         910  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1435    911   
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
 1436    912   
new file mode 100644
 1437    913   
index 0000000..f9b3815
 1438         -
-- /dev/null
         914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1439    915   
@@ -0,0 +1,5 @@
         916  +
GET /example1/example2/../.. HTTP/1.1
         917  +
Host:example.amazonaws.com
         918  +
X-Amz-Date:20150830T123600Z
         919  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         920  +
 1440    921   
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
 1441    922   
similarity index 100%
 1442    923   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1443    924   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1444    925   
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
 1445    926   
new file mode 100644
 1446    927   
index 0000000..fb2420d
 1447         -
-- /dev/null
         928  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1448    929   
@@ -0,0 +1,7 @@
         930  +
GET
         931  +
/
         932  +
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
         933  +
host:example.amazonaws.com
         934  +
         935  +
host
         936  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1449    937   
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
 1450    938   
new file mode 100644
 1451    939   
index 0000000..da5c905
 1452         -
-- /dev/null
         940  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1453    941   
@@ -0,0 +1 @@
         942  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1454    943   
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
 1455    944   
new file mode 100644
 1456    945   
index 0000000..b2988b7
 1457         -
-- /dev/null
         946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1458    947   
@@ -0,0 +1,3 @@
         948  +
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
         949  +
Host:example.amazonaws.com
         950  +
 1459    951   
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
 1460    952   
new file mode 100644
 1461    953   
index 0000000..d837e67
 1462         -
-- /dev/null
         954  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1463    955   
@@ -0,0 +1,4 @@
         956  +
AWS4-HMAC-SHA256
         957  +
20150830T123600Z
         958  +
20150830/us-east-1/service/aws4_request
         959  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1464    960   
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
 1465    961   
similarity index 100%
 1466    962   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1467    963   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1468    964   
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
 1469    965   
similarity index 99%
 1470    966   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1471    967   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1472    968   
index afe367b..7bee5c7 100644
 1473    969   
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
 1474    970   
similarity index 82%
 1475    971   
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
 1476    972   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1477    973   
index 36c3cdf..6919c44 100644
 1478         -
-- 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
         974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1479    975   
@@ -1,8 +1,8 @@
 1480    976   
GET
 1481         -
/
 1482         -
Param1=Value1&Param1=value2
         977  +
/example1/example2/../..
         978  +
 1483    979   
host:example.amazonaws.com
 1484    980   
x-amz-date:20150830T123600Z
 1485    981   
 1486    982   
host;x-amz-date
 1487    983   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1488    984   
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
 1489    985   
new file mode 100644
 1490    986   
index 0000000..4092d83
 1491         -
-- /dev/null
         987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1492    988   
@@ -0,0 +1 @@
         989  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1493    990   
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
 1494    991   
new file mode 100644
 1495    992   
index 0000000..e731b35
 1496         -
-- /dev/null
         993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1497    994   
@@ -0,0 +1,5 @@
         995  +
GET /example1/example2/../.. HTTP/1.1
         996  +
Host:example.amazonaws.com
         997  +
X-Amz-Date:20150830T123600Z
         998  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
         999  +
 1498   1000   
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
 1499   1001   
new file mode 100644
 1500   1002   
index 0000000..4f45752
 1501         -
-- /dev/null
        1003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1502   1004   
@@ -0,0 +1,4 @@
        1005  +
AWS4-HMAC-SHA256
        1006  +
20150830T123600Z
        1007  +
20150830/us-east-1/service/aws4_request
        1008  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1503   1009   
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
 1504   1010   
new file mode 100644
 1505   1011   
index 0000000..e1fb07d
 1506         -
-- /dev/null
        1012  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1507   1013   
@@ -0,0 +1,7 @@
        1014  +
GET
        1015  +
/example1/example2/../..
        1016  +
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
        1017  +
host:example.amazonaws.com
        1018  +
        1019  +
host
        1020  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1508   1021   
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
 1509   1022   
new file mode 100644
 1510   1023   
index 0000000..8ac31d7
 1511         -
-- /dev/null
        1024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1512   1025   
@@ -0,0 +1 @@
        1026  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1513   1027   
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
 1514   1028   
new file mode 100644
 1515   1029   
index 0000000..ac074f9
 1516         -
-- /dev/null
        1030  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1517   1031   
@@ -0,0 +1,3 @@
        1032  +
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
        1033  +
Host:example.amazonaws.com
        1034  +
 1518   1035   
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
 1519   1036   
new file mode 100644
 1520   1037   
index 0000000..8dcb6ff
 1521         -
-- /dev/null
        1038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1522   1039   
@@ -0,0 +1,4 @@
        1040  +
AWS4-HMAC-SHA256
        1041  +
20150830T123600Z
        1042  +
20150830/us-east-1/service/aws4_request
        1043  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1523   1044   
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
 1524   1045   
similarity index 100%
 1525   1046   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1526   1047   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1527   1048   
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
 1528   1049   
similarity index 99%
 1529   1050   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1530   1051   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1531   1052   
index afe367b..7bee5c7 100644
 1532   1053   
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
 1533   1054   
similarity index 82%
 1534   1055   
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
 1535   1056   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1536   1057   
index 26898eb..f640bc2 100644
 1537         -
-- 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
        1058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1538   1059   
@@ -1,8 +1,8 @@
 1539   1060   
GET
 1540         -
/
 1541         -
Param1=value1&Param1=value2
        1061  +
/example/..
        1062  +
 1542   1063   
host:example.amazonaws.com
 1543   1064   
x-amz-date:20150830T123600Z
 1544   1065   
 1545   1066   
host;x-amz-date
 1546   1067   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1547   1068   
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
 1548   1069   
new file mode 100644
 1549   1070   
index 0000000..d957303
 1550         -
-- /dev/null
        1071  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1551   1072   
@@ -0,0 +1 @@
        1073  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1552   1074   
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
 1553   1075   
new file mode 100644
 1554   1076   
index 0000000..4f42ffc
 1555         -
-- /dev/null
        1077  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1556   1078   
@@ -0,0 +1,5 @@
        1079  +
GET /example/.. HTTP/1.1
        1080  +
Host:example.amazonaws.com
        1081  +
X-Amz-Date:20150830T123600Z
        1082  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
        1083  +
 1557   1084   
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
 1558   1085   
new file mode 100644
 1559   1086   
index 0000000..ca54bda
 1560         -
-- /dev/null
        1087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1561   1088   
@@ -0,0 +1,4 @@
        1089  +
AWS4-HMAC-SHA256
        1090  +
20150830T123600Z
        1091  +
20150830/us-east-1/service/aws4_request
        1092  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1562   1093   
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
 1563   1094   
new file mode 100644
 1564   1095   
index 0000000..dc80036
 1565         -
-- /dev/null
        1096  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1566   1097   
@@ -0,0 +1,7 @@
        1098  +
GET
        1099  +
/example/..
        1100  +
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
        1101  +
host:example.amazonaws.com
        1102  +
        1103  +
host
        1104  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1567   1105   
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
 1568   1106   
new file mode 100644
 1569   1107   
index 0000000..dfa0437
 1570         -
-- /dev/null
        1108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1571   1109   
@@ -0,0 +1 @@
        1110  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1572   1111   
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
 1573   1112   
new file mode 100644
 1574   1113   
index 0000000..98367b1
 1575         -
-- /dev/null
        1114  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1576   1115   
@@ -0,0 +1,3 @@
        1116  +
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
        1117  +
Host:example.amazonaws.com
        1118  +
 1577   1119   
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
 1578   1120   
new file mode 100644
 1579   1121   
index 0000000..f65dd66
 1580         -
-- /dev/null
        1122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1581   1123   
@@ -0,0 +1,4 @@
        1124  +
AWS4-HMAC-SHA256
        1125  +
20150830T123600Z
        1126  +
20150830/us-east-1/service/aws4_request
        1127  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1582   1128   
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
 1583   1129   
similarity index 100%
 1584   1130   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1585   1131   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1586   1132   
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
 1587   1133   
new file mode 100644
 1588   1134   
index 0000000..0468d80
 1589         -
-- /dev/null
        1135  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1590   1136   
@@ -0,0 +1,12 @@
        1137  +
{
        1138  +
    "credentials": {
        1139  +
        "access_key_id": "AKIDEXAMPLE",
        1140  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1141  +
    },
        1142  +
    "expiration_in_seconds": 3600,
        1143  +
    "normalize": true,
        1144  +
    "region": "us-east-1",
        1145  +
    "service": "service",
        1146  +
    "sign_body": false,
        1147  +
    "timestamp": "2015-08-30T12:36:00Z"
        1148  +
}
              \
 No newline at end of file
 1591   1149   
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
 1592   1150   
similarity index 100%
 1593   1151   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1594   1152   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1595   1153   
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
 1596   1154   
new file mode 100644
 1597   1155   
index 0000000..87f295f
 1598         -
-- /dev/null
        1156  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1599   1157   
@@ -0,0 +1 @@
        1158  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1600   1159   
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
 1601   1160   
new file mode 100644
 1602   1161   
index 0000000..99c8eeb
 1603         -
-- /dev/null
        1162  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1604   1163   
@@ -0,0 +1,5 @@
        1164  +
GET /./ HTTP/1.1
        1165  +
Host:example.amazonaws.com
        1166  +
X-Amz-Date:20150830T123600Z
        1167  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1168  +
 1605   1169   
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
 1606   1170   
similarity index 100%
 1607   1171   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1608   1172   
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
 1609   1173   
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
 1610   1174   
new file mode 100644
 1611   1175   
index 0000000..fb2420d
 1612         -
-- /dev/null
        1176  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1613   1177   
@@ -0,0 +1,7 @@
        1178  +
GET
        1179  +
/
        1180  +
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
        1181  +
host:example.amazonaws.com
        1182  +
        1183  +
host
        1184  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1614   1185   
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
 1615   1186   
new file mode 100644
 1616   1187   
index 0000000..da5c905
 1617         -
-- /dev/null
        1188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1618   1189   
@@ -0,0 +1 @@
        1190  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1619   1191   
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
 1620   1192   
new file mode 100644
 1621   1193   
index 0000000..2e47f69
 1622         -
-- /dev/null
        1194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1623   1195   
@@ -0,0 +1,3 @@
        1196  +
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
        1197  +
Host:example.amazonaws.com
        1198  +
 1624   1199   
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
 1625   1200   
new file mode 100644
 1626   1201   
index 0000000..d837e67
 1627         -
-- /dev/null
        1202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1628   1203   
@@ -0,0 +1,4 @@
        1204  +
AWS4-HMAC-SHA256
        1205  +
20150830T123600Z
        1206  +
20150830/us-east-1/service/aws4_request
        1207  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1629   1208   
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
 1630   1209   
similarity index 100%
 1631   1210   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1632   1211   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1633   1212   
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
 1634   1213   
similarity index 99%
 1635   1214   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1636   1215   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1637   1216   
index afe367b..7bee5c7 100644
 1638   1217   
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
 1639   1218   
new file mode 100644
 1640   1219   
index 0000000..5159048
 1641         -
-- /dev/null
        1220  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1642   1221   
@@ -0,0 +1,8 @@
        1222  +
GET
        1223  +
/./
        1224  +
        1225  +
host:example.amazonaws.com
        1226  +
x-amz-date:20150830T123600Z
        1227  +
        1228  +
host;x-amz-date
        1229  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1643   1230   
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
 1644   1231   
new file mode 100644
 1645   1232   
index 0000000..b49ff0e
 1646         -
-- /dev/null
        1233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1647   1234   
@@ -0,0 +1 @@
        1235  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1648   1236   
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
 1649   1237   
new file mode 100644
 1650   1238   
index 0000000..aeb1ffa
 1651         -
-- /dev/null
        1239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1652   1240   
@@ -0,0 +1,5 @@
        1241  +
GET /./ HTTP/1.1
        1242  +
Host:example.amazonaws.com
        1243  +
X-Amz-Date:20150830T123600Z
        1244  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1245  +
 1653   1246   
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
 1654   1247   
new file mode 100644
 1655   1248   
index 0000000..b7d8caf
 1656         -
-- /dev/null
        1249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1657   1250   
@@ -0,0 +1,4 @@
        1251  +
AWS4-HMAC-SHA256
        1252  +
20150830T123600Z
        1253  +
20150830/us-east-1/service/aws4_request
        1254  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1658   1255   
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
 1659   1256   
new file mode 100644
 1660   1257   
index 0000000..d4e029e
 1661         -
-- /dev/null
        1258  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1662   1259   
@@ -0,0 +1,7 @@
        1260  +
GET
        1261  +
/./
        1262  +
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
        1263  +
host:example.amazonaws.com
        1264  +
        1265  +
host
        1266  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1663   1267   
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
 1664   1268   
new file mode 100644
 1665   1269   
index 0000000..fe8f4cc
 1666         -
-- /dev/null
        1270  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1667   1271   
@@ -0,0 +1 @@
        1272  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1668   1273   
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
 1669   1274   
new file mode 100644
 1670   1275   
index 0000000..dcc4fc4
 1671         -
-- /dev/null
        1276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1672   1277   
@@ -0,0 +1,3 @@
        1278  +
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
        1279  +
Host:example.amazonaws.com
        1280  +
 1673   1281   
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
 1674   1282   
new file mode 100644
 1675   1283   
index 0000000..5fb3ada
 1676         -
-- /dev/null
        1284  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1677   1285   
@@ -0,0 +1,4 @@
        1286  +
AWS4-HMAC-SHA256
        1287  +
20150830T123600Z
        1288  +
20150830/us-east-1/service/aws4_request
        1289  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1678   1290   
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
 1679   1291   
similarity index 100%
 1680   1292   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1681   1293   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1682   1294   
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
 1683   1295   
new file mode 100644
 1684   1296   
index 0000000..0468d80
 1685         -
-- /dev/null
        1297  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1686   1298   
@@ -0,0 +1,12 @@
        1299  +
{
        1300  +
    "credentials": {
        1301  +
        "access_key_id": "AKIDEXAMPLE",
        1302  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1303  +
    },
        1304  +
    "expiration_in_seconds": 3600,
        1305  +
    "normalize": true,
        1306  +
    "region": "us-east-1",
        1307  +
    "service": "service",
        1308  +
    "sign_body": false,
        1309  +
    "timestamp": "2015-08-30T12:36:00Z"
        1310  +
}
              \
 No newline at end of file
 1687   1311   
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
 1688   1312   
similarity index 100%
 1689   1313   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1690   1314   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1691   1315   
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
 1692   1316   
new file mode 100644
 1693   1317   
index 0000000..87f295f
 1694         -
-- /dev/null
        1318  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1695   1319   
@@ -0,0 +1 @@
        1320  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1696   1321   
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
 1697   1322   
new file mode 100644
 1698   1323   
index 0000000..b91087b
 1699         -
-- /dev/null
        1324  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1700   1325   
@@ -0,0 +1,5 @@
        1326  +
GET // HTTP/1.1
        1327  +
Host:example.amazonaws.com
        1328  +
X-Amz-Date:20150830T123600Z
        1329  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1330  +
 1701   1331   
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
 1702   1332   
similarity index 100%
 1703   1333   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1704   1334   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1705   1335   
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
 1706   1336   
new file mode 100644
 1707   1337   
index 0000000..fb2420d
 1708         -
-- /dev/null
        1338  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1709   1339   
@@ -0,0 +1,7 @@
        1340  +
GET
        1341  +
/
        1342  +
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
        1343  +
host:example.amazonaws.com
        1344  +
        1345  +
host
        1346  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1710   1347   
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
 1711   1348   
new file mode 100644
 1712   1349   
index 0000000..da5c905
 1713         -
-- /dev/null
        1350  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1714   1351   
@@ -0,0 +1 @@
        1352  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1715   1353   
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
 1716   1354   
new file mode 100644
 1717   1355   
index 0000000..0290ba4
 1718         -
-- /dev/null
        1356  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1719   1357   
@@ -0,0 +1,3 @@
        1358  +
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
        1359  +
Host:example.amazonaws.com
        1360  +
 1720   1361   
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
 1721   1362   
new file mode 100644
 1722   1363   
index 0000000..d837e67
 1723         -
-- /dev/null
        1364  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1724   1365   
@@ -0,0 +1,4 @@
        1366  +
AWS4-HMAC-SHA256
        1367  +
20150830T123600Z
        1368  +
20150830/us-east-1/service/aws4_request
        1369  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1725   1370   
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
 1726   1371   
similarity index 100%
 1727   1372   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1728   1373   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1729   1374   
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
 1730   1375   
new file mode 100644
 1731   1376   
index 0000000..0468d80
 1732         -
-- /dev/null
        1377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1733   1378   
@@ -0,0 +1,12 @@
        1379  +
{
        1380  +
    "credentials": {
        1381  +
        "access_key_id": "AKIDEXAMPLE",
        1382  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1383  +
    },
        1384  +
    "expiration_in_seconds": 3600,
        1385  +
    "normalize": true,
        1386  +
    "region": "us-east-1",
        1387  +
    "service": "service",
        1388  +
    "sign_body": false,
        1389  +
    "timestamp": "2015-08-30T12:36:00Z"
        1390  +
}
              \
 No newline at end of file
 1734   1391   
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
 1735   1392   
similarity index 100%
 1736   1393   
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
 1737   1394   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1738   1395   
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
 1739   1396   
new file mode 100644
 1740   1397   
index 0000000..8f892bf
 1741         -
-- /dev/null
        1398  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1742   1399   
@@ -0,0 +1 @@
        1400  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1743   1401   
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
 1744   1402   
new file mode 100644
 1745   1403   
index 0000000..2a1895c
 1746         -
-- /dev/null
        1404  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1747   1405   
@@ -0,0 +1,5 @@
        1406  +
GET /./example HTTP/1.1
        1407  +
Host:example.amazonaws.com
        1408  +
X-Amz-Date:20150830T123600Z
        1409  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1410  +
 1748   1411   
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
 1749   1412   
similarity index 100%
 1750   1413   
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
 1751   1414   
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
 1752   1415   
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
 1753   1416   
new file mode 100644
 1754   1417   
index 0000000..99dfc2a
 1755         -
-- /dev/null
        1418  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1756   1419   
@@ -0,0 +1,7 @@
        1420  +
GET
        1421  +
/example
        1422  +
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
        1423  +
host:example.amazonaws.com
        1424  +
        1425  +
host
        1426  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1757   1427   
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
 1758   1428   
new file mode 100644
 1759   1429   
index 0000000..fcd7a17
 1760         -
-- /dev/null
        1430  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1761   1431   
@@ -0,0 +1 @@
        1432  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1762   1433   
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
 1763   1434   
new file mode 100644
 1764   1435   
index 0000000..f671de2
 1765         -
-- /dev/null
        1436  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1766   1437   
@@ -0,0 +1,3 @@
        1438  +
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
        1439  +
Host:example.amazonaws.com
        1440  +
 1767   1441   
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
 1768   1442   
new file mode 100644
 1769   1443   
index 0000000..f8456dc
 1770         -
-- /dev/null
        1444  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1771   1445   
@@ -0,0 +1,4 @@
        1446  +
AWS4-HMAC-SHA256
        1447  +
20150830T123600Z
        1448  +
20150830/us-east-1/service/aws4_request
        1449  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1772   1450   
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
 1773   1451   
similarity index 100%
 1774   1452   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1775   1453   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1776   1454   
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
 1777   1455   
similarity index 99%
 1778   1456   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1779   1457   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1780   1458   
index afe367b..7bee5c7 100644
 1781   1459   
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
 1782   1460   
new file mode 100644
 1783   1461   
index 0000000..36698c7
 1784         -
-- /dev/null
        1462  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1785   1463   
@@ -0,0 +1,8 @@
        1464  +
GET
        1465  +
/./example
        1466  +
        1467  +
host:example.amazonaws.com
        1468  +
x-amz-date:20150830T123600Z
        1469  +
        1470  +
host;x-amz-date
        1471  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1786   1472   
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
 1787   1473   
new file mode 100644
 1788   1474   
index 0000000..4a4b8f2
 1789         -
-- /dev/null
        1475  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1790   1476   
@@ -0,0 +1 @@
        1477  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1791   1478   
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
 1792   1479   
new file mode 100644
 1793   1480   
index 0000000..d462bcd
 1794         -
-- /dev/null
        1481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1795   1482   
@@ -0,0 +1,5 @@
        1483  +
GET /./example HTTP/1.1
        1484  +
Host:example.amazonaws.com
        1485  +
X-Amz-Date:20150830T123600Z
        1486  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1487  +
 1796   1488   
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
 1797   1489   
new file mode 100644
 1798   1490   
index 0000000..8be78c9
 1799         -
-- /dev/null
        1491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1800   1492   
@@ -0,0 +1,4 @@
        1493  +
AWS4-HMAC-SHA256
        1494  +
20150830T123600Z
        1495  +
20150830/us-east-1/service/aws4_request
        1496  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1801   1497   
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
 1802   1498   
new file mode 100644
 1803   1499   
index 0000000..fe1103c
 1804         -
-- /dev/null
        1500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1805   1501   
@@ -0,0 +1,7 @@
        1502  +
GET
        1503  +
/./example
        1504  +
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
        1505  +
host:example.amazonaws.com
        1506  +
        1507  +
host
        1508  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1806   1509   
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
 1807   1510   
new file mode 100644
 1808   1511   
index 0000000..ce80762
 1809         -
-- /dev/null
        1512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1810   1513   
@@ -0,0 +1 @@
        1514  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1811   1515   
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
 1812   1516   
new file mode 100644
 1813   1517   
index 0000000..30841a6
 1814         -
-- /dev/null
        1518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1815   1519   
@@ -0,0 +1,3 @@
        1520  +
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
        1521  +
Host:example.amazonaws.com
        1522  +
 1816   1523   
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
 1817   1524   
new file mode 100644
 1818   1525   
index 0000000..5c66509
 1819         -
-- /dev/null
        1526  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1820   1527   
@@ -0,0 +1,4 @@
        1528  +
AWS4-HMAC-SHA256
        1529  +
20150830T123600Z
        1530  +
20150830/us-east-1/service/aws4_request
        1531  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1821   1532   
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
 1822   1533   
similarity index 100%
 1823   1534   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1824   1535   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1825   1536   
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
 1826   1537   
new file mode 100644
 1827   1538   
index 0000000..7bee5c7
 1828         -
-- /dev/null
        1539  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1829   1540   
@@ -0,0 +1,12 @@
        1541  +
{
        1542  +
    "credentials": {
        1543  +
        "access_key_id": "AKIDEXAMPLE",
        1544  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1545  +
    },
        1546  +
    "expiration_in_seconds": 3600,
        1547  +
    "normalize": false,
        1548  +
    "region": "us-east-1",
        1549  +
    "service": "service",
        1550  +
    "sign_body": false,
        1551  +
    "timestamp": "2015-08-30T12:36:00Z"
        1552  +
}
              \
 No newline at end of file
 1830   1553   
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
 1831   1554   
new file mode 100644
 1832   1555   
index 0000000..5860c8a
 1833         -
-- /dev/null
        1556  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1834   1557   
@@ -0,0 +1,8 @@
        1558  +
GET
        1559  +
//
        1560  +
        1561  +
host:example.amazonaws.com
        1562  +
x-amz-date:20150830T123600Z
        1563  +
        1564  +
host;x-amz-date
        1565  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1835   1566   
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
 1836   1567   
new file mode 100644
 1837   1568   
index 0000000..8310471
 1838         -
-- /dev/null
        1569  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1839   1570   
@@ -0,0 +1 @@
        1571  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1840   1572   
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
 1841   1573   
new file mode 100644
 1842   1574   
index 0000000..2a7afef
 1843         -
-- /dev/null
        1575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1844   1576   
@@ -0,0 +1,5 @@
        1577  +
GET // HTTP/1.1
        1578  +
Host:example.amazonaws.com
        1579  +
X-Amz-Date:20150830T123600Z
        1580  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1581  +
 1845   1582   
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
 1846   1583   
new file mode 100644
 1847   1584   
index 0000000..06059dd
 1848         -
-- /dev/null
        1585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1849   1586   
@@ -0,0 +1,4 @@
        1587  +
AWS4-HMAC-SHA256
        1588  +
20150830T123600Z
        1589  +
20150830/us-east-1/service/aws4_request
        1590  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1850   1591   
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
 1851   1592   
new file mode 100644
 1852   1593   
index 0000000..6d63aef
 1853         -
-- /dev/null
        1594  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1854   1595   
@@ -0,0 +1,7 @@
        1596  +
GET
        1597  +
//
        1598  +
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
        1599  +
host:example.amazonaws.com
        1600  +
        1601  +
host
        1602  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1855   1603   
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
 1856   1604   
new file mode 100644
 1857   1605   
index 0000000..e5b7b6c
 1858         -
-- /dev/null
        1606  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1859   1607   
@@ -0,0 +1 @@
        1608  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1860   1609   
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
 1861   1610   
new file mode 100644
 1862   1611   
index 0000000..46fe3fd
 1863         -
-- /dev/null
        1612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1864   1613   
@@ -0,0 +1,3 @@
        1614  +
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
        1615  +
Host:example.amazonaws.com
        1616  +
 1865   1617   
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
 1866   1618   
new file mode 100644
 1867   1619   
index 0000000..ea79940
 1868         -
-- /dev/null
        1620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1869   1621   
@@ -0,0 +1,4 @@
        1622  +
AWS4-HMAC-SHA256
        1623  +
20150830T123600Z
        1624  +
20150830/us-east-1/service/aws4_request
        1625  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1870   1626   
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
 1871   1627   
similarity index 100%
 1872   1628   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1873   1629   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1874   1630   
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
 1875   1631   
new file mode 100644
 1876   1632   
index 0000000..0468d80
 1877         -
-- /dev/null
        1633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1878   1634   
@@ -0,0 +1,12 @@
        1635  +
{
        1636  +
    "credentials": {
        1637  +
        "access_key_id": "AKIDEXAMPLE",
        1638  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1639  +
    },
        1640  +
    "expiration_in_seconds": 3600,
        1641  +
    "normalize": true,
        1642  +
    "region": "us-east-1",
        1643  +
    "service": "service",
        1644  +
    "sign_body": false,
        1645  +
    "timestamp": "2015-08-30T12:36:00Z"
        1646  +
}
              \
 No newline at end of file
 1879   1647   
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
 1880   1648   
similarity index 100%
 1881   1649   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1882   1650   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1883   1651   
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
 1884   1652   
new file mode 100644
 1885   1653   
index 0000000..71c7bac
 1886         -
-- /dev/null
        1654  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1887   1655   
@@ -0,0 +1 @@
        1656  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1888   1657   
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
 1889   1658   
new file mode 100644
 1890   1659   
index 0000000..0add1f1
 1891         -
-- /dev/null
        1660  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1892   1661   
@@ -0,0 +1,5 @@
        1662  +
GET //example// HTTP/1.1
        1663  +
Host:example.amazonaws.com
        1664  +
X-Amz-Date:20150830T123600Z
        1665  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1666  +
 1893   1667   
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
 1894   1668   
similarity index 100%
 1895   1669   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1896   1670   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1897   1671   
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
 1898   1672   
new file mode 100644
 1899   1673   
index 0000000..ce72510
 1900         -
-- /dev/null
        1674  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1901   1675   
@@ -0,0 +1,7 @@
        1676  +
GET
        1677  +
/example/
        1678  +
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
        1679  +
host:example.amazonaws.com
        1680  +
        1681  +
host
        1682  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1902   1683   
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
 1903   1684   
new file mode 100644
 1904   1685   
index 0000000..265f387
 1905         -
-- /dev/null
        1686  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1906   1687   
@@ -0,0 +1 @@
        1688  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1907   1689   
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
 1908   1690   
new file mode 100644
 1909   1691   
index 0000000..e1fcb2e
 1910         -
-- /dev/null
        1692  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1911   1693   
@@ -0,0 +1,3 @@
        1694  +
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
        1695  +
Host:example.amazonaws.com
        1696  +
 1912   1697   
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
 1913   1698   
new file mode 100644
 1914   1699   
index 0000000..a14de61
 1915         -
-- /dev/null
        1700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1916   1701   
@@ -0,0 +1,4 @@
        1702  +
AWS4-HMAC-SHA256
        1703  +
20150830T123600Z
        1704  +
20150830/us-east-1/service/aws4_request
        1705  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1917   1706   
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
 1918   1707   
similarity index 100%
 1919   1708   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1920   1709   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1921   1710   
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
 1922   1711   
new file mode 100644
 1923   1712   
index 0000000..7bee5c7
 1924         -
-- /dev/null
        1713  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1925   1714   
@@ -0,0 +1,12 @@
        1715  +
{
        1716  +
    "credentials": {
        1717  +
        "access_key_id": "AKIDEXAMPLE",
        1718  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1719  +
    },
        1720  +
    "expiration_in_seconds": 3600,
        1721  +
    "normalize": false,
        1722  +
    "region": "us-east-1",
        1723  +
    "service": "service",
        1724  +
    "sign_body": false,
        1725  +
    "timestamp": "2015-08-30T12:36:00Z"
        1726  +
}
              \
 No newline at end of file
 1926   1727   
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
 1927   1728   
new file mode 100644
 1928   1729   
index 0000000..dfffaaf
 1929         -
-- /dev/null
        1730  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1930   1731   
@@ -0,0 +1,8 @@
        1732  +
GET
        1733  +
//example//
        1734  +
        1735  +
host:example.amazonaws.com
        1736  +
x-amz-date:20150830T123600Z
        1737  +
        1738  +
host;x-amz-date
        1739  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1931   1740   
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
 1932   1741   
new file mode 100644
 1933   1742   
index 0000000..edbcc0d
 1934         -
-- /dev/null
        1743  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1935   1744   
@@ -0,0 +1 @@
        1745  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1936   1746   
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
 1937   1747   
new file mode 100644
 1938   1748   
index 0000000..4cc12dd
 1939         -
-- /dev/null
        1749  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1940   1750   
@@ -0,0 +1,5 @@
        1751  +
GET //example// HTTP/1.1
        1752  +
Host:example.amazonaws.com
        1753  +
X-Amz-Date:20150830T123600Z
        1754  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1755  +
 1941   1756   
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
 1942   1757   
new file mode 100644
 1943   1758   
index 0000000..3eba390
 1944         -
-- /dev/null
        1759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1945   1760   
@@ -0,0 +1,4 @@
        1761  +
AWS4-HMAC-SHA256
        1762  +
20150830T123600Z
        1763  +
20150830/us-east-1/service/aws4_request
        1764  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1946   1765   
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
 1947   1766   
new file mode 100644
 1948   1767   
index 0000000..f7844e3
 1949         -
-- /dev/null
        1768  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1950   1769   
@@ -0,0 +1,7 @@
        1770  +
GET
        1771  +
//example//
        1772  +
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
        1773  +
host:example.amazonaws.com
        1774  +
        1775  +
host
        1776  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1951   1777   
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
 1952   1778   
new file mode 100644
 1953   1779   
index 0000000..a8d6b96
 1954         -
-- /dev/null
        1780  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1955   1781   
@@ -0,0 +1 @@
        1782  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1956   1783   
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
 1957   1784   
new file mode 100644
 1958   1785   
index 0000000..a8322c6
 1959         -
-- /dev/null
        1786  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1960   1787   
@@ -0,0 +1,3 @@
        1788  +
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
        1789  +
Host:example.amazonaws.com
        1790  +
 1961   1791   
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
 1962   1792   
new file mode 100644
 1963   1793   
index 0000000..068724d
 1964         -
-- /dev/null
        1794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1965   1795   
@@ -0,0 +1,4 @@
        1796  +
AWS4-HMAC-SHA256
        1797  +
20150830T123600Z
        1798  +
20150830/us-east-1/service/aws4_request
        1799  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1966   1800   
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
 1967   1801   
similarity index 100%
 1968   1802   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1969   1803   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1970   1804   
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
 1971   1805   
new file mode 100644
 1972   1806   
index 0000000..0468d80
 1973         -
-- /dev/null
        1807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1974   1808   
@@ -0,0 +1,12 @@
        1809  +
{
        1810  +
    "credentials": {
        1811  +
        "access_key_id": "AKIDEXAMPLE",
        1812  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1813  +
    },
        1814  +
    "expiration_in_seconds": 3600,
        1815  +
    "normalize": true,
        1816  +
    "region": "us-east-1",
        1817  +
    "service": "service",
        1818  +
    "sign_body": false,
        1819  +
    "timestamp": "2015-08-30T12:36:00Z"
        1820  +
}
              \
 No newline at end of file
 1975   1821   
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
 1976   1822   
similarity index 100%
 1977   1823   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1978   1824   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1979   1825   
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
 1980   1826   
new file mode 100644
 1981   1827   
index 0000000..f63892b
 1982         -
-- /dev/null
        1828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1983   1829   
@@ -0,0 +1 @@
        1830  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1984   1831   
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
 1985   1832   
new file mode 100644
 1986   1833   
index 0000000..19cd5cb
 1987         -
-- /dev/null
        1834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 1988   1835   
@@ -0,0 +1,5 @@
        1836  +
GET /example space/ HTTP/1.1
        1837  +
Host:example.amazonaws.com
        1838  +
X-Amz-Date:20150830T123600Z
        1839  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1840  +
 1989   1841   
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
 1990   1842   
similarity index 100%
 1991   1843   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 1992   1844   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 1993   1845   
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
 1994   1846   
new file mode 100644
 1995   1847   
index 0000000..fa3d3e2
 1996         -
-- /dev/null
        1848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 1997   1849   
@@ -0,0 +1,7 @@
        1850  +
GET
        1851  +
/example%20space/
        1852  +
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
        1853  +
host:example.amazonaws.com
        1854  +
        1855  +
host
        1856  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1998   1857   
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
 1999   1858   
new file mode 100644
 2000   1859   
index 0000000..5b2e204
 2001         -
-- /dev/null
        1860  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 2002   1861   
@@ -0,0 +1 @@
        1862  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 2003   1863   
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
 2004   1864   
new file mode 100644
 2005   1865   
index 0000000..93ca1d0
 2006         -
-- /dev/null
        1866  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 2007   1867   
@@ -0,0 +1,3 @@
        1868  +
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
        1869  +
Host:example.amazonaws.com
        1870  +
 2008   1871   
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
 2009   1872   
new file mode 100644
 2010   1873   
index 0000000..b4cb789
 2011         -
-- /dev/null
        1874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 2012   1875   
@@ -0,0 +1,4 @@
        1876  +
AWS4-HMAC-SHA256
        1877  +
20150830T123600Z
        1878  +
20150830/us-east-1/service/aws4_request
        1879  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 2013   1880   
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
 2014   1881   
new file mode 100644
 2015   1882   
index 0000000..860a277
 2016         -
-- /dev/null
        1883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 2017   1884   
@@ -0,0 +1,2 @@
        1885  +
GET /example%20space/ HTTP/1.1
        1886  +
Host:example.amazonaws.com
 2018   1887   
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
 2019   1888   
new file mode 100644
 2020   1889   
index 0000000..7bee5c7
 2021         -
-- /dev/null
        1890  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 2022   1891   
@@ -0,0 +1,12 @@
        1892  +
{
        1893  +
    "credentials": {
        1894  +
        "access_key_id": "AKIDEXAMPLE",
        1895  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1896  +
    },
        1897  +
    "expiration_in_seconds": 3600,
        1898  +
    "normalize": false,
        1899  +
    "region": "us-east-1",
        1900  +
    "service": "service",
        1901  +
    "sign_body": false,
        1902  +
    "timestamp": "2015-08-30T12:36:00Z"
        1903  +
}
              \
 No newline at end of file
 2023   1904   
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
 2024   1905   
similarity index 66%
 2025   1906   
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
 2026   1907   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 2027   1908   
index 71dc981..124a709 100644
 2028         -
-- 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
        1909  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 2029   1910   
@@ -1,9 +1,8 @@
 2030         -
POST
 2031         -
/
        1911  +
GET
        1912  +
/example%20space/
 2032   1913   
 2033         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 2034   1914   
host:example.amazonaws.com
 2035   1915   
x-amz-date:20150830T123600Z
 2036   1916   
 2037   1917   
host;x-amz-date
 2038   1918   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2039   1919   
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
 2040   1920   
new file mode 100644
 2041   1921   
index 0000000..f63892b
 2042         -
-- /dev/null
        1922  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 2043   1923   
@@ -0,0 +1 @@
        1924  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 2044   1925   
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
 2045   1926   
new file mode 100644
 2046   1927   
index 0000000..19cd5cb
 2047         -
-- /dev/null
        1928  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 2048   1929   
@@ -0,0 +1,5 @@
        1930  +
GET /example space/ HTTP/1.1
        1931  +
Host:example.amazonaws.com
        1932  +
X-Amz-Date:20150830T123600Z
        1933  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1934  +
 2049   1935   
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
 2050   1936   
new file mode 100644
 2051   1937   
index 0000000..a633f0c
 2052         -
-- /dev/null
        1938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 2053   1939   
@@ -0,0 +1,4 @@
        1940  +
AWS4-HMAC-SHA256
        1941  +
20150830T123600Z
        1942  +
20150830/us-east-1/service/aws4_request
        1943  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 2054   1944   
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
 2055   1945   
new file mode 100644
 2056   1946   
index 0000000..fa3d3e2
 2057         -
-- /dev/null
        1947  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 2058   1948   
@@ -0,0 +1,7 @@
        1949  +
GET
        1950  +
/example%20space/
        1951  +
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
        1952  +
host:example.amazonaws.com
        1953  +
        1954  +
host
        1955  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2059   1956   
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
 2060   1957   
new file mode 100644
 2061   1958   
index 0000000..5b2e204
 2062         -
-- /dev/null
        1959  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 2063   1960   
@@ -0,0 +1 @@
        1961  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 2064   1962   
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
 2065   1963   
new file mode 100644
 2066   1964   
index 0000000..93ca1d0
 2067         -
-- /dev/null
        1965  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 2068   1966   
@@ -0,0 +1,3 @@
        1967  +
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
        1968  +
Host:example.amazonaws.com
        1969  +
 2069   1970   
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
 2070   1971   
new file mode 100644
 2071   1972   
index 0000000..b4cb789
 2072         -
-- /dev/null
        1973  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 2073   1974   
@@ -0,0 +1,4 @@
        1975  +
AWS4-HMAC-SHA256
        1976  +
20150830T123600Z
        1977  +
20150830/us-east-1/service/aws4_request
        1978  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 2074   1979   
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
 2075   1980   
similarity index 67%
 2076   1981   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 2077   1982   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2078   1983   
index b7d5e8b..ab509ab 100644
 2079         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1984  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2080   1985   
@@ -1,3 +1,2 @@
 2081   1986   
GET /example space/ HTTP/1.1
 2082   1987   
Host:example.amazonaws.com
 2083         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2084   1988   
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
 2085   1989   
new file mode 100644
 2086   1990   
index 0000000..0468d80
 2087         -
-- /dev/null
        1991  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 2088   1992   
@@ -0,0 +1,12 @@
        1993  +
{
        1994  +
    "credentials": {
        1995  +
        "access_key_id": "AKIDEXAMPLE",
        1996  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1997  +
    },
        1998  +
    "expiration_in_seconds": 3600,
        1999  +
    "normalize": true,
        2000  +
    "region": "us-east-1",
        2001  +
    "service": "service",
        2002  +
    "sign_body": false,
        2003  +
    "timestamp": "2015-08-30T12:36:00Z"
        2004  +
}
              \
 No newline at end of file
 2089   2005   
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
 2090   2006   
similarity index 100%
 2091   2007   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 2092   2008   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 2093   2009   
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
 2094   2010   
new file mode 100644
 2095   2011   
index 0000000..e503354
 2096         -
-- /dev/null
        2012  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 2097   2013   
@@ -0,0 +1 @@
        2014  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 2098   2015   
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
 2099   2016   
new file mode 100644
 2100   2017   
index 0000000..4367892
 2101         -
-- /dev/null
        2018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 2102   2019   
@@ -0,0 +1,5 @@
        2020  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        2021  +
Host:example.amazonaws.com
        2022  +
X-Amz-Date:20150830T123600Z
        2023  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        2024  +
 2103   2025   
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
 2104   2026   
similarity index 100%
 2105   2027   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 2106   2028   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 2107   2029   
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
 2108   2030   
new file mode 100644
 2109   2031   
index 0000000..d7f0696
 2110         -
-- /dev/null
        2032  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 2111   2033   
@@ -0,0 +1,7 @@
        2034  +
GET
        2035  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        2036  +
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
        2037  +
host:example.amazonaws.com
        2038  +
        2039  +
host
        2040  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2112   2041   
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
 2113   2042   
new file mode 100644
 2114   2043   
index 0000000..509e972
 2115         -
-- /dev/null
        2044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 2116   2045   
@@ -0,0 +1 @@
        2046  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 2117   2047   
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
 2118   2048   
new file mode 100644
 2119   2049   
index 0000000..79aad36
 2120         -
-- /dev/null
        2050  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 2121   2051   
@@ -0,0 +1,3 @@
        2052  +
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
        2053  +
Host:example.amazonaws.com
        2054  +
 2122   2055   
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
 2123   2056   
new file mode 100644
 2124   2057   
index 0000000..e8068b3
 2125         -
-- /dev/null
        2058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 2126   2059   
@@ -0,0 +1,4 @@
        2060  +
AWS4-HMAC-SHA256
        2061  +
20150830T123600Z
        2062  +
20150830/us-east-1/service/aws4_request
        2063  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 2127   2064   
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
 2128   2065   
similarity index 100%
 2129   2066   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 2130   2067   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 2131   2068   
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
 2132   2069   
new file mode 100644
 2133   2070   
index 0000000..0468d80
 2134         -
-- /dev/null
        2071  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 2135   2072   
@@ -0,0 +1,12 @@
        2073  +
{
        2074  +
    "credentials": {
        2075  +
        "access_key_id": "AKIDEXAMPLE",
        2076  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2077  +
    },
        2078  +
    "expiration_in_seconds": 3600,
        2079  +
    "normalize": true,
        2080  +
    "region": "us-east-1",
        2081  +
    "service": "service",
        2082  +
    "sign_body": false,
        2083  +
    "timestamp": "2015-08-30T12:36:00Z"
        2084  +
}
              \
 No newline at end of file
 2136   2085   
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
 2137   2086   
similarity index 100%
 2138   2087   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 2139   2088   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 2140   2089   
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
 2141   2090   
new file mode 100644
 2142   2091   
index 0000000..9a13676
 2143         -
-- /dev/null
        2092  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 2144   2093   
@@ -0,0 +1 @@
        2094  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 2145   2095   
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
 2146   2096   
new file mode 100644
 2147   2097   
index 0000000..5aaf47c
 2148         -
-- /dev/null
        2098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 2149   2099   
@@ -0,0 +1,5 @@
        2100  +
GET /ሴ HTTP/1.1
        2101  +
Host:example.amazonaws.com
        2102  +
X-Amz-Date:20150830T123600Z
        2103  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        2104  +
 2150   2105   
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
 2151   2106   
similarity index 100%
 2152   2107   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 2153   2108   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 2154   2109   
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
 2155   2110   
new file mode 100644
 2156   2111   
index 0000000..bdb77c9
 2157         -
-- /dev/null
        2112  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 2158   2113   
@@ -0,0 +1,7 @@
        2114  +
GET
        2115  +
/%E1%88%B4
        2116  +
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
        2117  +
host:example.amazonaws.com
        2118  +
        2119  +
host
        2120  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2159   2121   
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
 2160   2122   
new file mode 100644
 2161   2123   
index 0000000..21342b3
 2162         -
-- /dev/null
        2124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 2163   2125   
@@ -0,0 +1 @@
        2126  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 2164   2127   
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
 2165   2128   
new file mode 100644
 2166   2129   
index 0000000..368c2ff
 2167         -
-- /dev/null
        2130  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 2168   2131   
@@ -0,0 +1,3 @@
        2132  +
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
        2133  +
Host:example.amazonaws.com
        2134  +
 2169   2135   
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
 2170   2136   
new file mode 100644
 2171   2137   
index 0000000..56b8fbf
 2172         -
-- /dev/null
        2138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2173   2139   
@@ -0,0 +1,4 @@
        2140  +
AWS4-HMAC-SHA256
        2141  +
20150830T123600Z
        2142  +
20150830/us-east-1/service/aws4_request
        2143  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 2174   2144   
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
 2175   2145   
similarity index 62%
 2176   2146   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 2177   2147   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2178   2148   
index da4808d..9e273f6 100644
 2179         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2149  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2180   2150   
@@ -1,3 +1,2 @@
 2181   2151   
GET /ሴ HTTP/1.1
 2182   2152   
Host:example.amazonaws.com
 2183         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2184   2153   
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
 2185   2154   
new file mode 100644
 2186   2155   
index 0000000..0468d80
 2187         -
-- /dev/null
        2156  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2188   2157   
@@ -0,0 +1,12 @@
        2158  +
{
        2159  +
    "credentials": {
        2160  +
        "access_key_id": "AKIDEXAMPLE",
        2161  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2162  +
    },
        2163  +
    "expiration_in_seconds": 3600,
        2164  +
    "normalize": true,
        2165  +
    "region": "us-east-1",
        2166  +
    "service": "service",
        2167  +
    "sign_body": false,
        2168  +
    "timestamp": "2015-08-30T12:36:00Z"
        2169  +
}
              \
 No newline at end of file
 2189   2170   
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
 2190   2171   
similarity index 100%
 2191   2172   
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
 2192   2173   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2193   2174   
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
 2194   2175   
new file mode 100644
 2195   2176   
index 0000000..d7f1c1c
 2196         -
-- /dev/null
        2177  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2197   2178   
@@ -0,0 +1 @@
        2179  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2198   2180   
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
 2199   2181   
new file mode 100644
 2200   2182   
index 0000000..1c60790
 2201         -
-- /dev/null
        2183  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2202   2184   
@@ -0,0 +1,5 @@
        2185  +
GET /?Param1=value1 HTTP/1.1
        2186  +
Host:example.amazonaws.com
        2187  +
X-Amz-Date:20150830T123600Z
        2188  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2189  +
 2203   2190   
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
 2204   2191   
similarity index 100%
 2205   2192   
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
 2206   2193   
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
 2207   2194   
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
 2208   2195   
new file mode 100644
 2209   2196   
index 0000000..6a823ed
 2210         -
-- /dev/null
        2197  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2211   2198   
@@ -0,0 +1,7 @@
        2199  +
GET
        2200  +
/
        2201  +
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
        2202  +
host:example.amazonaws.com
        2203  +
        2204  +
host
        2205  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2212   2206   
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
 2213   2207   
new file mode 100644
 2214   2208   
index 0000000..8c77136
 2215         -
-- /dev/null
        2209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2216   2210   
@@ -0,0 +1 @@
        2211  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2217   2212   
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
 2218   2213   
new file mode 100644
 2219   2214   
index 0000000..2d337d8
 2220         -
-- /dev/null
        2215  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2221   2216   
@@ -0,0 +1,3 @@
        2217  +
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
        2218  +
Host:example.amazonaws.com
        2219  +
 2222   2220   
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
 2223   2221   
new file mode 100644
 2224   2222   
index 0000000..191a484
 2225         -
-- /dev/null
        2223  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2226   2224   
@@ -0,0 +1,4 @@
        2225  +
AWS4-HMAC-SHA256
        2226  +
20150830T123600Z
        2227  +
20150830/us-east-1/service/aws4_request
        2228  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2227   2229   
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
 2228   2230   
similarity index 100%
 2229   2231   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2230   2232   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2231   2233   
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
 2232   2234   
new file mode 100644
 2233   2235   
index 0000000..0468d80
 2234         -
-- /dev/null
        2236  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2235   2237   
@@ -0,0 +1,12 @@
        2238  +
{
        2239  +
    "credentials": {
        2240  +
        "access_key_id": "AKIDEXAMPLE",
        2241  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2242  +
    },
        2243  +
    "expiration_in_seconds": 3600,
        2244  +
    "normalize": true,
        2245  +
    "region": "us-east-1",
        2246  +
    "service": "service",
        2247  +
    "sign_body": false,
        2248  +
    "timestamp": "2015-08-30T12:36:00Z"
        2249  +
}
              \
 No newline at end of file
 2236   2250   
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
 2237   2251   
new file mode 100644
 2238   2252   
index 0000000..0c8ba21
 2239         -
-- /dev/null
        2253  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2240   2254   
@@ -0,0 +1,8 @@
        2255  +
GET
        2256  +
/
        2257  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2258  +
host:example.amazonaws.com
        2259  +
x-amz-date:20150830T123600Z
        2260  +
        2261  +
host;x-amz-date
        2262  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2241   2263   
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
 2242   2264   
new file mode 100644
 2243   2265   
index 0000000..9ab65ed
 2244         -
-- /dev/null
        2266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2245   2267   
@@ -0,0 +1 @@
        2268  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2246   2269   
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
 2247   2270   
new file mode 100644
 2248   2271   
index 0000000..0bcdf98
 2249         -
-- /dev/null
        2272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2250   2273   
@@ -0,0 +1,5 @@
        2274  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2275  +
Host:example.amazonaws.com
        2276  +
X-Amz-Date:20150830T123600Z
        2277  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2278  +
 2251   2279   
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
 2252   2280   
new file mode 100644
 2253   2281   
index 0000000..bf674ad
 2254         -
-- /dev/null
        2282  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2255   2283   
@@ -0,0 +1,4 @@
        2284  +
AWS4-HMAC-SHA256
        2285  +
20150830T123600Z
        2286  +
20150830/us-east-1/service/aws4_request
        2287  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2256   2288   
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
 2257   2289   
new file mode 100644
 2258   2290   
index 0000000..3f590a4
 2259         -
-- /dev/null
        2291  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2260   2292   
@@ -0,0 +1,7 @@
        2293  +
GET
        2294  +
/
        2295  +
%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
        2296  +
host:example.amazonaws.com
        2297  +
        2298  +
host
        2299  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2261   2300   
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
 2262   2301   
new file mode 100644
 2263   2302   
index 0000000..e225eab
 2264         -
-- /dev/null
        2303  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2265   2304   
@@ -0,0 +1 @@
        2305  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2266   2306   
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
 2267   2307   
new file mode 100644
 2268   2308   
index 0000000..6206719
 2269         -
-- /dev/null
        2309  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2270   2310   
@@ -0,0 +1,3 @@
        2311  +
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
        2312  +
Host:example.amazonaws.com
        2313  +
 2271   2314   
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
 2272   2315   
new file mode 100644
 2273   2316   
index 0000000..81a4210
 2274         -
-- /dev/null
        2317  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2275   2318   
@@ -0,0 +1,4 @@
        2319  +
AWS4-HMAC-SHA256
        2320  +
20150830T123600Z
        2321  +
20150830/us-east-1/service/aws4_request
        2322  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2276   2323   
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
 2277   2324   
new file mode 100644
 2278   2325   
index 0000000..368c6e3
 2279         -
-- /dev/null
        2326  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2280   2327   
@@ -0,0 +1,2 @@
        2328  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2329  +
Host:example.amazonaws.com
 2281   2330   
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
 2282   2331   
new file mode 100644
 2283   2332   
index 0000000..0468d80
 2284         -
-- /dev/null
        2333  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2285   2334   
@@ -0,0 +1,12 @@
        2335  +
{
        2336  +
    "credentials": {
        2337  +
        "access_key_id": "AKIDEXAMPLE",
        2338  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2339  +
    },
        2340  +
    "expiration_in_seconds": 3600,
        2341  +
    "normalize": true,
        2342  +
    "region": "us-east-1",
        2343  +
    "service": "service",
        2344  +
    "sign_body": false,
        2345  +
    "timestamp": "2015-08-30T12:36:00Z"
        2346  +
}
              \
 No newline at end of file
 2286   2347   
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
 2287   2348   
similarity index 100%
 2288   2349   
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
 2289   2350   
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
 2290   2351   
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
 2291   2352   
new file mode 100644
 2292   2353   
index 0000000..6a8cb9d
 2293         -
-- /dev/null
        2354  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2294   2355   
@@ -0,0 +1 @@
        2356  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2295   2357   
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
 2296   2358   
new file mode 100644
 2297   2359   
index 0000000..f78a9d2
 2298         -
-- /dev/null
        2360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2299   2361   
@@ -0,0 +1,5 @@
        2362  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2363  +
Host:example.amazonaws.com
        2364  +
X-Amz-Date:20150830T123600Z
        2365  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2366  +
 2300   2367   
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
 2301   2368   
similarity index 100%
 2302   2369   
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
 2303   2370   
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
 2304   2371   
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
 2305   2372   
new file mode 100644
 2306   2373   
index 0000000..a6e1bc7
 2307         -
-- /dev/null
        2374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2308   2375   
@@ -0,0 +1,7 @@
        2376  +
GET
        2377  +
/
        2378  +
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
        2379  +
host:example.amazonaws.com
        2380  +
        2381  +
host
        2382  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2309   2383   
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
 2310   2384   
new file mode 100644
 2311   2385   
index 0000000..d6e6a88
 2312         -
-- /dev/null
        2386  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2313   2387   
@@ -0,0 +1 @@
        2388  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2314   2389   
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
 2315   2390   
new file mode 100644
 2316   2391   
index 0000000..538e2f0
 2317         -
-- /dev/null
        2392  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2318   2393   
@@ -0,0 +1,3 @@
        2394  +
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
        2395  +
Host:example.amazonaws.com
        2396  +
 2319   2397   
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
 2320   2398   
new file mode 100644
 2321   2399   
index 0000000..e696085
 2322         -
-- /dev/null
        2400  +
++ 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
 2323   2401   
@@ -0,0 +1,4 @@
        2402  +
AWS4-HMAC-SHA256
        2403  +
20150830T123600Z
        2404  +
20150830/us-east-1/service/aws4_request
        2405  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2324   2406   
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
 2325   2407   
similarity index 100%
 2326   2408   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2327   2409   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2328   2410   
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
 2329   2411   
new file mode 100644
 2330   2412   
index 0000000..0468d80
 2331         -
-- /dev/null
        2413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2332   2414   
@@ -0,0 +1,12 @@
        2415  +
{
        2416  +
    "credentials": {
        2417  +
        "access_key_id": "AKIDEXAMPLE",
        2418  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2419  +
    },
        2420  +
    "expiration_in_seconds": 3600,
        2421  +
    "normalize": true,
        2422  +
    "region": "us-east-1",
        2423  +
    "service": "service",
        2424  +
    "sign_body": false,
        2425  +
    "timestamp": "2015-08-30T12:36:00Z"
        2426  +
}
              \
 No newline at end of file
 2333   2427   
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
 2334   2428   
similarity index 100%
 2335   2429   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2336   2430   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2337   2431   
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
 2338   2432   
new file mode 100644
 2339   2433   
index 0000000..876a64b
 2340         -
-- /dev/null
        2434  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2341   2435   
@@ -0,0 +1 @@
        2436  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2342   2437   
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
 2343   2438   
similarity index 50%
 2344   2439   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2345   2440   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2346   2441   
index ba1ef40..9d0d993 100644
 2347         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2348   2443   
@@ -1,4 +1,5 @@
 2349   2444   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2350   2445   
Host:example.amazonaws.com
 2351   2446   
X-Amz-Date:20150830T123600Z
 2352         -
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
        2447  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2448  +
 2353   2449   
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
 2354   2450   
similarity index 100%
 2355   2451   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2356   2452   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2357   2453   
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
 2358   2454   
new file mode 100644
 2359   2455   
index 0000000..a1bac59
 2360         -
-- /dev/null
        2456  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2361   2457   
@@ -0,0 +1,7 @@
        2458  +
GET
        2459  +
/
        2460  +
-._~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
        2461  +
host:example.amazonaws.com
        2462  +
        2463  +
host
        2464  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2362   2465   
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
 2363   2466   
new file mode 100644
 2364   2467   
index 0000000..41881e9
 2365         -
-- /dev/null
        2468  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2366   2469   
@@ -0,0 +1 @@
        2470  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2367   2471   
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
 2368   2472   
new file mode 100644
 2369   2473   
index 0000000..3179076
 2370         -
-- /dev/null
        2474  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2371   2475   
@@ -0,0 +1,3 @@
        2476  +
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
        2477  +
Host:example.amazonaws.com
        2478  +
 2372   2479   
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
 2373   2480   
new file mode 100644
 2374   2481   
index 0000000..6d675fc
 2375         -
-- /dev/null
        2482  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2376   2483   
@@ -0,0 +1,4 @@
        2484  +
AWS4-HMAC-SHA256
        2485  +
20150830T123600Z
        2486  +
20150830/us-east-1/service/aws4_request
        2487  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2377   2488   
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
 2378   2489   
similarity index 100%
 2379   2490   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2380   2491   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2381   2492   
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
 2382   2493   
new file mode 100644
 2383   2494   
index 0000000..0468d80
 2384         -
-- /dev/null
        2495  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2385   2496   
@@ -0,0 +1,12 @@
        2497  +
{
        2498  +
    "credentials": {
        2499  +
        "access_key_id": "AKIDEXAMPLE",
        2500  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2501  +
    },
        2502  +
    "expiration_in_seconds": 3600,
        2503  +
    "normalize": true,
        2504  +
    "region": "us-east-1",
        2505  +
    "service": "service",
        2506  +
    "sign_body": false,
        2507  +
    "timestamp": "2015-08-30T12:36:00Z"
        2508  +
}
              \
 No newline at end of file
 2386   2509   
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
 2387   2510   
similarity index 100%
 2388   2511   
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
 2389   2512   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2390   2513   
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
 2391   2514   
new file mode 100644
 2392   2515   
index 0000000..87f295f
 2393         -
-- /dev/null
        2516  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2394   2517   
@@ -0,0 +1 @@
        2518  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2395   2519   
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
 2396   2520   
new file mode 100644
 2397   2521   
index 0000000..36b86e7
 2398         -
-- /dev/null
        2522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2399   2523   
@@ -0,0 +1,5 @@
        2524  +
GET / HTTP/1.1
        2525  +
Host:example.amazonaws.com
        2526  +
X-Amz-Date:20150830T123600Z
        2527  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2528  +
 2400   2529   
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
 2401   2530   
similarity index 100%
 2402   2531   
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
 2403   2532   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2404   2533   
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
 2405   2534   
new file mode 100644
 2406   2535   
index 0000000..fb2420d
 2407         -
-- /dev/null
        2536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2408   2537   
@@ -0,0 +1,7 @@
        2538  +
GET
        2539  +
/
        2540  +
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
        2541  +
host:example.amazonaws.com
        2542  +
        2543  +
host
        2544  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2409   2545   
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
 2410   2546   
new file mode 100644
 2411   2547   
index 0000000..da5c905
 2412         -
-- /dev/null
        2548  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2413   2549   
@@ -0,0 +1 @@
        2550  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2414   2551   
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
 2415   2552   
new file mode 100644
 2416   2553   
index 0000000..eeb7a8f
 2417         -
-- /dev/null
        2554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2418   2555   
@@ -0,0 +1,3 @@
        2556  +
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
        2557  +
Host:example.amazonaws.com
        2558  +
 2419   2559   
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
 2420   2560   
new file mode 100644
 2421   2561   
index 0000000..d837e67
 2422         -
-- /dev/null
        2562  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2423   2563   
@@ -0,0 +1,4 @@
        2564  +
AWS4-HMAC-SHA256
        2565  +
20150830T123600Z
        2566  +
20150830/us-east-1/service/aws4_request
        2567  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2424   2568   
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
 2425   2569   
similarity index 100%
 2426   2570   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2427   2571   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2428   2572   
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
 2429   2573   
new file mode 100644
 2430   2574   
index 0000000..0468d80
 2431         -
-- /dev/null
        2575  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2432   2576   
@@ -0,0 +1,12 @@
        2577  +
{
        2578  +
    "credentials": {
        2579  +
        "access_key_id": "AKIDEXAMPLE",
        2580  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2581  +
    },
        2582  +
    "expiration_in_seconds": 3600,
        2583  +
    "normalize": true,
        2584  +
    "region": "us-east-1",
        2585  +
    "service": "service",
        2586  +
    "sign_body": false,
        2587  +
    "timestamp": "2015-08-30T12:36:00Z"
        2588  +
}
              \
 No newline at end of file
 2433   2589   
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
 2434   2590   
similarity index 100%
 2435   2591   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2436   2592   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2437   2593   
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
 2438   2594   
new file mode 100644
 2439   2595   
index 0000000..19a2cc9
 2440         -
-- /dev/null
        2596  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2441   2597   
@@ -0,0 +1 @@
        2598  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2442   2599   
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
 2443   2600   
new file mode 100644
 2444   2601   
index 0000000..acb13ee
 2445         -
-- /dev/null
        2602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2446   2603   
@@ -0,0 +1,5 @@
        2604  +
GET /?ሴ=bar HTTP/1.1
        2605  +
Host:example.amazonaws.com
        2606  +
X-Amz-Date:20150830T123600Z
        2607  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2608  +
 2447   2609   
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
 2448   2610   
similarity index 100%
 2449   2611   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2450   2612   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2451   2613   
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
 2452   2614   
new file mode 100644
 2453   2615   
index 0000000..92cee62
 2454         -
-- /dev/null
        2616  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2455   2617   
@@ -0,0 +1,7 @@
        2618  +
GET
        2619  +
/
        2620  +
%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
        2621  +
host:example.amazonaws.com
        2622  +
        2623  +
host
        2624  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2456   2625   
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
 2457   2626   
new file mode 100644
 2458   2627   
index 0000000..c9e49de
 2459         -
-- /dev/null
        2628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2460   2629   
@@ -0,0 +1 @@
        2630  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2461   2631   
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
 2462   2632   
new file mode 100644
 2463   2633   
index 0000000..8f4d8d0
 2464         -
-- /dev/null
        2634  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2465   2635   
@@ -0,0 +1,3 @@
        2636  +
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
        2637  +
Host:example.amazonaws.com
        2638  +
 2466   2639   
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
 2467   2640   
new file mode 100644
 2468   2641   
index 0000000..a6181dc
 2469         -
-- /dev/null
        2642  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2470   2643   
@@ -0,0 +1,4 @@
        2644  +
AWS4-HMAC-SHA256
        2645  +
20150830T123600Z
        2646  +
20150830/us-east-1/service/aws4_request
        2647  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2471   2648   
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
 2472   2649   
similarity index 64%
 2473   2650   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2474   2651   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2475   2652   
index cc2757e..aff333a 100644
 2476         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2653  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2477   2654   
@@ -1,3 +1,2 @@
 2478   2655   
GET /?ሴ=bar HTTP/1.1
 2479   2656   
Host:example.amazonaws.com
 2480         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2481   2657   
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
 2482   2658   
similarity index 99%
 2483   2659   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2484   2660   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2485   2661   
index a457c8a..a334e18 100644
 2486   2662   
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
 2487   2663   
new file mode 100644
 2488   2664   
index 0000000..ccacdeb
 2489         -
-- /dev/null
        2665  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2490   2666   
@@ -0,0 +1,9 @@
        2667  +
GET
        2668  +
/
        2669  +
        2670  +
host:example.amazonaws.com
        2671  +
x-amz-date:20150830T123600Z
        2672  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2673  +
        2674  +
host;x-amz-date;x-amz-security-token
        2675  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2491   2676   
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
 2492   2677   
new file mode 100644
 2493   2678   
index 0000000..083e30d
 2494         -
-- /dev/null
        2679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2495   2680   
@@ -0,0 +1 @@
        2681  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2496   2682   
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
 2497   2683   
new file mode 100644
 2498   2684   
index 0000000..5287932
 2499         -
-- /dev/null
        2685  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2500   2686   
@@ -0,0 +1,6 @@
        2687  +
GET / HTTP/1.1
        2688  +
Host:example.amazonaws.com
        2689  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2690  +
X-Amz-Date:20150830T123600Z
        2691  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2692  +
 2501   2693   
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
 2502   2694   
new file mode 100644
 2503   2695   
index 0000000..742b880
 2504         -
-- /dev/null
        2696  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2505   2697   
@@ -0,0 +1,4 @@
        2698  +
AWS4-HMAC-SHA256
        2699  +
20150830T123600Z
        2700  +
20150830/us-east-1/service/aws4_request
        2701  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2506   2702   
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
 2507   2703   
new file mode 100644
 2508   2704   
index 0000000..5e75179
 2509         -
-- /dev/null
        2705  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2510   2706   
@@ -0,0 +1,7 @@
        2707  +
GET
        2708  +
/
        2709  +
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
        2710  +
host:example.amazonaws.com
        2711  +
        2712  +
host
        2713  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2511   2714   
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
 2512   2715   
new file mode 100644
 2513   2716   
index 0000000..50b947f
 2514         -
-- /dev/null
        2717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2515   2718   
@@ -0,0 +1 @@
        2719  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2516   2720   
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
 2517   2721   
new file mode 100644
 2518   2722   
index 0000000..aee910b
 2519         -
-- /dev/null
        2723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2520   2724   
@@ -0,0 +1,3 @@
        2725  +
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
        2726  +
Host:example.amazonaws.com
        2727  +
 2521   2728   
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
 2522   2729   
new file mode 100644
 2523   2730   
index 0000000..04a6c17
 2524         -
-- /dev/null
        2731  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2525   2732   
@@ -0,0 +1,4 @@
        2733  +
AWS4-HMAC-SHA256
        2734  +
20150830T123600Z
        2735  +
20150830/us-east-1/service/aws4_request
        2736  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2526   2737   
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
 2527   2738   
similarity index 100%
 2528   2739   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2529   2740   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2530   2741   
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
 2531   2742   
new file mode 100644
 2532   2743   
index 0000000..0468d80
 2533         -
-- /dev/null
        2744  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2534   2745   
@@ -0,0 +1,12 @@
        2746  +
{
        2747  +
    "credentials": {
        2748  +
        "access_key_id": "AKIDEXAMPLE",
        2749  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2750  +
    },
        2751  +
    "expiration_in_seconds": 3600,
        2752  +
    "normalize": true,
        2753  +
    "region": "us-east-1",
        2754  +
    "service": "service",
        2755  +
    "sign_body": false,
        2756  +
    "timestamp": "2015-08-30T12:36:00Z"
        2757  +
}
              \
 No newline at end of file
 2535   2758   
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
 2536   2759   
similarity index 100%
 2537   2760   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2538   2761   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2539   2762   
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
 2540   2763   
new file mode 100644
 2541   2764   
index 0000000..87f295f
 2542         -
-- /dev/null
        2765  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2543   2766   
@@ -0,0 +1 @@
        2767  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2544   2768   
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
 2545   2769   
new file mode 100644
 2546   2770   
index 0000000..36b86e7
 2547         -
-- /dev/null
        2771  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2548   2772   
@@ -0,0 +1,5 @@
        2773  +
GET / HTTP/1.1
        2774  +
Host:example.amazonaws.com
        2775  +
X-Amz-Date:20150830T123600Z
        2776  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2777  +
 2549   2778   
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
 2550   2779   
similarity index 100%
 2551   2780   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2552   2781   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2553   2782   
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
 2554   2783   
new file mode 100644
 2555   2784   
index 0000000..fb2420d
 2556         -
-- /dev/null
        2785  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2557   2786   
@@ -0,0 +1,7 @@
        2787  +
GET
        2788  +
/
        2789  +
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
        2790  +
host:example.amazonaws.com
        2791  +
        2792  +
host
        2793  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2558   2794   
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
 2559   2795   
new file mode 100644
 2560   2796   
index 0000000..da5c905
 2561         -
-- /dev/null
        2797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2562   2798   
@@ -0,0 +1 @@
        2799  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2563   2800   
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
 2564   2801   
new file mode 100644
 2565   2802   
index 0000000..eeb7a8f
 2566         -
-- /dev/null
        2803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2567   2804   
@@ -0,0 +1,3 @@
        2805  +
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
        2806  +
Host:example.amazonaws.com
        2807  +
 2568   2808   
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
 2569   2809   
new file mode 100644
 2570   2810   
index 0000000..d837e67
 2571         -
-- /dev/null
        2811  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2572   2812   
@@ -0,0 +1,4 @@
        2813  +
AWS4-HMAC-SHA256
        2814  +
20150830T123600Z
        2815  +
20150830/us-east-1/service/aws4_request
        2816  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2573   2817   
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
 2574   2818   
similarity index 100%
 2575   2819   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2576   2820   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2577   2821   
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
 2578   2822   
new file mode 100644
 2579   2823   
index 0000000..0468d80
 2580         -
-- /dev/null
        2824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2581   2825   
@@ -0,0 +1,12 @@
        2826  +
{
        2827  +
    "credentials": {
        2828  +
        "access_key_id": "AKIDEXAMPLE",
        2829  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2830  +
    },
        2831  +
    "expiration_in_seconds": 3600,
        2832  +
    "normalize": true,
        2833  +
    "region": "us-east-1",
        2834  +
    "service": "service",
        2835  +
    "sign_body": false,
        2836  +
    "timestamp": "2015-08-30T12:36:00Z"
        2837  +
}
              \
 No newline at end of file
 2582   2838   
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
 2583   2839   
similarity index 100%
 2584   2840   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2585   2841   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2586   2842   
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
 2587   2843   
new file mode 100644
 2588   2844   
index 0000000..629487f
 2589         -
-- /dev/null
        2845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2590   2846   
@@ -0,0 +1 @@
        2847  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2591   2848   
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
 2592   2849   
new file mode 100644
 2593   2850   
index 0000000..0d99b1c
 2594         -
-- /dev/null
        2851  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2595   2852   
@@ -0,0 +1,5 @@
        2853  +
POST / HTTP/1.1
        2854  +
Host:example.amazonaws.com
        2855  +
X-Amz-Date:20150830T123600Z
        2856  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2857  +
 2596   2858   
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
 2597   2859   
similarity index 100%
 2598   2860   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2599   2861   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2600   2862   
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
 2601   2863   
new file mode 100644
 2602   2864   
index 0000000..d3341e7
 2603         -
-- /dev/null
        2865  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2604   2866   
@@ -0,0 +1,7 @@
        2867  +
POST
        2868  +
/
        2869  +
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
        2870  +
host:example.amazonaws.com
        2871  +
        2872  +
host
        2873  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2605   2874   
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
 2606   2875   
new file mode 100644
 2607   2876   
index 0000000..79f7e0d
 2608         -
-- /dev/null
        2877  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2609   2878   
@@ -0,0 +1 @@
        2879  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2610   2880   
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
 2611   2881   
new file mode 100644
 2612   2882   
index 0000000..94f1b21
 2613         -
-- /dev/null
        2883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2614   2884   
@@ -0,0 +1,3 @@
        2885  +
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
        2886  +
Host:example.amazonaws.com
        2887  +
 2615   2888   
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
 2616   2889   
new file mode 100644
 2617   2890   
index 0000000..e8f335b
 2618         -
-- /dev/null
        2891  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2619   2892   
@@ -0,0 +1,4 @@
        2893  +
AWS4-HMAC-SHA256
        2894  +
20150830T123600Z
        2895  +
20150830/us-east-1/service/aws4_request
        2896  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2620   2897   
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
 2621   2898   
similarity index 100%
 2622   2899   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2623   2900   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2624   2901   
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
 2625   2902   
new file mode 100644
 2626   2903   
index 0000000..0468d80
 2627         -
-- /dev/null
        2904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2628   2905   
@@ -0,0 +1,12 @@
        2906  +
{
        2907  +
    "credentials": {
        2908  +
        "access_key_id": "AKIDEXAMPLE",
        2909  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2910  +
    },
        2911  +
    "expiration_in_seconds": 3600,
        2912  +
    "normalize": true,
        2913  +
    "region": "us-east-1",
        2914  +
    "service": "service",
        2915  +
    "sign_body": false,
        2916  +
    "timestamp": "2015-08-30T12:36:00Z"
        2917  +
}
              \
 No newline at end of file
 2629   2918   
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
 2630   2919   
similarity index 100%
 2631   2920   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2632   2921   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2633   2922   
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
 2634   2923   
new file mode 100644
 2635   2924   
index 0000000..e4e6428
 2636         -
-- /dev/null
        2925  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2637   2926   
@@ -0,0 +1 @@
        2927  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2638   2928   
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
 2639   2929   
new file mode 100644
 2640   2930   
index 0000000..e3778f5
 2641         -
-- /dev/null
        2931  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2642   2932   
@@ -0,0 +1,6 @@
        2933  +
POST / HTTP/1.1
        2934  +
Host:example.amazonaws.com
        2935  +
My-Header1:value1
        2936  +
X-Amz-Date:20150830T123600Z
        2937  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2938  +
 2643   2939   
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
 2644   2940   
similarity index 100%
 2645   2941   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2646   2942   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2647   2943   
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
 2648   2944   
new file mode 100644
 2649   2945   
index 0000000..bd7c937
 2650         -
-- /dev/null
        2946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2651   2947   
@@ -0,0 +1,8 @@
        2948  +
POST
        2949  +
/
        2950  +
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
        2951  +
host:example.amazonaws.com
        2952  +
my-header1:value1
        2953  +
        2954  +
host;my-header1
        2955  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2652   2956   
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
 2653   2957   
new file mode 100644
 2654   2958   
index 0000000..0416f13
 2655         -
-- /dev/null
        2959  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2656   2960   
@@ -0,0 +1 @@
        2961  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2657   2962   
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
 2658   2963   
new file mode 100644
 2659   2964   
index 0000000..5e6522f
 2660         -
-- /dev/null
        2965  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2661   2966   
@@ -0,0 +1,4 @@
        2967  +
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
        2968  +
Host:example.amazonaws.com
        2969  +
My-Header1:value1
        2970  +
 2662   2971   
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
 2663   2972   
new file mode 100644
 2664   2973   
index 0000000..d06d1df
 2665         -
-- /dev/null
        2974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2666   2975   
@@ -0,0 +1,4 @@
        2976  +
AWS4-HMAC-SHA256
        2977  +
20150830T123600Z
        2978  +
20150830/us-east-1/service/aws4_request
        2979  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2667   2980   
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
 2668   2981   
similarity index 100%
 2669   2982   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2670   2983   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2671   2984   
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
 2672   2985   
new file mode 100644
 2673   2986   
index 0000000..0468d80
 2674         -
-- /dev/null
        2987  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2675   2988   
@@ -0,0 +1,12 @@
        2989  +
{
        2990  +
    "credentials": {
        2991  +
        "access_key_id": "AKIDEXAMPLE",
        2992  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2993  +
    },
        2994  +
    "expiration_in_seconds": 3600,
        2995  +
    "normalize": true,
        2996  +
    "region": "us-east-1",
        2997  +
    "service": "service",
        2998  +
    "sign_body": false,
        2999  +
    "timestamp": "2015-08-30T12:36:00Z"
        3000  +
}
              \
 No newline at end of file
 2676   3001   
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
 2677   3002   
similarity index 100%
 2678   3003   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2679   3004   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2680   3005   
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
 2681   3006   
new file mode 100644
 2682   3007   
index 0000000..bb3809c
 2683         -
-- /dev/null
        3008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2684   3009   
@@ -0,0 +1 @@
        3010  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2685   3011   
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
 2686   3012   
new file mode 100644
 2687   3013   
index 0000000..10f6761
 2688         -
-- /dev/null
        3014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2689   3015   
@@ -0,0 +1,6 @@
        3016  +
POST / HTTP/1.1
        3017  +
Host:example.amazonaws.com
        3018  +
My-Header1:VALUE1
        3019  +
X-Amz-Date:20150830T123600Z
        3020  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        3021  +
 2690   3022   
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
 2691   3023   
similarity index 100%
 2692   3024   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2693   3025   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2694   3026   
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
 2695   3027   
new file mode 100644
 2696   3028   
index 0000000..f84856f
 2697         -
-- /dev/null
        3029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2698   3030   
@@ -0,0 +1,8 @@
        3031  +
POST
        3032  +
/
        3033  +
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
        3034  +
host:example.amazonaws.com
        3035  +
my-header1:VALUE1
        3036  +
        3037  +
host;my-header1
        3038  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2699   3039   
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
 2700   3040   
new file mode 100644
 2701   3041   
index 0000000..a9d3cac
 2702         -
-- /dev/null
        3042  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2703   3043   
@@ -0,0 +1 @@
        3044  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2704   3045   
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
 2705   3046   
new file mode 100644
 2706   3047   
index 0000000..cf96c7c
 2707         -
-- /dev/null
        3048  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2708   3049   
@@ -0,0 +1,4 @@
        3050  +
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
        3051  +
Host:example.amazonaws.com
        3052  +
My-Header1:VALUE1
        3053  +
 2709   3054   
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
 2710   3055   
new file mode 100644
 2711   3056   
index 0000000..47ef566
 2712         -
-- /dev/null
        3057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2713   3058   
@@ -0,0 +1,4 @@
        3059  +
AWS4-HMAC-SHA256
        3060  +
20150830T123600Z
        3061  +
20150830/us-east-1/service/aws4_request
        3062  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2714   3063   
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
 2715   3064   
similarity index 100%
 2716   3065   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2717   3066   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2718   3067   
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
 2719   3068   
similarity index 100%
 2720   3069   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2721   3070   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2722   3071   
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
 2723   3072   
similarity index 100%
 2724   3073   
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
 2725   3074   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2726   3075   
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
 2727   3076   
new file mode 100644
 2728   3077   
index 0000000..629487f
 2729         -
-- /dev/null
        3078  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2730   3079   
@@ -0,0 +1 @@
        3080  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2731   3081   
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
 2732   3082   
similarity index 67%
 2733   3083   
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
 2734   3084   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2735   3085   
index 291ed07..f96ff9e 100644
 2736         -
-- 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
        3086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2737   3087   
@@ -1,5 +1,6 @@
 2738   3088   
POST / HTTP/1.1
 2739   3089   
Host:example.amazonaws.com
 2740         -
X-Amz-Date:20150830T123600Z
 2741   3090   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2742         -
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
        3091  +
X-Amz-Date:20150830T123600Z
        3092  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3093  +
 2743   3094   
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
 2744   3095   
similarity index 100%
 2745   3096   
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
 2746   3097   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2747   3098   
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
 2748   3099   
new file mode 100644
 2749   3100   
index 0000000..d3341e7
 2750         -
-- /dev/null
        3101  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2751   3102   
@@ -0,0 +1,7 @@
        3103  +
POST
        3104  +
/
        3105  +
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
        3106  +
host:example.amazonaws.com
        3107  +
        3108  +
host
        3109  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2752   3110   
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
 2753   3111   
new file mode 100644
 2754   3112   
index 0000000..79f7e0d
 2755         -
-- /dev/null
        3113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2756   3114   
@@ -0,0 +1 @@
        3115  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2757   3116   
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
 2758   3117   
new file mode 100644
 2759   3118   
index 0000000..4983268
 2760         -
-- /dev/null
        3119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2761   3120   
@@ -0,0 +1,3 @@
        3121  +
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
        3122  +
Host:example.amazonaws.com
        3123  +
 2762   3124   
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
 2763   3125   
new file mode 100644
 2764   3126   
index 0000000..e8f335b
 2765         -
-- /dev/null
        3127  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2766   3128   
@@ -0,0 +1,4 @@
        3129  +
AWS4-HMAC-SHA256
        3130  +
20150830T123600Z
        3131  +
20150830/us-east-1/service/aws4_request
        3132  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2767   3133   
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
 2768   3134   
similarity index 100%
 2769   3135   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2770   3136   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2771   3137   
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
 2772   3138   
similarity index 100%
 2773   3139   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2774   3140   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2775   3141   
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
 2776   3142   
similarity index 100%
 2777   3143   
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
 2778   3144   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2779   3145   
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
 2780   3146   
new file mode 100644
 2781   3147   
index 0000000..85a7c29
 2782         -
-- /dev/null
        3148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2783   3149   
@@ -0,0 +1 @@
        3150  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2784   3151   
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
 2785   3152   
similarity index 65%
 2786   3153   
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
 2787   3154   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2788   3155   
index 37b2f04..4d0b143 100644
 2789         -
-- 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
        3156  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2790   3157   
@@ -1,5 +1,6 @@
 2791   3158   
POST / HTTP/1.1
 2792   3159   
Host:example.amazonaws.com
 2793         -
X-Amz-Date:20150830T123600Z
 2794   3160   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2795         -
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
        3161  +
X-Amz-Date:20150830T123600Z
        3162  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3163  +
 2796   3164   
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
 2797   3165   
similarity index 100%
 2798   3166   
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
 2799   3167   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2800   3168   
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
 2801   3169   
new file mode 100644
 2802   3170   
index 0000000..57a7bc3
 2803         -
-- /dev/null
        3171  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2804   3172   
@@ -0,0 +1,7 @@
        3173  +
POST
        3174  +
/
        3175  +
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
        3176  +
host:example.amazonaws.com
        3177  +
        3178  +
host
        3179  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2805   3180   
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
 2806   3181   
new file mode 100644
 2807   3182   
index 0000000..eb905d2
 2808         -
-- /dev/null
        3183  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2809   3184   
@@ -0,0 +1 @@
        3185  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2810   3186   
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
 2811   3187   
new file mode 100644
 2812   3188   
index 0000000..1d80ec0
 2813         -
-- /dev/null
        3189  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2814   3190   
@@ -0,0 +1,3 @@
        3191  +
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
        3192  +
Host:example.amazonaws.com
        3193  +
 2815   3194   
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
 2816   3195   
new file mode 100644
 2817   3196   
index 0000000..bd0239a
 2818         -
-- /dev/null
        3197  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2819   3198   
@@ -0,0 +1,4 @@
        3199  +
AWS4-HMAC-SHA256
        3200  +
20150830T123600Z
        3201  +
20150830/us-east-1/service/aws4_request
        3202  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2820   3203   
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
 2821   3204   
similarity index 100%
 2822   3205   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2823   3206   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2824   3207   
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
 2825   3208   
new file mode 100644
 2826   3209   
index 0000000..0468d80
 2827         -
-- /dev/null
        3210  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2828   3211   
@@ -0,0 +1,12 @@
        3212  +
{
        3213  +
    "credentials": {
        3214  +
        "access_key_id": "AKIDEXAMPLE",
        3215  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3216  +
    },
        3217  +
    "expiration_in_seconds": 3600,
        3218  +
    "normalize": true,
        3219  +
    "region": "us-east-1",
        3220  +
    "service": "service",
        3221  +
    "sign_body": false,
        3222  +
    "timestamp": "2015-08-30T12:36:00Z"
        3223  +
}
              \
 No newline at end of file
 2829   3224   
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
 2830   3225   
similarity index 100%
 2831   3226   
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
 2832   3227   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2833   3228   
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
 2834   3229   
new file mode 100644
 2835   3230   
index 0000000..80ed433
 2836         -
-- /dev/null
        3231  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2837   3232   
@@ -0,0 +1 @@
        3233  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2838   3234   
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
 2839   3235   
new file mode 100644
 2840   3236   
index 0000000..4e614f8
 2841         -
-- /dev/null
        3237  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2842   3238   
@@ -0,0 +1,5 @@
        3239  +
POST /?Param1=value1 HTTP/1.1
        3240  +
Host:example.amazonaws.com
        3241  +
X-Amz-Date:20150830T123600Z
        3242  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3243  +
 2843   3244   
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
 2844   3245   
similarity index 100%
 2845   3246   
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
 2846   3247   
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
 2847   3248   
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
 2848   3249   
new file mode 100644
 2849   3250   
index 0000000..be66403
 2850         -
-- /dev/null
        3251  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2851   3252   
@@ -0,0 +1,7 @@
        3253  +
POST
        3254  +
/
        3255  +
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
        3256  +
host:example.amazonaws.com
        3257  +
        3258  +
host
        3259  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2852   3260   
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
 2853   3261   
new file mode 100644
 2854   3262   
index 0000000..20fd32b
 2855         -
-- /dev/null
        3263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2856   3264   
@@ -0,0 +1 @@
        3265  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2857   3266   
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
 2858   3267   
new file mode 100644
 2859   3268   
index 0000000..d1148d0
 2860         -
-- /dev/null
        3269  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2861   3270   
@@ -0,0 +1,3 @@
        3271  +
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
        3272  +
Host:example.amazonaws.com
        3273  +
 2862   3274   
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
 2863   3275   
new file mode 100644
 2864   3276   
index 0000000..1a77103
 2865         -
-- /dev/null
        3277  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2866   3278   
@@ -0,0 +1,4 @@
        3279  +
AWS4-HMAC-SHA256
        3280  +
20150830T123600Z
        3281  +
20150830/us-east-1/service/aws4_request
        3282  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2867   3283   
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
 2868   3284   
similarity index 100%
 2869   3285   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2870   3286   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2871   3287   
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
 2872   3288   
new file mode 100644
 2873   3289   
index 0000000..0468d80
 2874         -
-- /dev/null
        3290  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2875   3291   
@@ -0,0 +1,12 @@
        3292  +
{
        3293  +
    "credentials": {
        3294  +
        "access_key_id": "AKIDEXAMPLE",
        3295  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3296  +
    },
        3297  +
    "expiration_in_seconds": 3600,
        3298  +
    "normalize": true,
        3299  +
    "region": "us-east-1",
        3300  +
    "service": "service",
        3301  +
    "sign_body": false,
        3302  +
    "timestamp": "2015-08-30T12:36:00Z"
        3303  +
}
              \
 No newline at end of file
 2876   3304   
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
 2877   3305   
similarity index 100%
 2878   3306   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2879   3307   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2880   3308   
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
 2881   3309   
new file mode 100644
 2882   3310   
index 0000000..80ed433
 2883         -
-- /dev/null
        3311  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2884   3312   
@@ -0,0 +1 @@
        3313  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2885   3314   
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
 2886   3315   
new file mode 100644
 2887   3316   
index 0000000..4e614f8
 2888         -
-- /dev/null
        3317  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2889   3318   
@@ -0,0 +1,5 @@
        3319  +
POST /?Param1=value1 HTTP/1.1
        3320  +
Host:example.amazonaws.com
        3321  +
X-Amz-Date:20150830T123600Z
        3322  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3323  +
 2890   3324   
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
 2891   3325   
similarity index 100%
 2892   3326   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2893   3327   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2894   3328   
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
 2895   3329   
new file mode 100644
 2896   3330   
index 0000000..be66403
 2897         -
-- /dev/null
        3331  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2898   3332   
@@ -0,0 +1,7 @@
        3333  +
POST
        3334  +
/
        3335  +
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
        3336  +
host:example.amazonaws.com
        3337  +
        3338  +
host
        3339  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2899   3340   
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
 2900   3341   
new file mode 100644
 2901   3342   
index 0000000..20fd32b
 2902         -
-- /dev/null
        3343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2903   3344   
@@ -0,0 +1 @@
        3345  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2904   3346   
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
 2905   3347   
new file mode 100644
 2906   3348   
index 0000000..d1148d0
 2907         -
-- /dev/null
        3349  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2908   3350   
@@ -0,0 +1,3 @@
        3351  +
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
        3352  +
Host:example.amazonaws.com
        3353  +
 2909   3354   
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
 2910   3355   
new file mode 100644
 2911   3356   
index 0000000..1a77103
 2912         -
-- /dev/null
        3357  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2913   3358   
@@ -0,0 +1,4 @@
        3359  +
AWS4-HMAC-SHA256
        3360  +
20150830T123600Z
        3361  +
20150830/us-east-1/service/aws4_request
        3362  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2914   3363   
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
 2915   3364   
similarity index 100%
 2916   3365   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2917   3366   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2918   3367   
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
 2919   3368   
new file mode 100644
 2920   3369   
index 0000000..0468d80
 2921         -
-- /dev/null
        3370  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2922   3371   
@@ -0,0 +1,12 @@
        3372  +
{
        3373  +
    "credentials": {
        3374  +
        "access_key_id": "AKIDEXAMPLE",
        3375  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3376  +
    },
        3377  +
    "expiration_in_seconds": 3600,
        3378  +
    "normalize": true,
        3379  +
    "region": "us-east-1",
        3380  +
    "service": "service",
        3381  +
    "sign_body": false,
        3382  +
    "timestamp": "2015-08-30T12:36:00Z"
        3383  +
}
              \
 No newline at end of file
 2923   3384   
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
 2924   3385   
similarity index 100%
 2925   3386   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2926   3387   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2927   3388   
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
 2928   3389   
new file mode 100644
 2929   3390   
index 0000000..629487f
 2930         -
-- /dev/null
        3391  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2931   3392   
@@ -0,0 +1 @@
        3393  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2932   3394   
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
 2933   3395   
new file mode 100644
 2934   3396   
index 0000000..0d99b1c
 2935         -
-- /dev/null
        3397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2936   3398   
@@ -0,0 +1,5 @@
        3399  +
POST / HTTP/1.1
        3400  +
Host:example.amazonaws.com
        3401  +
X-Amz-Date:20150830T123600Z
        3402  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3403  +
 2937   3404   
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
 2938   3405   
similarity index 100%
 2939   3406   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2940   3407   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2941   3408   
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
 2942   3409   
new file mode 100644
 2943   3410   
index 0000000..d3341e7
 2944         -
-- /dev/null
        3411  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2945   3412   
@@ -0,0 +1,7 @@
        3413  +
POST
        3414  +
/
        3415  +
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
        3416  +
host:example.amazonaws.com
        3417  +
        3418  +
host
        3419  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2946   3420   
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
 2947   3421   
new file mode 100644
 2948   3422   
index 0000000..79f7e0d
 2949         -
-- /dev/null
        3423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2950   3424   
@@ -0,0 +1 @@
        3425  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2951   3426   
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
 2952   3427   
new file mode 100644
 2953   3428   
index 0000000..94f1b21
 2954         -
-- /dev/null
        3429  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2955   3430   
@@ -0,0 +1,3 @@
        3431  +
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
        3432  +
Host:example.amazonaws.com
        3433  +
 2956   3434   
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
 2957   3435   
new file mode 100644
 2958   3436   
index 0000000..e8f335b
 2959         -
-- /dev/null
        3437  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2960   3438   
@@ -0,0 +1,4 @@
        3439  +
AWS4-HMAC-SHA256
        3440  +
20150830T123600Z
        3441  +
20150830/us-east-1/service/aws4_request
        3442  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2961   3443   
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
 2962   3444   
similarity index 100%
 2963   3445   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2964   3446   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2965   3447   
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
 2966   3448   
similarity index 99%
 2967   3449   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2968   3450   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2969   3451   
index fc4bce6..0db1df1 100644
 2970   3452   
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
 2971   3453   
new file mode 100644
 2972   3454   
index 0000000..c218fdf
 2973         -
-- /dev/null
        3455  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2974   3456   
@@ -0,0 +1,11 @@
        3457  +
POST
        3458  +
/
        3459  +
        3460  +
content-length:13
        3461  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3462  +
host:example.amazonaws.com
        3463  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3464  +
x-amz-date:20150830T123600Z
        3465  +
        3466  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3467  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2975   3468   
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
 2976   3469   
new file mode 100644
 2977   3470   
index 0000000..836aa8b
 2978         -
-- /dev/null
        3471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2979   3472   
@@ -0,0 +1 @@
        3473  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2980   3474   
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
 2981   3475   
new file mode 100644
 2982   3476   
index 0000000..9262d53
 2983         -
-- /dev/null
        3477  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2984   3478   
@@ -0,0 +1,9 @@
        3479  +
POST / HTTP/1.1
        3480  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3481  +
Host:example.amazonaws.com
        3482  +
Content-Length:13
        3483  +
X-Amz-Date:20150830T123600Z
        3484  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3485  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
        3486  +
        3487  +
Param1=value1
              \
 No newline at end of file
 2985   3488   
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
 2986   3489   
new file mode 100644
 2987   3490   
index 0000000..ddbdccc
 2988         -
-- /dev/null
        3491  +
++ 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
 2989   3492   
@@ -0,0 +1,4 @@
        3493  +
AWS4-HMAC-SHA256
        3494  +
20150830T123600Z
        3495  +
20150830/us-east-1/service/aws4_request
        3496  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 2990   3497   
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
 2991   3498   
new file mode 100644
 2992   3499   
index 0000000..596a579
 2993         -
-- /dev/null
        3500  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 2994   3501   
@@ -0,0 +1,9 @@
        3502  +
POST
        3503  +
/
        3504  +
X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost
        3505  +
content-length:13
        3506  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3507  +
host:example.amazonaws.com
        3508  +
        3509  +
content-length;content-type;host
        3510  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2995   3511   
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
 2996   3512   
new file mode 100644
 2997   3513   
index 0000000..bc85cd8
 2998         -
-- /dev/null
        3514  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 2999   3515   
@@ -0,0 +1 @@
        3516  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 3000   3517   
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
 3001   3518   
new file mode 100644
 3002   3519   
index 0000000..16b59e5
 3003         -
-- /dev/null
        3520  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 3004   3521   
@@ -0,0 +1,6 @@
        3522  +
POST /?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fus-east-1%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost&X-Amz-Expires=3600&X-Amz-Signature=0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d HTTP/1.1
        3523  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3524  +
Host:example.amazonaws.com
        3525  +
Content-Length:13
        3526  +
        3527  +
Param1=value1
              \
 No newline at end of file
 3005   3528   
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
 3006   3529   
new file mode 100644
 3007   3530   
index 0000000..50074af
 3008         -
-- /dev/null
        3531  +
++ 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
 3009   3532   
@@ -0,0 +1,4 @@
        3533  +
AWS4-HMAC-SHA256
        3534  +
20150830T123600Z
        3535  +
20150830/us-east-1/service/aws4_request
        3536  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 3010   3537   
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
 3011   3538   
similarity index 89%
 3012   3539   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 3013   3540   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 3014   3541   
index b711c25..8289eaa 100644
 3015   3542   
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
 3016   3543   
similarity index 99%
 3017   3544   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 3018   3545   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 3019   3546   
index fc4bce6..0db1df1 100644
 3020   3547   
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
 3021   3548   
new file mode 100644
 3022   3549   
index 0000000..4d116a5
 3023         -
-- /dev/null
        3550  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 3024   3551   
@@ -0,0 +1,11 @@
        3552  +
POST
        3553  +
/
        3554  +
        3555  +
content-length:13
        3556  +
content-type:application/x-www-form-urlencoded
        3557  +
host:example.amazonaws.com
        3558  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3559  +
x-amz-date:20150830T123600Z
        3560  +
        3561  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3562  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3025   3563   
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
 3026   3564   
new file mode 100644
 3027   3565   
index 0000000..0d2ac37
 3028         -
-- /dev/null
        3566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 3029   3567   
@@ -0,0 +1 @@
        3568  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 3030   3569   
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
 3031   3570   
new file mode 100644
 3032   3571   
index 0000000..bd5e49c
 3033         -
-- /dev/null
        3572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 3034   3573   
@@ -0,0 +1,9 @@
        3574  +
POST / HTTP/1.1
        3575  +
Content-Type:application/x-www-form-urlencoded
        3576  +
Host:example.amazonaws.com
        3577  +
Content-Length:13
        3578  +
X-Amz-Date:20150830T123600Z
        3579  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3580  +
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
        3581  +
        3582  +
Param1=value1
              \
 No newline at end of file
 3035   3583   
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
 3036   3584   
new file mode 100644
 3037   3585   
index 0000000..f1c599c
 3038         -
-- /dev/null
        3586  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 3039   3587   
@@ -0,0 +1,4 @@
        3588  +
AWS4-HMAC-SHA256
        3589  +
20150830T123600Z
        3590  +
20150830/us-east-1/service/aws4_request
        3591  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 3040   3592   
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
 3041   3593   
new file mode 100644
 3042   3594   
index 0000000..1fc1bb7
 3043         -
-- /dev/null
        3595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 3044   3596   
@@ -0,0 +1,9 @@
        3597  +
POST
        3598  +
/
        3599  +
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
        3600  +
content-length:13
        3601  +
content-type:application/x-www-form-urlencoded
        3602  +
host:example.amazonaws.com
        3603  +
        3604  +
content-length;content-type;host
        3605  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3045   3606   
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
 3046   3607   
new file mode 100644
 3047   3608   
index 0000000..98c91b3
 3048         -
-- /dev/null
        3609  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 3049   3610   
@@ -0,0 +1 @@
        3611  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 3050   3612   
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
 3051   3613   
new file mode 100644
 3052   3614   
index 0000000..055cd7a
 3053         -
-- /dev/null
        3615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 3054   3616   
@@ -0,0 +1,6 @@
        3617  +
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
        3618  +
Content-Type:application/x-www-form-urlencoded
        3619  +
Host:example.amazonaws.com
        3620  +
Content-Length:13
        3621  +
        3622  +
Param1=value1
              \
 No newline at end of file
 3055   3623   
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
 3056   3624   
new file mode 100644
 3057   3625   
index 0000000..db7fc27
 3058         -
-- /dev/null
        3626  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 3059   3627   
@@ -0,0 +1,4 @@
        3628  +
AWS4-HMAC-SHA256
        3629  +
20150830T123600Z
        3630  +
20150830/us-east-1/service/aws4_request
        3631  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 3060   3632   
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
 3061   3633   
similarity index 88%
 3062   3634   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 3063   3635   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3064   3636   
index 0091102..760b2d3 100644
 3065   3637   
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
 3066   3638   
new file mode 100644
 3067   3639   
index 0000000..0468d80
 3068         -
-- /dev/null
        3640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 3069   3641   
@@ -0,0 +1,12 @@
        3642  +
{
        3643  +
    "credentials": {
        3644  +
        "access_key_id": "AKIDEXAMPLE",
        3645  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3646  +
    },
        3647  +
    "expiration_in_seconds": 3600,
        3648  +
    "normalize": true,
        3649  +
    "region": "us-east-1",
        3650  +
    "service": "service",
        3651  +
    "sign_body": false,
        3652  +
    "timestamp": "2015-08-30T12:36:00Z"
        3653  +
}
              \
 No newline at end of file
 3070   3654   
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
 3071   3655   
similarity index 99%
 3072   3656   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 3073   3657   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3074   3658   
index ccb5f43..1bc448e 100644
 3075   3659   
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
 3076   3660   
new file mode 100644
 3077   3661   
index 0000000..489c182
 3078         -
-- /dev/null
        3662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 3079   3663   
@@ -0,0 +1 @@
        3664  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 3080   3665   
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
 3081   3666   
new file mode 100644
 3082   3667   
index 0000000..e1b8dbf
 3083         -
-- /dev/null
        3668  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 3084   3669   
@@ -0,0 +1,9 @@
        3670  +
GET / HTTP/1.1
        3671  +
Host:example.amazonaws.com
        3672  +
My-Header1:value2
        3673  +
My-Header1:value2
        3674  +
My-Header1:value1
        3675  +
X-Amz-Date:20150830T123600Z
        3676  +
X-Amz-Region-Set:us-east-1
        3677  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3678  +
 3085   3679   
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
 3086   3680   
similarity index 99%
 3087   3681   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 3088   3682   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3089   3683   
index 8783461..bfc4619 100644
 3090   3684   
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
 3091   3685   
new file mode 100644
 3092   3686   
index 0000000..379dcb2
 3093         -
-- /dev/null
        3687  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 3094   3688   
@@ -0,0 +1,4 @@
        3689  +
{
        3690  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3691  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3692  +
}
 3095   3693   
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
 3096   3694   
similarity index 99%
 3097   3695   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 3098   3696   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3099   3697   
index 9561297..c05c3f5 100644
 3100   3698   
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
 3101   3699   
new file mode 100644
 3102   3700   
index 0000000..de9a4c3
 3103         -
-- /dev/null
        3701  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 3104   3702   
@@ -0,0 +1 @@
        3703  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 3105   3704   
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
 3106   3705   
new file mode 100644
 3107   3706   
index 0000000..6c6b8c4
 3108         -
-- /dev/null
        3707  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 3109   3708   
@@ -0,0 +1,6 @@
        3709  +
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
        3710  +
Host:example.amazonaws.com
        3711  +
My-Header1:value2
        3712  +
My-Header1:value2
        3713  +
My-Header1:value1
        3714  +
 3110   3715   
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
 3111   3716   
similarity index 99%
 3112   3717   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 3113   3718   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3114   3719   
index 3140f6f..4eef106 100644
 3115   3720   
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
 3116   3721   
similarity index 78%
 3117   3722   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 3118   3723   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3119   3724   
index 08a0364..40455ce 100644
 3120         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3725  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3121   3726   
@@ -1,6 +1,5 @@
 3122   3727   
GET / HTTP/1.1
 3123   3728   
Host:example.amazonaws.com
 3124   3729   
My-Header1:value2
 3125   3730   
My-Header1:value2
 3126   3731   
My-Header1:value1
 3127         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3128   3732   
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
 3129   3733   
new file mode 100644
 3130   3734   
index 0000000..0468d80
 3131         -
-- /dev/null
        3735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 3132   3736   
@@ -0,0 +1,12 @@
        3737  +
{
        3738  +
    "credentials": {
        3739  +
        "access_key_id": "AKIDEXAMPLE",
        3740  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3741  +
    },
        3742  +
    "expiration_in_seconds": 3600,
        3743  +
    "normalize": true,
        3744  +
    "region": "us-east-1",
        3745  +
    "service": "service",
        3746  +
    "sign_body": false,
        3747  +
    "timestamp": "2015-08-30T12:36:00Z"
        3748  +
}
              \
 No newline at end of file
 3133   3749   
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
 3134   3750   
new file mode 100644
 3135   3751   
index 0000000..69526cd
 3136         -
-- /dev/null
        3752  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 3137   3753   
@@ -0,0 +1,10 @@
        3754  +
GET
        3755  +
/
        3756  +
        3757  +
host:example.amazonaws.com
        3758  +
my-header1:value1 value2 value3
        3759  +
x-amz-date:20150830T123600Z
        3760  +
x-amz-region-set:us-east-1
        3761  +
        3762  +
host;my-header1;x-amz-date;x-amz-region-set
        3763  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3138   3764   
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
 3139   3765   
new file mode 100644
 3140   3766   
index 0000000..d51b4f3
 3141         -
-- /dev/null
        3767  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 3142   3768   
@@ -0,0 +1 @@
        3769  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 3143   3770   
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
 3144   3771   
new file mode 100644
 3145   3772   
index 0000000..8131420
 3146         -
-- /dev/null
        3773  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 3147   3774   
@@ -0,0 +1,9 @@
        3775  +
GET / HTTP/1.1
        3776  +
Host:example.amazonaws.com
        3777  +
My-Header1:value1
        3778  +
  value2
        3779  +
     value3
        3780  +
X-Amz-Date:20150830T123600Z
        3781  +
X-Amz-Region-Set:us-east-1
        3782  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3783  +
 3148   3784   
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
 3149   3785   
new file mode 100644
 3150   3786   
index 0000000..e4d99fa
 3151         -
-- /dev/null
        3787  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 3152   3788   
@@ -0,0 +1,4 @@
        3789  +
AWS4-ECDSA-P256-SHA256
        3790  +
20150830T123600Z
        3791  +
20150830/service/aws4_request
        3792  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 3153   3793   
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
 3154   3794   
new file mode 100644
 3155   3795   
index 0000000..379dcb2
 3156         -
-- /dev/null
        3796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 3157   3797   
@@ -0,0 +1,4 @@
        3798  +
{
        3799  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3800  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3801  +
}
 3158   3802   
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
 3159   3803   
new file mode 100644
 3160   3804   
index 0000000..3c4d52f
 3161         -
-- /dev/null
        3805  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 3162   3806   
@@ -0,0 +1,8 @@
        3807  +
GET
        3808  +
/
        3809  +
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
        3810  +
host:example.amazonaws.com
        3811  +
my-header1:value1 value2 value3
        3812  +
        3813  +
host;my-header1
        3814  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3163   3815   
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
 3164   3816   
new file mode 100644
 3165   3817   
index 0000000..4e63f9a
 3166         -
-- /dev/null
        3818  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 3167   3819   
@@ -0,0 +1 @@
        3820  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 3168   3821   
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
 3169   3822   
new file mode 100644
 3170   3823   
index 0000000..adf1f09
 3171         -
-- /dev/null
        3824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 3172   3825   
@@ -0,0 +1,6 @@
        3826  +
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
        3827  +
Host:example.amazonaws.com
        3828  +
My-Header1:value1
        3829  +
  value2
        3830  +
     value3
        3831  +
 3173   3832   
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
 3174   3833   
new file mode 100644
 3175   3834   
index 0000000..e085407
 3176         -
-- /dev/null
        3835  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3177   3836   
@@ -0,0 +1,4 @@
        3837  +
AWS4-ECDSA-P256-SHA256
        3838  +
20150830T123600Z
        3839  +
20150830/service/aws4_request
        3840  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 3178   3841   
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
 3179   3842   
new file mode 100644
 3180   3843   
index 0000000..b5026cd
 3181         -
-- /dev/null
        3844  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3182   3845   
@@ -0,0 +1,5 @@
        3846  +
GET / HTTP/1.1
        3847  +
Host:example.amazonaws.com
        3848  +
My-Header1:value1
        3849  +
  value2
        3850  +
     value3
 3183   3851   
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
 3184   3852   
new file mode 100644
 3185   3853   
index 0000000..0468d80
 3186         -
-- /dev/null
        3854  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3187   3855   
@@ -0,0 +1,12 @@
        3856  +
{
        3857  +
    "credentials": {
        3858  +
        "access_key_id": "AKIDEXAMPLE",
        3859  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3860  +
    },
        3861  +
    "expiration_in_seconds": 3600,
        3862  +
    "normalize": true,
        3863  +
    "region": "us-east-1",
        3864  +
    "service": "service",
        3865  +
    "sign_body": false,
        3866  +
    "timestamp": "2015-08-30T12:36:00Z"
        3867  +
}
              \
 No newline at end of file
 3188   3868   
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
 3189   3869   
similarity index 99%
 3190   3870   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3191   3871   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3192   3872   
index 9375193..533afdb 100644
 3193   3873   
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
 3194   3874   
new file mode 100644
 3195   3875   
index 0000000..057b426
 3196         -
-- /dev/null
        3876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3197   3877   
@@ -0,0 +1 @@
        3878  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3198   3879   
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
 3199   3880   
new file mode 100644
 3200   3881   
index 0000000..4e4ccf0
 3201         -
-- /dev/null
        3882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3202   3883   
@@ -0,0 +1,10 @@
        3884  +
GET / HTTP/1.1
        3885  +
Host:example.amazonaws.com
        3886  +
My-Header1:value4
        3887  +
My-Header1:value1
        3888  +
My-Header1:value3
        3889  +
My-Header1:value2
        3890  +
X-Amz-Date:20150830T123600Z
        3891  +
X-Amz-Region-Set:us-east-1
        3892  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3893  +
 3203   3894   
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
 3204   3895   
similarity index 99%
 3205   3896   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3206   3897   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3207   3898   
index 6400baf..e68c952 100644
 3208   3899   
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
 3209   3900   
new file mode 100644
 3210   3901   
index 0000000..379dcb2
 3211         -
-- /dev/null
        3902  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3212   3903   
@@ -0,0 +1,4 @@
        3904  +
{
        3905  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3906  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3907  +
}
 3213   3908   
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
 3214   3909   
similarity index 99%
 3215   3910   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3216   3911   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3217   3912   
index ecf494a..68450fe 100644
 3218   3913   
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
 3219   3914   
new file mode 100644
 3220   3915   
index 0000000..9df2eb3
 3221         -
-- /dev/null
        3916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3222   3917   
@@ -0,0 +1 @@
        3918  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3223   3919   
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
 3224   3920   
new file mode 100644
 3225   3921   
index 0000000..62f8cb7
 3226         -
-- /dev/null
        3922  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3227   3923   
@@ -0,0 +1,7 @@
        3924  +
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
        3925  +
Host:example.amazonaws.com
        3926  +
My-Header1:value4
        3927  +
My-Header1:value1
        3928  +
My-Header1:value3
        3929  +
My-Header1:value2
        3930  +
 3228   3931   
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
 3229   3932   
similarity index 99%
 3230   3933   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3231   3934   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3232   3935   
index b584179..2bcf7b1 100644
 3233   3936   
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
 3234   3937   
similarity index 80%
 3235   3938   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3236   3939   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3237   3940   
index f7bd9e6..2c6f49d 100644
 3238         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3941  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3239   3942   
@@ -1,7 +1,6 @@
 3240   3943   
GET / HTTP/1.1
 3241   3944   
Host:example.amazonaws.com
 3242   3945   
My-Header1:value4
 3243   3946   
My-Header1:value1
 3244   3947   
My-Header1:value3
 3245   3948   
My-Header1:value2
 3246         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3247   3949   
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
 3248   3950   
new file mode 100644
 3249   3951   
index 0000000..0468d80
 3250         -
-- /dev/null
        3952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3251   3953   
@@ -0,0 +1,12 @@
        3954  +
{
        3955  +
    "credentials": {
        3956  +
        "access_key_id": "AKIDEXAMPLE",
        3957  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3958  +
    },
        3959  +
    "expiration_in_seconds": 3600,
        3960  +
    "normalize": true,
        3961  +
    "region": "us-east-1",
        3962  +
    "service": "service",
        3963  +
    "sign_body": false,
        3964  +
    "timestamp": "2015-08-30T12:36:00Z"
        3965  +
}
              \
 No newline at end of file
 3252   3966   
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
 3253   3967   
similarity index 99%
 3254   3968   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3255   3969   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3256   3970   
index e91e952..94b6be5 100644
 3257   3971   
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
 3258   3972   
new file mode 100644
 3259   3973   
index 0000000..bf8c3cb
 3260         -
-- /dev/null
        3974  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3261   3975   
@@ -0,0 +1 @@
        3976  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3262   3977   
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
 3263   3978   
new file mode 100644
 3264   3979   
index 0000000..f7f054d
 3265         -
-- /dev/null
        3980  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3266   3981   
@@ -0,0 +1,8 @@
        3982  +
GET / HTTP/1.1
        3983  +
Host:example.amazonaws.com
        3984  +
My-Header1: value1
        3985  +
My-Header2: "a   b   c"
        3986  +
X-Amz-Date:20150830T123600Z
        3987  +
X-Amz-Region-Set:us-east-1
        3988  +
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
        3989  +
 3267   3990   
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
 3268   3991   
similarity index 99%
 3269   3992   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3270   3993   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3271   3994   
index 0e407d8..a2c9c05 100644
 3272   3995   
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
 3273   3996   
new file mode 100644
 3274   3997   
index 0000000..379dcb2
 3275         -
-- /dev/null
        3998  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3276   3999   
@@ -0,0 +1,4 @@
        4000  +
{
        4001  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4002  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4003  +
}
 3277   4004   
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
 3278   4005   
similarity index 99%
 3279   4006   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3280   4007   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3281   4008   
index 8a3b042..3a51150 100644
 3282   4009   
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
 3283   4010   
new file mode 100644
 3284   4011   
index 0000000..0033053
 3285         -
-- /dev/null
        4012  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3286   4013   
@@ -0,0 +1 @@
        4014  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3287   4015   
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
 3288   4016   
new file mode 100644
 3289   4017   
index 0000000..1537888
 3290         -
-- /dev/null
        4018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3291   4019   
@@ -0,0 +1,5 @@
        4020  +
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
        4021  +
Host:example.amazonaws.com
        4022  +
My-Header1: value1
        4023  +
My-Header2: "a   b   c"
        4024  +
 3292   4025   
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
 3293   4026   
similarity index 99%
 3294   4027   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3295   4028   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3296   4029   
index 5eead25..633dc1f 100644
 3297   4030   
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
 3298   4031   
similarity index 75%
 3299   4032   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3300   4033   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3301   4034   
index 901f36c..ad1ea98 100644
 3302         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        4035  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3303   4036   
@@ -1,5 +1,4 @@
 3304   4037   
GET / HTTP/1.1
 3305   4038   
Host:example.amazonaws.com
 3306   4039   
My-Header1: value1
 3307   4040   
My-Header2: "a   b   c"
 3308         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3309   4041   
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
 3310   4042   
new file mode 100644
 3311   4043   
index 0000000..0468d80
 3312         -
-- /dev/null
        4044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3313   4045   
@@ -0,0 +1,12 @@
        4046  +
{
        4047  +
    "credentials": {
        4048  +
        "access_key_id": "AKIDEXAMPLE",
        4049  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4050  +
    },
        4051  +
    "expiration_in_seconds": 3600,
        4052  +
    "normalize": true,
        4053  +
    "region": "us-east-1",
        4054  +
    "service": "service",
        4055  +
    "sign_body": false,
        4056  +
    "timestamp": "2015-08-30T12:36:00Z"
        4057  +
}
              \
 No newline at end of file
 3314   4058   
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
 3315   4059   
similarity index 99%
 3316   4060   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3317   4061   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3318   4062   
index 47e7128..76db73d 100644
 3319   4063   
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
 3320   4064   
new file mode 100644
 3321   4065   
index 0000000..cbd6ae2
 3322         -
-- /dev/null
        4066  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3323   4067   
@@ -0,0 +1 @@
        4068  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3324   4069   
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
 3325   4070   
new file mode 100644
 3326   4071   
index 0000000..a343fcf
 3327         -
-- /dev/null
        4072  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3328   4073   
@@ -0,0 +1,6 @@
        4074  +
GET /example/.. HTTP/1.1
        4075  +
Host:example.amazonaws.com
        4076  +
X-Amz-Date:20150830T123600Z
        4077  +
X-Amz-Region-Set:us-east-1
        4078  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        4079  +
 3329   4080   
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
 3330   4081   
similarity index 99%
 3331   4082   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3332   4083   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3333   4084   
index 95d7219..600f1d8 100644
 3334   4085   
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
 3335   4086   
new file mode 100644
 3336   4087   
index 0000000..379dcb2
 3337         -
-- /dev/null
        4088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3338   4089   
@@ -0,0 +1,4 @@
        4090  +
{
        4091  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4092  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4093  +
}
 3339   4094   
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
 3340   4095   
similarity index 99%
 3341   4096   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3342   4097   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3343   4098   
index a34ea26..779c51c 100644
 3344   4099   
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
 3345   4100   
new file mode 100644
 3346   4101   
index 0000000..3cc88e6
 3347         -
-- /dev/null
        4102  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3348   4103   
@@ -0,0 +1 @@
        4104  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3349   4105   
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
 3350   4106   
new file mode 100644
 3351   4107   
index 0000000..f68dde8
 3352         -
-- /dev/null
        4108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3353   4109   
@@ -0,0 +1,3 @@
        4110  +
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
        4111  +
Host:example.amazonaws.com
        4112  +
 3354   4113   
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
 3355   4114   
similarity index 99%
 3356   4115   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3357   4116   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3358   4117   
index 48f855c..6e29a7e 100644
 3359   4118   
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
 3360   4119   
similarity index 65%
 3361   4120   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3362   4121   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3363   4122   
index 9d6d7ca..6aa9f99 100644
 3364         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        4123  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3365   4124   
@@ -1,3 +1,2 @@
 3366   4125   
GET /example/.. HTTP/1.1
 3367   4126   
Host:example.amazonaws.com
 3368         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3369   4127   
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
 3370   4128   
new file mode 100644
 3371   4129   
index 0000000..0468d80
 3372         -
-- /dev/null
        4130  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3373   4131   
@@ -0,0 +1,12 @@
        4132  +
{
        4133  +
    "credentials": {
        4134  +
        "access_key_id": "AKIDEXAMPLE",
        4135  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4136  +
    },
        4137  +
    "expiration_in_seconds": 3600,
        4138  +
    "normalize": true,
        4139  +
    "region": "us-east-1",
        4140  +
    "service": "service",
        4141  +
    "sign_body": false,
        4142  +
    "timestamp": "2015-08-30T12:36:00Z"
        4143  +
}
              \
 No newline at end of file
 3374   4144   
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
 3375   4145   
similarity index 99%
 3376   4146   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3377   4147   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3378   4148   
index 47e7128..76db73d 100644
 3379   4149   
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
 3380   4150   
new file mode 100644
 3381   4151   
index 0000000..f7a7ebe
 3382         -
-- /dev/null
        4152  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3383   4153   
@@ -0,0 +1 @@
        4154  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3384   4155   
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
 3385   4156   
new file mode 100644
 3386   4157   
index 0000000..9d2c50d
 3387         -
-- /dev/null
        4158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3388   4159   
@@ -0,0 +1,6 @@
        4160  +
GET /example1/example2/../.. HTTP/1.1
        4161  +
Host:example.amazonaws.com
        4162  +
X-Amz-Date:20150830T123600Z
        4163  +
X-Amz-Region-Set:us-east-1
        4164  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4165  +
 3389   4166   
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
 3390   4167   
similarity index 99%
 3391   4168   
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
 3392   4169   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3393   4170   
index 95d7219..600f1d8 100644
 3394   4171   
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
 3395   4172   
new file mode 100644
 3396   4173   
index 0000000..379dcb2
 3397         -
-- /dev/null
        4174  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3398   4175   
@@ -0,0 +1,4 @@
        4176  +
{
        4177  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4178  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4179  +
}
 3399   4180   
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
 3400   4181   
similarity index 99%
 3401   4182   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3402   4183   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3403   4184   
index a34ea26..779c51c 100644
 3404   4185   
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
 3405   4186   
new file mode 100644
 3406   4187   
index 0000000..45ef286
 3407         -
-- /dev/null
        4188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3408   4189   
@@ -0,0 +1 @@
        4190  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3409   4191   
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
 3410   4192   
new file mode 100644
 3411   4193   
index 0000000..0d16f66
 3412         -
-- /dev/null
        4194  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3413   4195   
@@ -0,0 +1,3 @@
        4196  +
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
        4197  +
Host:example.amazonaws.com
        4198  +
 3414   4199   
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
 3415   4200   
similarity index 99%
 3416   4201   
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
 3417   4202   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3418   4203   
index 48f855c..6e29a7e 100644
 3419   4204   
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
 3420   4205   
similarity index 70%
 3421   4206   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3422   4207   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3423   4208   
index cfd4e8b..a856c10 100644
 3424         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3425   4210   
@@ -1,3 +1,2 @@
 3426   4211   
GET /example1/example2/../.. HTTP/1.1
 3427   4212   
Host:example.amazonaws.com
 3428         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3429   4213   
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
 3430   4214   
new file mode 100644
 3431   4215   
index 0000000..7bee5c7
 3432         -
-- /dev/null
        4216  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3433   4217   
@@ -0,0 +1,12 @@
        4218  +
{
        4219  +
    "credentials": {
        4220  +
        "access_key_id": "AKIDEXAMPLE",
        4221  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4222  +
    },
        4223  +
    "expiration_in_seconds": 3600,
        4224  +
    "normalize": false,
        4225  +
    "region": "us-east-1",
        4226  +
    "service": "service",
        4227  +
    "sign_body": false,
        4228  +
    "timestamp": "2015-08-30T12:36:00Z"
        4229  +
}
              \
 No newline at end of file
 3434   4230   
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
 3435   4231   
similarity index 99%
 3436   4232   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3437   4233   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3438   4234   
index 5e1d1cf..e4e6d57 100644
 3439   4235   
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
 3440   4236   
new file mode 100644
 3441   4237   
index 0000000..2d1b47c
 3442         -
-- /dev/null
        4238  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3443   4239   
@@ -0,0 +1 @@
        4240  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3444   4241   
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
 3445   4242   
new file mode 100644
 3446   4243   
index 0000000..7158179
 3447         -
-- /dev/null
        4244  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3448   4245   
@@ -0,0 +1,6 @@
        4246  +
GET /example1/example2/../.. HTTP/1.1
        4247  +
Host:example.amazonaws.com
        4248  +
X-Amz-Date:20150830T123600Z
        4249  +
X-Amz-Region-Set:us-east-1
        4250  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4251  +
 3449   4252   
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
 3450   4253   
similarity index 99%
 3451   4254   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3452   4255   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3453   4256   
index 1cca6cf..db60c8e 100644
 3454   4257   
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
 3455   4258   
new file mode 100644
 3456   4259   
index 0000000..379dcb2
 3457         -
-- /dev/null
        4260  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3458   4261   
@@ -0,0 +1,4 @@
        4262  +
{
        4263  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4264  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4265  +
}
 3459   4266   
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
 3460   4267   
similarity index 99%
 3461   4268   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3462   4269   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3463   4270   
index 95dc104..0d963ba 100644
 3464   4271   
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
 3465   4272   
new file mode 100644
 3466   4273   
index 0000000..ae774e4
 3467         -
-- /dev/null
        4274  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3468   4275   
@@ -0,0 +1 @@
        4276  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3469   4277   
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
 3470   4278   
new file mode 100644
 3471   4279   
index 0000000..be6b86e
 3472         -
-- /dev/null
        4280  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3473   4281   
@@ -0,0 +1,3 @@
        4282  +
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
        4283  +
Host:example.amazonaws.com
        4284  +
 3474   4285   
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
 3475   4286   
similarity index 99%
 3476   4287   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3477   4288   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3478   4289   
index 50edce6..fcc70cd 100644
 3479   4290   
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
 3480   4291   
new file mode 100644
 3481   4292   
index 0000000..a856c10
 3482         -
-- /dev/null
        4293  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3483   4294   
@@ -0,0 +1,2 @@
        4295  +
GET /example1/example2/../.. HTTP/1.1
        4296  +
Host:example.amazonaws.com
 3484   4297   
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
 3485   4298   
new file mode 100644
 3486   4299   
index 0000000..7bee5c7
 3487         -
-- /dev/null
        4300  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3488   4301   
@@ -0,0 +1,12 @@
        4302  +
{
        4303  +
    "credentials": {
        4304  +
        "access_key_id": "AKIDEXAMPLE",
        4305  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4306  +
    },
        4307  +
    "expiration_in_seconds": 3600,
        4308  +
    "normalize": false,
        4309  +
    "region": "us-east-1",
        4310  +
    "service": "service",
        4311  +
    "sign_body": false,
        4312  +
    "timestamp": "2015-08-30T12:36:00Z"
        4313  +
}
              \
 No newline at end of file
 3489   4314   
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
 3490   4315   
similarity index 99%
 3491   4316   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3492   4317   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3493   4318   
index d6a0abe..22def1a 100644
 3494   4319   
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
 3495   4320   
new file mode 100644
 3496   4321   
index 0000000..9251bad
 3497         -
-- /dev/null
        4322  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3498   4323   
@@ -0,0 +1 @@
        4324  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3499   4325   
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
 3500   4326   
new file mode 100644
 3501   4327   
index 0000000..f1bb60f
 3502         -
-- /dev/null
        4328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3503   4329   
@@ -0,0 +1,6 @@
        4330  +
GET /example/.. HTTP/1.1
        4331  +
Host:example.amazonaws.com
        4332  +
X-Amz-Date:20150830T123600Z
        4333  +
X-Amz-Region-Set:us-east-1
        4334  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4335  +
 3504   4336   
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
 3505   4337   
similarity index 99%
 3506   4338   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3507   4339   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3508   4340   
index 4a34e93..5673a20 100644
 3509   4341   
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
 3510   4342   
new file mode 100644
 3511   4343   
index 0000000..379dcb2
 3512         -
-- /dev/null
        4344  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3513   4345   
@@ -0,0 +1,4 @@
        4346  +
{
        4347  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4348  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4349  +
}
 3514   4350   
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
 3515   4351   
similarity index 99%
 3516   4352   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3517   4353   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3518   4354   
index b1d123e..a1c22e0 100644
 3519   4355   
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
 3520   4356   
new file mode 100644
 3521   4357   
index 0000000..9f0f686
 3522         -
-- /dev/null
        4358  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3523   4359   
@@ -0,0 +1 @@
        4360  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3524   4361   
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
 3525   4362   
new file mode 100644
 3526   4363   
index 0000000..d1d451a
 3527         -
-- /dev/null
        4364  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3528   4365   
@@ -0,0 +1,3 @@
        4366  +
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
        4367  +
Host:example.amazonaws.com
        4368  +
 3529   4369   
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
 3530   4370   
similarity index 99%
 3531   4371   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3532   4372   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3533   4373   
index a17f5ab..81b41e8 100644
 3534   4374   
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
 3535   4375   
new file mode 100644
 3536   4376   
index 0000000..6aa9f99
 3537         -
-- /dev/null
        4377  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3538   4378   
@@ -0,0 +1,2 @@
        4379  +
GET /example/.. HTTP/1.1
        4380  +
Host:example.amazonaws.com
 3539   4381   
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
 3540   4382   
new file mode 100644
 3541   4383   
index 0000000..0468d80
 3542         -
-- /dev/null
        4384  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3543   4385   
@@ -0,0 +1,12 @@
        4386  +
{
        4387  +
    "credentials": {
        4388  +
        "access_key_id": "AKIDEXAMPLE",
        4389  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4390  +
    },
        4391  +
    "expiration_in_seconds": 3600,
        4392  +
    "normalize": true,
        4393  +
    "region": "us-east-1",
        4394  +
    "service": "service",
        4395  +
    "sign_body": false,
        4396  +
    "timestamp": "2015-08-30T12:36:00Z"
        4397  +
}
              \
 No newline at end of file
 3544   4398   
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
 3545   4399   
similarity index 99%
 3546   4400   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3547   4401   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3548   4402   
index 47e7128..76db73d 100644
 3549   4403   
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
 3550   4404   
new file mode 100644
 3551   4405   
index 0000000..ca6e84e
 3552         -
-- /dev/null
        4406  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3553   4407   
@@ -0,0 +1 @@
        4408  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3554   4409   
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
 3555   4410   
new file mode 100644
 3556   4411   
index 0000000..a7c764c
 3557         -
-- /dev/null
        4412  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3558   4413   
@@ -0,0 +1,6 @@
        4414  +
GET /./ HTTP/1.1
        4415  +
Host:example.amazonaws.com
        4416  +
X-Amz-Date:20150830T123600Z
        4417  +
X-Amz-Region-Set:us-east-1
        4418  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4419  +
 3559   4420   
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
 3560   4421   
similarity index 99%
 3561   4422   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3562   4423   
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
 3563   4424   
index 95d7219..600f1d8 100644
 3564   4425   
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
 3565   4426   
new file mode 100644
 3566   4427   
index 0000000..379dcb2
 3567         -
-- /dev/null
        4428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3568   4429   
@@ -0,0 +1,4 @@
        4430  +
{
        4431  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4432  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4433  +
}
 3569   4434   
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
 3570   4435   
similarity index 99%
 3571   4436   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3572   4437   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3573   4438   
index a34ea26..779c51c 100644
 3574   4439   
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
 3575   4440   
new file mode 100644
 3576   4441   
index 0000000..4b6ed09
 3577         -
-- /dev/null
        4442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3578   4443   
@@ -0,0 +1 @@
        4444  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3579   4445   
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
 3580   4446   
new file mode 100644
 3581   4447   
index 0000000..d6c7176
 3582         -
-- /dev/null
        4448  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3583   4449   
@@ -0,0 +1,3 @@
        4450  +
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
        4451  +
Host:example.amazonaws.com
        4452  +
 3584   4453   
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
 3585   4454   
similarity index 99%
 3586   4455   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3587   4456   
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
 3588   4457   
index 48f855c..6e29a7e 100644
 3589   4458   
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
 3590   4459   
similarity index 61%
 3591   4460   
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
 3592   4461   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3593   4462   
index f3537b7..2c5ff38 100644
 3594         -
-- 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
        4463  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3595   4464   
@@ -1,3 +1,2 @@
 3596   4465   
GET /./ HTTP/1.1
 3597   4466   
Host:example.amazonaws.com
 3598         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3599   4467   
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
 3600   4468   
new file mode 100644
 3601   4469   
index 0000000..7bee5c7
 3602         -
-- /dev/null
        4470  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3603   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
 3604   4484   
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
 3605   4485   
similarity index 99%
 3606   4486   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3607   4487   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3608   4488   
index d05303d..9257ac4 100644
 3609   4489   
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
 3610   4490   
new file mode 100644
 3611   4491   
index 0000000..2eb1aa5
 3612         -
-- /dev/null
        4492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3613   4493   
@@ -0,0 +1 @@
        4494  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3614   4495   
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
 3615   4496   
new file mode 100644
 3616   4497   
index 0000000..df3b1da
 3617         -
-- /dev/null
        4498  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3618   4499   
@@ -0,0 +1,6 @@
        4500  +
GET /./ HTTP/1.1
        4501  +
Host:example.amazonaws.com
        4502  +
X-Amz-Date:20150830T123600Z
        4503  +
X-Amz-Region-Set:us-east-1
        4504  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4505  +
 3619   4506   
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
 3620   4507   
similarity index 99%
 3621   4508   
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
 3622   4509   
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
 3623   4510   
index e1bfb39..754b3ed 100644
 3624   4511   
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
 3625   4512   
new file mode 100644
 3626   4513   
index 0000000..379dcb2
 3627         -
-- /dev/null
        4514  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3628   4515   
@@ -0,0 +1,4 @@
        4516  +
{
        4517  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4518  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4519  +
}
 3629   4520   
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
 3630   4521   
similarity index 99%
 3631   4522   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3632   4523   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3633   4524   
index f048d0f..c8edce3 100644
 3634   4525   
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
 3635   4526   
new file mode 100644
 3636   4527   
index 0000000..d3af3b8
 3637         -
-- /dev/null
        4528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3638   4529   
@@ -0,0 +1 @@
        4530  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3639   4531   
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
 3640   4532   
new file mode 100644
 3641   4533   
index 0000000..eb38155
 3642         -
-- /dev/null
        4534  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3643   4535   
@@ -0,0 +1,3 @@
        4536  +
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
        4537  +
Host:example.amazonaws.com
        4538  +
 3644   4539   
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
 3645   4540   
similarity index 99%
 3646   4541   
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
 3647   4542   
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
 3648   4543   
index bfcf245..4f20b8f 100644
 3649   4544   
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
 3650   4545   
new file mode 100644
 3651   4546   
index 0000000..2c5ff38
 3652         -
-- /dev/null
        4547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3653   4548   
@@ -0,0 +1,2 @@
        4549  +
GET /./ HTTP/1.1
        4550  +
Host:example.amazonaws.com
 3654   4551   
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
 3655   4552   
new file mode 100644
 3656   4553   
index 0000000..0468d80
 3657         -
-- /dev/null
        4554  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3658   4555   
@@ -0,0 +1,12 @@
        4556  +
{
        4557  +
    "credentials": {
        4558  +
        "access_key_id": "AKIDEXAMPLE",
        4559  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4560  +
    },
        4561  +
    "expiration_in_seconds": 3600,
        4562  +
    "normalize": true,
        4563  +
    "region": "us-east-1",
        4564  +
    "service": "service",
        4565  +
    "sign_body": false,
        4566  +
    "timestamp": "2015-08-30T12:36:00Z"
        4567  +
}
              \
 No newline at end of file
 3659   4568   
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
 3660   4569   
similarity index 99%
 3661   4570   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3662   4571   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3663   4572   
index 47e7128..76db73d 100644
 3664   4573   
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
 3665   4574   
new file mode 100644
 3666   4575   
index 0000000..0c049ca
 3667         -
-- /dev/null
        4576  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3668   4577   
@@ -0,0 +1 @@
        4578  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3669   4579   
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
 3670   4580   
new file mode 100644
 3671   4581   
index 0000000..f4bb1e1
 3672         -
-- /dev/null
        4582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3673   4583   
@@ -0,0 +1,6 @@
        4584  +
GET // HTTP/1.1
        4585  +
Host:example.amazonaws.com
        4586  +
X-Amz-Date:20150830T123600Z
        4587  +
X-Amz-Region-Set:us-east-1
        4588  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4589  +
 3674   4590   
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
 3675   4591   
similarity index 99%
 3676   4592   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3677   4593   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3678   4594   
index 95d7219..600f1d8 100644
 3679   4595   
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
 3680   4596   
new file mode 100644
 3681   4597   
index 0000000..379dcb2
 3682         -
-- /dev/null
        4598  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3683   4599   
@@ -0,0 +1,4 @@
        4600  +
{
        4601  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4602  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4603  +
}
 3684   4604   
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
 3685   4605   
similarity index 99%
 3686   4606   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3687   4607   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3688   4608   
index a34ea26..779c51c 100644
 3689   4609   
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
 3690   4610   
new file mode 100644
 3691   4611   
index 0000000..ca52293
 3692         -
-- /dev/null
        4612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3693   4613   
@@ -0,0 +1 @@
        4614  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3694   4615   
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
 3695   4616   
new file mode 100644
 3696   4617   
index 0000000..4a212a9
 3697         -
-- /dev/null
        4618  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3698   4619   
@@ -0,0 +1,3 @@
        4620  +
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
        4621  +
Host:example.amazonaws.com
        4622  +
 3699   4623   
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
 3700   4624   
similarity index 99%
 3701   4625   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3702   4626   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3703   4627   
index 48f855c..6e29a7e 100644
 3704   4628   
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
 3705   4629   
similarity index 61%
 3706   4630   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3707   4631   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3708   4632   
index ede8e3c..25bc21e 100644
 3709         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4633  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3710   4634   
@@ -1,3 +1,2 @@
 3711   4635   
GET // HTTP/1.1
 3712   4636   
Host:example.amazonaws.com
 3713         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3714   4637   
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
 3715   4638   
new file mode 100644
 3716   4639   
index 0000000..0468d80
 3717         -
-- /dev/null
        4640  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3718   4641   
@@ -0,0 +1,12 @@
        4642  +
{
        4643  +
    "credentials": {
        4644  +
        "access_key_id": "AKIDEXAMPLE",
        4645  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4646  +
    },
        4647  +
    "expiration_in_seconds": 3600,
        4648  +
    "normalize": true,
        4649  +
    "region": "us-east-1",
        4650  +
    "service": "service",
        4651  +
    "sign_body": false,
        4652  +
    "timestamp": "2015-08-30T12:36:00Z"
        4653  +
}
              \
 No newline at end of file
 3719   4654   
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
 3720   4655   
similarity index 99%
 3721   4656   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3722   4657   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3723   4658   
index 2e36c20..a51f1ba 100644
 3724   4659   
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
 3725   4660   
new file mode 100644
 3726   4661   
index 0000000..f5c871f
 3727         -
-- /dev/null
        4662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3728   4663   
@@ -0,0 +1 @@
        4664  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3729   4665   
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
 3730   4666   
new file mode 100644
 3731   4667   
index 0000000..bda4718
 3732         -
-- /dev/null
        4668  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3733   4669   
@@ -0,0 +1,6 @@
        4670  +
GET /./example HTTP/1.1
        4671  +
Host:example.amazonaws.com
        4672  +
X-Amz-Date:20150830T123600Z
        4673  +
X-Amz-Region-Set:us-east-1
        4674  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4675  +
 3734   4676   
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
 3735   4677   
similarity index 99%
 3736   4678   
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
 3737   4679   
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
 3738   4680   
index cd30e8b..2ffe879 100644
 3739   4681   
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
 3740   4682   
new file mode 100644
 3741   4683   
index 0000000..379dcb2
 3742         -
-- /dev/null
        4684  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3743   4685   
@@ -0,0 +1,4 @@
        4686  +
{
        4687  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4688  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4689  +
}
 3744   4690   
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
 3745   4691   
similarity index 99%
 3746   4692   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3747   4693   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3748   4694   
index 77cf28d..45151ea 100644
 3749   4695   
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
 3750   4696   
new file mode 100644
 3751   4697   
index 0000000..11ad7bf
 3752         -
-- /dev/null
        4698  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3753   4699   
@@ -0,0 +1 @@
        4700  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3754   4701   
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
 3755   4702   
new file mode 100644
 3756   4703   
index 0000000..a7537b1
 3757         -
-- /dev/null
        4704  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3758   4705   
@@ -0,0 +1,3 @@
        4706  +
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
        4707  +
Host:example.amazonaws.com
        4708  +
 3759   4709   
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
 3760   4710   
similarity index 99%
 3761   4711   
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
 3762   4712   
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
 3763   4713   
index 49d9b24..b486672 100644
 3764   4714   
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
 3765   4715   
similarity index 65%
 3766   4716   
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
 3767   4717   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3768   4718   
index 3c91071..5d919c9 100644
 3769         -
-- 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
        4719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3770   4720   
@@ -1,3 +1,2 @@
 3771   4721   
GET /./example HTTP/1.1
 3772   4722   
Host:example.amazonaws.com
 3773         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3774   4723   
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
 3775   4724   
new file mode 100644
 3776   4725   
index 0000000..7bee5c7
 3777         -
-- /dev/null
        4726  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3778   4727   
@@ -0,0 +1,12 @@
        4728  +
{
        4729  +
    "credentials": {
        4730  +
        "access_key_id": "AKIDEXAMPLE",
        4731  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4732  +
    },
        4733  +
    "expiration_in_seconds": 3600,
        4734  +
    "normalize": false,
        4735  +
    "region": "us-east-1",
        4736  +
    "service": "service",
        4737  +
    "sign_body": false,
        4738  +
    "timestamp": "2015-08-30T12:36:00Z"
        4739  +
}
              \
 No newline at end of file
 3779   4740   
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
 3780   4741   
similarity index 99%
 3781   4742   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3782   4743   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3783   4744   
index 4444842..2355a69 100644
 3784   4745   
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
 3785   4746   
new file mode 100644
 3786   4747   
index 0000000..9c8f737
 3787         -
-- /dev/null
        4748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3788   4749   
@@ -0,0 +1 @@
        4750  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3789   4751   
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
 3790   4752   
new file mode 100644
 3791   4753   
index 0000000..aa5980d
 3792         -
-- /dev/null
        4754  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3793   4755   
@@ -0,0 +1,6 @@
        4756  +
GET /./example HTTP/1.1
        4757  +
Host:example.amazonaws.com
        4758  +
X-Amz-Date:20150830T123600Z
        4759  +
X-Amz-Region-Set:us-east-1
        4760  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4761  +
 3794   4762   
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
 3795   4763   
similarity index 99%
 3796   4764   
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
 3797   4765   
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
 3798   4766   
index cc63510..d056816 100644
 3799   4767   
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
 3800   4768   
new file mode 100644
 3801   4769   
index 0000000..379dcb2
 3802         -
-- /dev/null
        4770  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3803   4771   
@@ -0,0 +1,4 @@
        4772  +
{
        4773  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4774  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4775  +
}
 3804   4776   
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
 3805   4777   
similarity index 99%
 3806   4778   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3807   4779   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3808   4780   
index ed2cb2d..df9928e 100644
 3809   4781   
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
 3810   4782   
new file mode 100644
 3811   4783   
index 0000000..bb4d86b
 3812         -
-- /dev/null
        4784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3813   4785   
@@ -0,0 +1 @@
        4786  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3814   4787   
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
 3815   4788   
new file mode 100644
 3816   4789   
index 0000000..0061136
 3817         -
-- /dev/null
        4790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3818   4791   
@@ -0,0 +1,3 @@
        4792  +
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
        4793  +
Host:example.amazonaws.com
        4794  +
 3819   4795   
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
 3820   4796   
similarity index 99%
 3821   4797   
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
 3822   4798   
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
 3823   4799   
index c9f3b6d..418f2d6 100644
 3824   4800   
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
 3825   4801   
new file mode 100644
 3826   4802   
index 0000000..5d919c9
 3827         -
-- /dev/null
        4803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3828   4804   
@@ -0,0 +1,2 @@
        4805  +
GET /./example HTTP/1.1
        4806  +
Host:example.amazonaws.com
 3829   4807   
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
 3830   4808   
new file mode 100644
 3831   4809   
index 0000000..7bee5c7
 3832         -
-- /dev/null
        4810  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3833   4811   
@@ -0,0 +1,12 @@
        4812  +
{
        4813  +
    "credentials": {
        4814  +
        "access_key_id": "AKIDEXAMPLE",
        4815  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4816  +
    },
        4817  +
    "expiration_in_seconds": 3600,
        4818  +
    "normalize": false,
        4819  +
    "region": "us-east-1",
        4820  +
    "service": "service",
        4821  +
    "sign_body": false,
        4822  +
    "timestamp": "2015-08-30T12:36:00Z"
        4823  +
}
              \
 No newline at end of file
 3834   4824   
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
 3835   4825   
similarity index 99%
 3836   4826   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3837   4827   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3838   4828   
index 8a4d33b..5f809da 100644
 3839   4829   
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
 3840   4830   
new file mode 100644
 3841   4831   
index 0000000..60179e9
 3842         -
-- /dev/null
        4832  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3843   4833   
@@ -0,0 +1 @@
        4834  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3844   4835   
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
 3845   4836   
new file mode 100644
 3846   4837   
index 0000000..72bf1b7
 3847         -
-- /dev/null
        4838  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3848   4839   
@@ -0,0 +1,6 @@
        4840  +
GET // HTTP/1.1
        4841  +
Host:example.amazonaws.com
        4842  +
X-Amz-Date:20150830T123600Z
        4843  +
X-Amz-Region-Set:us-east-1
        4844  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4845  +
 3849   4846   
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
 3850   4847   
similarity index 99%
 3851   4848   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3852   4849   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3853   4850   
index 874c01c..2b3bf67 100644
 3854   4851   
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
 3855   4852   
new file mode 100644
 3856   4853   
index 0000000..379dcb2
 3857         -
-- /dev/null
        4854  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3858   4855   
@@ -0,0 +1,4 @@
        4856  +
{
        4857  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4858  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4859  +
}
 3859   4860   
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
 3860   4861   
similarity index 99%
 3861   4862   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3862   4863   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3863   4864   
index 81d7b0b..d10ad29 100644
 3864   4865   
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
 3865   4866   
new file mode 100644
 3866   4867   
index 0000000..d9bd824
 3867         -
-- /dev/null
        4868  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3868   4869   
@@ -0,0 +1 @@
        4870  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3869   4871   
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
 3870   4872   
new file mode 100644
 3871   4873   
index 0000000..19d1d46
 3872         -
-- /dev/null
        4874  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3873   4875   
@@ -0,0 +1,3 @@
        4876  +
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
        4877  +
Host:example.amazonaws.com
        4878  +
 3874   4879   
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
 3875   4880   
similarity index 99%
 3876   4881   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3877   4882   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3878   4883   
index 17e5279..24c8a5e 100644
 3879   4884   
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
 3880   4885   
new file mode 100644
 3881   4886   
index 0000000..25bc21e
 3882         -
-- /dev/null
        4887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3883   4888   
@@ -0,0 +1,2 @@
        4889  +
GET // HTTP/1.1
        4890  +
Host:example.amazonaws.com
 3884   4891   
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
 3885   4892   
new file mode 100644
 3886   4893   
index 0000000..0468d80
 3887         -
-- /dev/null
        4894  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3888   4895   
@@ -0,0 +1,12 @@
        4896  +
{
        4897  +
    "credentials": {
        4898  +
        "access_key_id": "AKIDEXAMPLE",
        4899  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4900  +
    },
        4901  +
    "expiration_in_seconds": 3600,
        4902  +
    "normalize": true,
        4903  +
    "region": "us-east-1",
        4904  +
    "service": "service",
        4905  +
    "sign_body": false,
        4906  +
    "timestamp": "2015-08-30T12:36:00Z"
        4907  +
}
              \
 No newline at end of file
 3889   4908   
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
 3890   4909   
similarity index 99%
 3891   4910   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3892   4911   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3893   4912   
index fdf9c48..a8e9e02 100644
 3894   4913   
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
 3895   4914   
new file mode 100644
 3896   4915   
index 0000000..ffe1b60
 3897         -
-- /dev/null
        4916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3898   4917   
@@ -0,0 +1 @@
        4918  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3899   4919   
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
 3900   4920   
new file mode 100644
 3901   4921   
index 0000000..3189f55
 3902         -
-- /dev/null
        4922  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3903   4923   
@@ -0,0 +1,6 @@
        4924  +
GET //example// HTTP/1.1
        4925  +
Host:example.amazonaws.com
        4926  +
X-Amz-Date:20150830T123600Z
        4927  +
X-Amz-Region-Set:us-east-1
        4928  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4929  +
 3904   4930   
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
 3905   4931   
similarity index 99%
 3906   4932   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3907   4933   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3908   4934   
index 8f9c95e..430020e 100644
 3909   4935   
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
 3910   4936   
new file mode 100644
 3911   4937   
index 0000000..379dcb2
 3912         -
-- /dev/null
        4938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3913   4939   
@@ -0,0 +1,4 @@
        4940  +
{
        4941  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4942  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4943  +
}
 3914   4944   
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
 3915   4945   
similarity index 99%
 3916   4946   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3917   4947   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3918   4948   
index 1046735..8d41e37 100644
 3919   4949   
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
 3920   4950   
new file mode 100644
 3921   4951   
index 0000000..93a0fa4
 3922         -
-- /dev/null
        4952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3923   4953   
@@ -0,0 +1 @@
        4954  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 3924   4955   
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
 3925   4956   
new file mode 100644
 3926   4957   
index 0000000..65c8cb6
 3927         -
-- /dev/null
        4958  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3928   4959   
@@ -0,0 +1,3 @@
        4960  +
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
        4961  +
Host:example.amazonaws.com
        4962  +
 3929   4963   
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
 3930   4964   
similarity index 99%
 3931   4965   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 3932   4966   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3933   4967   
index b293cc2..0f4c4c5 100644
 3934   4968   
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
 3935   4969   
similarity index 65%
 3936   4970   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 3937   4971   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3938   4972   
index a4307ce..12e0931 100644
 3939         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        4973  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3940   4974   
@@ -1,3 +1,2 @@
 3941   4975   
GET //example// HTTP/1.1
 3942   4976   
Host:example.amazonaws.com
 3943         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3944   4977   
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
 3945   4978   
new file mode 100644
 3946   4979   
index 0000000..7bee5c7
 3947         -
-- /dev/null
        4980  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3948   4981   
@@ -0,0 +1,12 @@
        4982  +
{
        4983  +
    "credentials": {
        4984  +
        "access_key_id": "AKIDEXAMPLE",
        4985  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4986  +
    },
        4987  +
    "expiration_in_seconds": 3600,
        4988  +
    "normalize": false,
        4989  +
    "region": "us-east-1",
        4990  +
    "service": "service",
        4991  +
    "sign_body": false,
        4992  +
    "timestamp": "2015-08-30T12:36:00Z"
        4993  +
}
              \
 No newline at end of file
 3949   4994   
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
 3950   4995   
similarity index 99%
 3951   4996   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 3952   4997   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3953   4998   
index a9c55f6..76f55ed 100644
 3954   4999   
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
 3955   5000   
new file mode 100644
 3956   5001   
index 0000000..de333b2
 3957         -
-- /dev/null
        5002  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3958   5003   
@@ -0,0 +1 @@
        5004  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 3959   5005   
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
 3960   5006   
new file mode 100644
 3961   5007   
index 0000000..773ce63
 3962         -
-- /dev/null
        5008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3963   5009   
@@ -0,0 +1,6 @@
        5010  +
GET //example// HTTP/1.1
        5011  +
Host:example.amazonaws.com
        5012  +
X-Amz-Date:20150830T123600Z
        5013  +
X-Amz-Region-Set:us-east-1
        5014  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        5015  +
 3964   5016   
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
 3965   5017   
similarity index 99%
 3966   5018   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 3967   5019   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3968   5020   
index 5c4c2cd..46c3265 100644
 3969   5021   
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
 3970   5022   
new file mode 100644
 3971   5023   
index 0000000..379dcb2
 3972         -
-- /dev/null
        5024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3973   5025   
@@ -0,0 +1,4 @@
        5026  +
{
        5027  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5028  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5029  +
}
 3974   5030   
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
 3975   5031   
similarity index 99%
 3976   5032   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 3977   5033   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3978   5034   
index c878ab4..6047ccf 100644
 3979   5035   
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
 3980   5036   
new file mode 100644
 3981   5037   
index 0000000..d61fcd0
 3982         -
-- /dev/null
        5038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3983   5039   
@@ -0,0 +1 @@
        5040  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 3984   5041   
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
 3985   5042   
new file mode 100644
 3986   5043   
index 0000000..3e37b5b
 3987         -
-- /dev/null
        5044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 3988   5045   
@@ -0,0 +1,3 @@
        5046  +
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
        5047  +
Host:example.amazonaws.com
        5048  +
 3989   5049   
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
 3990   5050   
similarity index 99%
 3991   5051   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 3992   5052   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 3993   5053   
index 5f59645..2537d28 100644
 3994   5054   
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
 3995   5055   
new file mode 100644
 3996   5056   
index 0000000..12e0931
 3997         -
-- /dev/null
        5057  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 3998   5058   
@@ -0,0 +1,2 @@
        5059  +
GET //example// HTTP/1.1
        5060  +
Host:example.amazonaws.com
 3999   5061   
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
 4000   5062   
new file mode 100644
 4001   5063   
index 0000000..0468d80
 4002         -
-- /dev/null
        5064  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 4003   5065   
@@ -0,0 +1,12 @@
        5066  +
{
        5067  +
    "credentials": {
        5068  +
        "access_key_id": "AKIDEXAMPLE",
        5069  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5070  +
    },
        5071  +
    "expiration_in_seconds": 3600,
        5072  +
    "normalize": true,
        5073  +
    "region": "us-east-1",
        5074  +
    "service": "service",
        5075  +
    "sign_body": false,
        5076  +
    "timestamp": "2015-08-30T12:36:00Z"
        5077  +
}
              \
 No newline at end of file
 4004   5078   
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
 4005   5079   
new file mode 100644
 4006   5080   
index 0000000..0b2b616
 4007         -
-- /dev/null
        5081  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 4008   5082   
@@ -0,0 +1,9 @@
        5083  +
GET
        5084  +
/example%20space/
        5085  +
        5086  +
host:example.amazonaws.com
        5087  +
x-amz-date:20150830T123600Z
        5088  +
x-amz-region-set:us-east-1
        5089  +
        5090  +
host;x-amz-date;x-amz-region-set
        5091  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4009   5092   
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
 4010   5093   
new file mode 100644
 4011   5094   
index 0000000..6e7841d
 4012         -
-- /dev/null
        5095  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 4013   5096   
@@ -0,0 +1 @@
        5097  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 4014   5098   
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
 4015   5099   
new file mode 100644
 4016   5100   
index 0000000..0969cd3
 4017         -
-- /dev/null
        5101  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 4018   5102   
@@ -0,0 +1,6 @@
        5103  +
GET /example space/ HTTP/1.1
        5104  +
Host:example.amazonaws.com
        5105  +
X-Amz-Date:20150830T123600Z
        5106  +
X-Amz-Region-Set:us-east-1
        5107  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        5108  +
 4019   5109   
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
 4020   5110   
new file mode 100644
 4021   5111   
index 0000000..ddae6e2
 4022         -
-- /dev/null
        5112  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 4023   5113   
@@ -0,0 +1,4 @@
        5114  +
AWS4-ECDSA-P256-SHA256
        5115  +
20150830T123600Z
        5116  +
20150830/service/aws4_request
        5117  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4024   5118   
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
 4025   5119   
new file mode 100644
 4026   5120   
index 0000000..379dcb2
 4027         -
-- /dev/null
        5121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 4028   5122   
@@ -0,0 +1,4 @@
        5123  +
{
        5124  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5125  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5126  +
}
 4029   5127   
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
 4030   5128   
new file mode 100644
 4031   5129   
index 0000000..a66b3cb
 4032         -
-- /dev/null
        5130  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 4033   5131   
@@ -0,0 +1,7 @@
        5132  +
GET
        5133  +
/example%20space/
        5134  +
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
        5135  +
host:example.amazonaws.com
        5136  +
        5137  +
host
        5138  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4034   5139   
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
 4035   5140   
new file mode 100644
 4036   5141   
index 0000000..b3253ae
 4037         -
-- /dev/null
        5142  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 4038   5143   
@@ -0,0 +1 @@
        5144  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 4039   5145   
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
 4040   5146   
new file mode 100644
 4041   5147   
index 0000000..9e335b2
 4042         -
-- /dev/null
        5148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 4043   5149   
@@ -0,0 +1,3 @@
        5150  +
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
        5151  +
Host:example.amazonaws.com
        5152  +
 4044   5153   
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
 4045   5154   
new file mode 100644
 4046   5155   
index 0000000..b6ff6fb
 4047         -
-- /dev/null
        5156  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 4048   5157   
@@ -0,0 +1,4 @@
        5158  +
AWS4-ECDSA-P256-SHA256
        5159  +
20150830T123600Z
        5160  +
20150830/service/aws4_request
        5161  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4049   5162   
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
 4050   5163   
new file mode 100644
 4051   5164   
index 0000000..ab509ab
 4052         -
-- /dev/null
        5165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 4053   5166   
@@ -0,0 +1,2 @@
        5167  +
GET /example space/ HTTP/1.1
        5168  +
Host:example.amazonaws.com
 4054   5169   
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
 4055   5170   
new file mode 100644
 4056   5171   
index 0000000..7bee5c7
 4057         -
-- /dev/null
        5172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 4058   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
 4059   5186   
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
 4060   5187   
new file mode 100644
 4061   5188   
index 0000000..0b2b616
 4062         -
-- /dev/null
        5189  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 4063   5190   
@@ -0,0 +1,9 @@
        5191  +
GET
        5192  +
/example%20space/
        5193  +
        5194  +
host:example.amazonaws.com
        5195  +
x-amz-date:20150830T123600Z
        5196  +
x-amz-region-set:us-east-1
        5197  +
        5198  +
host;x-amz-date;x-amz-region-set
        5199  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4064   5200   
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
 4065   5201   
new file mode 100644
 4066   5202   
index 0000000..e75ae08
 4067         -
-- /dev/null
        5203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 4068   5204   
@@ -0,0 +1 @@
        5205  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 4069   5206   
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
 4070   5207   
new file mode 100644
 4071   5208   
index 0000000..cb089db
 4072         -
-- /dev/null
        5209  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 4073   5210   
@@ -0,0 +1,6 @@
        5211  +
GET /example space/ HTTP/1.1
        5212  +
Host:example.amazonaws.com
        5213  +
X-Amz-Date:20150830T123600Z
        5214  +
X-Amz-Region-Set:us-east-1
        5215  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5216  +
 4074   5217   
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
 4075   5218   
new file mode 100644
 4076   5219   
index 0000000..ddae6e2
 4077         -
-- /dev/null
        5220  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 4078   5221   
@@ -0,0 +1,4 @@
        5222  +
AWS4-ECDSA-P256-SHA256
        5223  +
20150830T123600Z
        5224  +
20150830/service/aws4_request
        5225  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4079   5226   
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
 4080   5227   
new file mode 100644
 4081   5228   
index 0000000..379dcb2
 4082         -
-- /dev/null
        5229  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 4083   5230   
@@ -0,0 +1,4 @@
        5231  +
{
        5232  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5233  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5234  +
}
 4084   5235   
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
 4085   5236   
new file mode 100644
 4086   5237   
index 0000000..a66b3cb
 4087         -
-- /dev/null
        5238  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 4088   5239   
@@ -0,0 +1,7 @@
        5240  +
GET
        5241  +
/example%20space/
        5242  +
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
        5243  +
host:example.amazonaws.com
        5244  +
        5245  +
host
        5246  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4089   5247   
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
 4090   5248   
new file mode 100644
 4091   5249   
index 0000000..66a80c3
 4092         -
-- /dev/null
        5250  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 4093   5251   
@@ -0,0 +1 @@
        5252  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 4094   5253   
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
 4095   5254   
new file mode 100644
 4096   5255   
index 0000000..7d1b9d9
 4097         -
-- /dev/null
        5256  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 4098   5257   
@@ -0,0 +1,3 @@
        5258  +
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
        5259  +
Host:example.amazonaws.com
        5260  +
 4099   5261   
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
 4100   5262   
new file mode 100644
 4101   5263   
index 0000000..b6ff6fb
 4102         -
-- /dev/null
        5264  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 4103   5265   
@@ -0,0 +1,4 @@
        5266  +
AWS4-ECDSA-P256-SHA256
        5267  +
20150830T123600Z
        5268  +
20150830/service/aws4_request
        5269  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4104   5270   
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
 4105   5271   
new file mode 100644
 4106   5272   
index 0000000..ab509ab
 4107         -
-- /dev/null
        5273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 4108   5274   
@@ -0,0 +1,2 @@
        5275  +
GET /example space/ HTTP/1.1
        5276  +
Host:example.amazonaws.com
 4109   5277   
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
 4110   5278   
new file mode 100644
 4111   5279   
index 0000000..0468d80
 4112         -
-- /dev/null
        5280  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 4113   5281   
@@ -0,0 +1,12 @@
        5282  +
{
        5283  +
    "credentials": {
        5284  +
        "access_key_id": "AKIDEXAMPLE",
        5285  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5286  +
    },
        5287  +
    "expiration_in_seconds": 3600,
        5288  +
    "normalize": true,
        5289  +
    "region": "us-east-1",
        5290  +
    "service": "service",
        5291  +
    "sign_body": false,
        5292  +
    "timestamp": "2015-08-30T12:36:00Z"
        5293  +
}
              \
 No newline at end of file
 4114   5294   
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
 4115   5295   
similarity index 99%
 4116   5296   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 4117   5297   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4118   5298   
index b0db648..46d76bb 100644
 4119   5299   
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
 4120   5300   
new file mode 100644
 4121   5301   
index 0000000..53c0cb6
 4122         -
-- /dev/null
        5302  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 4123   5303   
@@ -0,0 +1 @@
        5304  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 4124   5305   
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
 4125   5306   
new file mode 100644
 4126   5307   
index 0000000..3bdb653
 4127         -
-- /dev/null
        5308  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 4128   5309   
@@ -0,0 +1,6 @@
        5310  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5311  +
Host:example.amazonaws.com
        5312  +
X-Amz-Date:20150830T123600Z
        5313  +
X-Amz-Region-Set:us-east-1
        5314  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5315  +
 4129   5316   
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
 4130   5317   
similarity index 99%
 4131   5318   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 4132   5319   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4133   5320   
index 20c7cd6..3b30173 100644
 4134   5321   
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
 4135   5322   
new file mode 100644
 4136   5323   
index 0000000..379dcb2
 4137         -
-- /dev/null
        5324  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 4138   5325   
@@ -0,0 +1,4 @@
        5326  +
{
        5327  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5328  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5329  +
}
 4139   5330   
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
 4140   5331   
similarity index 99%
 4141   5332   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 4142   5333   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4143   5334   
index f9fb726..7e93f58 100644
 4144   5335   
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
 4145   5336   
new file mode 100644
 4146   5337   
index 0000000..48311a8
 4147         -
-- /dev/null
        5338  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 4148   5339   
@@ -0,0 +1 @@
        5340  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 4149   5341   
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
 4150   5342   
new file mode 100644
 4151   5343   
index 0000000..82da9be
 4152         -
-- /dev/null
        5344  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 4153   5345   
@@ -0,0 +1,3 @@
        5346  +
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
        5347  +
Host:example.amazonaws.com
        5348  +
 4154   5349   
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
 4155   5350   
similarity index 99%
 4156   5351   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 4157   5352   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4158   5353   
index ef06e89..4aab9a2 100644
 4159   5354   
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
 4160   5355   
similarity index 80%
 4161   5356   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 4162   5357   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4163   5358   
index da760cd..a149694 100644
 4164         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5359  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4165   5360   
@@ -1,3 +1,2 @@
 4166   5361   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4167   5362   
Host:example.amazonaws.com
 4168         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4169   5363   
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
 4170   5364   
new file mode 100644
 4171   5365   
index 0000000..0468d80
 4172         -
-- /dev/null
        5366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4173   5367   
@@ -0,0 +1,12 @@
        5368  +
{
        5369  +
    "credentials": {
        5370  +
        "access_key_id": "AKIDEXAMPLE",
        5371  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5372  +
    },
        5373  +
    "expiration_in_seconds": 3600,
        5374  +
    "normalize": true,
        5375  +
    "region": "us-east-1",
        5376  +
    "service": "service",
        5377  +
    "sign_body": false,
        5378  +
    "timestamp": "2015-08-30T12:36:00Z"
        5379  +
}
              \
 No newline at end of file
 4174   5380   
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
 4175   5381   
new file mode 100644
 4176   5382   
index 0000000..0f1afe7
 4177         -
-- /dev/null
        5383  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4178   5384   
@@ -0,0 +1,9 @@
        5385  +
GET
        5386  +
/%E1%88%B4
        5387  +
        5388  +
host:example.amazonaws.com
        5389  +
x-amz-date:20150830T123600Z
        5390  +
x-amz-region-set:us-east-1
        5391  +
        5392  +
host;x-amz-date;x-amz-region-set
        5393  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4179   5394   
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
 4180   5395   
new file mode 100644
 4181   5396   
index 0000000..4b9af6c
 4182         -
-- /dev/null
        5397  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4183   5398   
@@ -0,0 +1 @@
        5399  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 4184   5400   
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
 4185   5401   
new file mode 100644
 4186   5402   
index 0000000..d42d7b3
 4187         -
-- /dev/null
        5403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4188   5404   
@@ -0,0 +1,6 @@
        5405  +
GET /ሴ HTTP/1.1
        5406  +
Host:example.amazonaws.com
        5407  +
X-Amz-Date:20150830T123600Z
        5408  +
X-Amz-Region-Set:us-east-1
        5409  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5410  +
 4189   5411   
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
 4190   5412   
new file mode 100644
 4191   5413   
index 0000000..0827f62
 4192         -
-- /dev/null
        5414  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4193   5415   
@@ -0,0 +1,4 @@
        5416  +
AWS4-ECDSA-P256-SHA256
        5417  +
20150830T123600Z
        5418  +
20150830/service/aws4_request
        5419  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4194   5420   
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
 4195   5421   
new file mode 100644
 4196   5422   
index 0000000..379dcb2
 4197         -
-- /dev/null
        5423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4198   5424   
@@ -0,0 +1,4 @@
        5425  +
{
        5426  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5427  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5428  +
}
 4199   5429   
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
 4200   5430   
new file mode 100644
 4201   5431   
index 0000000..a41a2f8
 4202         -
-- /dev/null
        5432  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4203   5433   
@@ -0,0 +1,7 @@
        5434  +
GET
        5435  +
/%E1%88%B4
        5436  +
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
        5437  +
host:example.amazonaws.com
        5438  +
        5439  +
host
        5440  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4204   5441   
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
 4205   5442   
new file mode 100644
 4206   5443   
index 0000000..a5c7f4f
 4207         -
-- /dev/null
        5444  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4208   5445   
@@ -0,0 +1 @@
        5446  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4209   5447   
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
 4210   5448   
new file mode 100644
 4211   5449   
index 0000000..492ed33
 4212         -
-- /dev/null
        5450  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4213   5451   
@@ -0,0 +1,3 @@
        5452  +
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
        5453  +
Host:example.amazonaws.com
        5454  +
 4214   5455   
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
 4215   5456   
new file mode 100644
 4216   5457   
index 0000000..a93108f
 4217         -
-- /dev/null
        5458  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4218   5459   
@@ -0,0 +1,4 @@
        5460  +
AWS4-ECDSA-P256-SHA256
        5461  +
20150830T123600Z
        5462  +
20150830/service/aws4_request
        5463  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4219   5464   
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
 4220   5465   
new file mode 100644
 4221   5466   
index 0000000..9e273f6
 4222         -
-- /dev/null
        5467  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4223   5468   
@@ -0,0 +1,2 @@
        5469  +
GET /ሴ HTTP/1.1
        5470  +
Host:example.amazonaws.com
 4224   5471   
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
 4225   5472   
new file mode 100644
 4226   5473   
index 0000000..0468d80
 4227         -
-- /dev/null
        5474  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4228   5475   
@@ -0,0 +1,12 @@
        5476  +
{
        5477  +
    "credentials": {
        5478  +
        "access_key_id": "AKIDEXAMPLE",
        5479  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5480  +
    },
        5481  +
    "expiration_in_seconds": 3600,
        5482  +
    "normalize": true,
        5483  +
    "region": "us-east-1",
        5484  +
    "service": "service",
        5485  +
    "sign_body": false,
        5486  +
    "timestamp": "2015-08-30T12:36:00Z"
        5487  +
}
              \
 No newline at end of file
 4229   5488   
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
 4230   5489   
similarity index 99%
 4231   5490   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4232   5491   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4233   5492   
index bb9d4bf..edc0bb4 100644
 4234   5493   
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
 4235   5494   
new file mode 100644
 4236   5495   
index 0000000..ee9a272
 4237         -
-- /dev/null
        5496  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4238   5497   
@@ -0,0 +1 @@
        5498  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4239   5499   
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
 4240   5500   
new file mode 100644
 4241   5501   
index 0000000..2090343
 4242         -
-- /dev/null
        5502  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4243   5503   
@@ -0,0 +1,6 @@
        5504  +
GET /?Param1=value1 HTTP/1.1
        5505  +
Host:example.amazonaws.com
        5506  +
X-Amz-Date:20150830T123600Z
        5507  +
X-Amz-Region-Set:us-east-1
        5508  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5509  +
 4244   5510   
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
 4245   5511   
similarity index 99%
 4246   5512   
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
 4247   5513   
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
 4248   5514   
index a176f1d..06ed74f 100644
 4249   5515   
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
 4250   5516   
new file mode 100644
 4251   5517   
index 0000000..379dcb2
 4252         -
-- /dev/null
        5518  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4253   5519   
@@ -0,0 +1,4 @@
        5520  +
{
        5521  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5522  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5523  +
}
 4254   5524   
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
 4255   5525   
similarity index 99%
 4256   5526   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4257   5527   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4258   5528   
index 344384b..a875d70 100644
 4259   5529   
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
 4260   5530   
new file mode 100644
 4261   5531   
index 0000000..ef93624
 4262         -
-- /dev/null
        5532  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4263   5533   
@@ -0,0 +1 @@
        5534  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4264   5535   
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
 4265   5536   
new file mode 100644
 4266   5537   
index 0000000..92829f7
 4267         -
-- /dev/null
        5538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4268   5539   
@@ -0,0 +1,3 @@
        5540  +
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
        5541  +
Host:example.amazonaws.com
        5542  +
 4269   5543   
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
 4270   5544   
similarity index 99%
 4271   5545   
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
 4272   5546   
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
 4273   5547   
index b625052..4ff9191 100644
 4274   5548   
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
 4275   5549   
similarity index 67%
 4276   5550   
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
 4277   5551   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4278   5552   
index 970d0a0..f4a03bb 100644
 4279         -
-- 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
        5553  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4280   5554   
@@ -1,3 +1,2 @@
 4281   5555   
GET /?Param1=value1 HTTP/1.1
 4282   5556   
Host:example.amazonaws.com
 4283         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4284   5557   
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
 4285   5558   
new file mode 100644
 4286   5559   
index 0000000..0468d80
 4287         -
-- /dev/null
        5560  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4288   5561   
@@ -0,0 +1,12 @@
        5562  +
{
        5563  +
    "credentials": {
        5564  +
        "access_key_id": "AKIDEXAMPLE",
        5565  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5566  +
    },
        5567  +
    "expiration_in_seconds": 3600,
        5568  +
    "normalize": true,
        5569  +
    "region": "us-east-1",
        5570  +
    "service": "service",
        5571  +
    "sign_body": false,
        5572  +
    "timestamp": "2015-08-30T12:36:00Z"
        5573  +
}
              \
 No newline at end of file
 4289   5574   
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
 4290   5575   
new file mode 100644
 4291   5576   
index 0000000..da07537
 4292         -
-- /dev/null
        5577  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4293   5578   
@@ -0,0 +1,9 @@
        5579  +
GET
        5580  +
/
        5581  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5582  +
host:example.amazonaws.com
        5583  +
x-amz-date:20150830T123600Z
        5584  +
x-amz-region-set:us-east-1
        5585  +
        5586  +
host;x-amz-date;x-amz-region-set
        5587  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4294   5588   
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
 4295   5589   
new file mode 100644
 4296   5590   
index 0000000..edb21e5
 4297         -
-- /dev/null
        5591  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4298   5592   
@@ -0,0 +1 @@
        5593  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4299   5594   
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
 4300   5595   
new file mode 100644
 4301   5596   
index 0000000..e60394c
 4302         -
-- /dev/null
        5597  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4303   5598   
@@ -0,0 +1,6 @@
        5599  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5600  +
Host:example.amazonaws.com
        5601  +
X-Amz-Date:20150830T123600Z
        5602  +
X-Amz-Region-Set:us-east-1
        5603  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5604  +
 4304   5605   
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
 4305   5606   
new file mode 100644
 4306   5607   
index 0000000..1dfc886
 4307         -
-- /dev/null
        5608  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4308   5609   
@@ -0,0 +1,4 @@
        5610  +
AWS4-ECDSA-P256-SHA256
        5611  +
20150830T123600Z
        5612  +
20150830/service/aws4_request
        5613  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4309   5614   
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
 4310   5615   
new file mode 100644
 4311   5616   
index 0000000..379dcb2
 4312         -
-- /dev/null
        5617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4313   5618   
@@ -0,0 +1,4 @@
        5619  +
{
        5620  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5621  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5622  +
}
 4314   5623   
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
 4315   5624   
new file mode 100644
 4316   5625   
index 0000000..e94dc0c
 4317         -
-- /dev/null
        5626  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4318   5627   
@@ -0,0 +1,7 @@
        5628  +
GET
        5629  +
/
        5630  +
%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
        5631  +
host:example.amazonaws.com
        5632  +
        5633  +
host
        5634  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4319   5635   
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
 4320   5636   
new file mode 100644
 4321   5637   
index 0000000..7489437
 4322         -
-- /dev/null
        5638  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4323   5639   
@@ -0,0 +1 @@
        5640  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4324   5641   
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
 4325   5642   
new file mode 100644
 4326   5643   
index 0000000..90c0e73
 4327         -
-- /dev/null
        5644  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4328   5645   
@@ -0,0 +1,3 @@
        5646  +
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
        5647  +
Host:example.amazonaws.com
        5648  +
 4329   5649   
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
 4330   5650   
new file mode 100644
 4331   5651   
index 0000000..ab8a711
 4332         -
-- /dev/null
        5652  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4333   5653   
@@ -0,0 +1,4 @@
        5654  +
AWS4-ECDSA-P256-SHA256
        5655  +
20150830T123600Z
        5656  +
20150830/service/aws4_request
        5657  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4334   5658   
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
 4335   5659   
new file mode 100644
 4336   5660   
index 0000000..368c6e3
 4337         -
-- /dev/null
        5661  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4338   5662   
@@ -0,0 +1,2 @@
        5663  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5664  +
Host:example.amazonaws.com
 4339   5665   
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
 4340   5666   
new file mode 100644
 4341   5667   
index 0000000..0468d80
 4342         -
-- /dev/null
        5668  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4343   5669   
@@ -0,0 +1,12 @@
        5670  +
{
        5671  +
    "credentials": {
        5672  +
        "access_key_id": "AKIDEXAMPLE",
        5673  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5674  +
    },
        5675  +
    "expiration_in_seconds": 3600,
        5676  +
    "normalize": true,
        5677  +
    "region": "us-east-1",
        5678  +
    "service": "service",
        5679  +
    "sign_body": false,
        5680  +
    "timestamp": "2015-08-30T12:36:00Z"
        5681  +
}
              \
 No newline at end of file
 4344   5682   
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
 4345   5683   
similarity index 99%
 4346   5684   
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
 4347   5685   
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
 4348   5686   
index 74f625a..3db56f7 100644
 4349   5687   
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
 4350   5688   
new file mode 100644
 4351   5689   
index 0000000..e6042bc
 4352         -
-- /dev/null
        5690  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4353   5691   
@@ -0,0 +1 @@
        5692  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4354   5693   
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
 4355   5694   
new file mode 100644
 4356   5695   
index 0000000..5505969
 4357         -
-- /dev/null
        5696  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4358   5697   
@@ -0,0 +1,6 @@
        5698  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5699  +
Host:example.amazonaws.com
        5700  +
X-Amz-Date:20150830T123600Z
        5701  +
X-Amz-Region-Set:us-east-1
        5702  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5703  +
 4359   5704   
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
 4360   5705   
similarity index 99%
 4361   5706   
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
 4362   5707   
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
 4363   5708   
index 44873b7..e8f5e31 100644
 4364   5709   
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
 4365   5710   
new file mode 100644
 4366   5711   
index 0000000..379dcb2
 4367         -
-- /dev/null
        5712  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4368   5713   
@@ -0,0 +1,4 @@
        5714  +
{
        5715  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5716  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5717  +
}
 4369   5718   
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
 4370   5719   
similarity index 99%
 4371   5720   
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
 4372   5721   
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
 4373   5722   
index 6d30727..3fe6a9f 100644
 4374   5723   
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
 4375   5724   
new file mode 100644
 4376   5725   
index 0000000..3f35de8
 4377         -
-- /dev/null
        5726  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4378   5727   
@@ -0,0 +1 @@
        5728  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4379   5729   
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
 4380   5730   
new file mode 100644
 4381   5731   
index 0000000..30b336b
 4382         -
-- /dev/null
        5732  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4383   5733   
@@ -0,0 +1,3 @@
        5734  +
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
        5735  +
Host:example.amazonaws.com
        5736  +
 4384   5737   
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
 4385   5738   
similarity index 99%
 4386   5739   
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
 4387   5740   
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
 4388   5741   
index 99d0510..7f0565f 100644
 4389   5742   
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
 4390   5743   
similarity index 100%
 4391   5744   
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
 4392   5745   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4393   5746   
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
 4394   5747   
new file mode 100644
 4395   5748   
index 0000000..0468d80
 4396         -
-- /dev/null
        5749  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4397   5750   
@@ -0,0 +1,12 @@
        5751  +
{
        5752  +
    "credentials": {
        5753  +
        "access_key_id": "AKIDEXAMPLE",
        5754  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5755  +
    },
        5756  +
    "expiration_in_seconds": 3600,
        5757  +
    "normalize": true,
        5758  +
    "region": "us-east-1",
        5759  +
    "service": "service",
        5760  +
    "sign_body": false,
        5761  +
    "timestamp": "2015-08-30T12:36:00Z"
        5762  +
}
              \
 No newline at end of file
 4398   5763   
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
 4399   5764   
similarity index 99%
 4400   5765   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4401   5766   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4402   5767   
index 816c862..cc4537a 100644
 4403   5768   
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
 4404   5769   
new file mode 100644
 4405   5770   
index 0000000..70d38c1
 4406         -
-- /dev/null
        5771  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4407   5772   
@@ -0,0 +1 @@
        5773  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4408   5774   
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
 4409   5775   
new file mode 100644
 4410   5776   
index 0000000..0647eea
 4411         -
-- /dev/null
        5777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4412   5778   
@@ -0,0 +1,6 @@
        5779  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5780  +
Host:example.amazonaws.com
        5781  +
X-Amz-Date:20150830T123600Z
        5782  +
X-Amz-Region-Set:us-east-1
        5783  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5784  +
 4413   5785   
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
 4414   5786   
similarity index 99%
 4415   5787   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4416   5788   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4417   5789   
index 6129fc5..cc19d14 100644
 4418   5790   
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
 4419   5791   
new file mode 100644
 4420   5792   
index 0000000..379dcb2
 4421         -
-- /dev/null
        5793  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4422   5794   
@@ -0,0 +1,4 @@
        5795  +
{
        5796  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5797  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5798  +
}
 4423   5799   
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
 4424   5800   
similarity index 99%
 4425   5801   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4426   5802   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4427   5803   
index b77ee9f..ed6a10e 100644
 4428   5804   
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
 4429   5805   
new file mode 100644
 4430   5806   
index 0000000..2ceba7b
 4431         -
-- /dev/null
        5807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4432   5808   
@@ -0,0 +1 @@
        5809  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4433   5810   
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
 4434   5811   
new file mode 100644
 4435   5812   
index 0000000..0cd6d0a
 4436         -
-- /dev/null
        5813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4437   5814   
@@ -0,0 +1,3 @@
        5815  +
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
        5816  +
Host:example.amazonaws.com
        5817  +
 4438   5818   
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
 4439   5819   
similarity index 99%
 4440   5820   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4441   5821   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4442   5822   
index 1cfed7a..aad1421 100644
 4443   5823   
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
 4444   5824   
similarity index 86%
 4445   5825   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4446   5826   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4447   5827   
index d2833b3..36b2fe3 100644
 4448         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4449   5829   
@@ -1,3 +1,2 @@
 4450   5830   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4451   5831   
Host:example.amazonaws.com
 4452         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4453   5832   
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
 4454   5833   
new file mode 100644
 4455   5834   
index 0000000..0468d80
 4456         -
-- /dev/null
        5835  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4457   5836   
@@ -0,0 +1,12 @@
        5837  +
{
        5838  +
    "credentials": {
        5839  +
        "access_key_id": "AKIDEXAMPLE",
        5840  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5841  +
    },
        5842  +
    "expiration_in_seconds": 3600,
        5843  +
    "normalize": true,
        5844  +
    "region": "us-east-1",
        5845  +
    "service": "service",
        5846  +
    "sign_body": false,
        5847  +
    "timestamp": "2015-08-30T12:36:00Z"
        5848  +
}
              \
 No newline at end of file
 4458   5849   
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
 4459   5850   
new file mode 100644
 4460   5851   
index 0000000..76db73d
 4461         -
-- /dev/null
        5852  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4462   5853   
@@ -0,0 +1,9 @@
        5854  +
GET
        5855  +
/
        5856  +
        5857  +
host:example.amazonaws.com
        5858  +
x-amz-date:20150830T123600Z
        5859  +
x-amz-region-set:us-east-1
        5860  +
        5861  +
host;x-amz-date;x-amz-region-set
        5862  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4463   5863   
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
 4464   5864   
new file mode 100644
 4465   5865   
index 0000000..281cc62
 4466         -
-- /dev/null
        5866  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4467   5867   
@@ -0,0 +1 @@
        5868  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4468   5869   
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
 4469   5870   
new file mode 100644
 4470   5871   
index 0000000..cce9925
 4471         -
-- /dev/null
        5872  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4472   5873   
@@ -0,0 +1,6 @@
        5874  +
GET / HTTP/1.1
        5875  +
Host:example.amazonaws.com
        5876  +
X-Amz-Date:20150830T123600Z
        5877  +
X-Amz-Region-Set:us-east-1
        5878  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5879  +
 4473   5880   
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
 4474   5881   
new file mode 100644
 4475   5882   
index 0000000..600f1d8
 4476         -
-- /dev/null
        5883  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4477   5884   
@@ -0,0 +1,4 @@
        5885  +
AWS4-ECDSA-P256-SHA256
        5886  +
20150830T123600Z
        5887  +
20150830/service/aws4_request
        5888  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4478   5889   
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
 4479   5890   
new file mode 100644
 4480   5891   
index 0000000..379dcb2
 4481         -
-- /dev/null
        5892  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4482   5893   
@@ -0,0 +1,4 @@
        5894  +
{
        5895  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5896  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5897  +
}
 4483   5898   
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
 4484   5899   
new file mode 100644
 4485   5900   
index 0000000..779c51c
 4486         -
-- /dev/null
        5901  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4487   5902   
@@ -0,0 +1,7 @@
        5903  +
GET
        5904  +
/
        5905  +
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
        5906  +
host:example.amazonaws.com
        5907  +
        5908  +
host
        5909  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4488   5910   
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
 4489   5911   
new file mode 100644
 4490   5912   
index 0000000..2979e5e
 4491         -
-- /dev/null
        5913  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4492   5914   
@@ -0,0 +1 @@
        5915  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4493   5916   
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
 4494   5917   
new file mode 100644
 4495   5918   
index 0000000..1b3179c
 4496         -
-- /dev/null
        5919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4497   5920   
@@ -0,0 +1,3 @@
        5921  +
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
        5922  +
Host:example.amazonaws.com
        5923  +
 4498   5924   
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
 4499   5925   
new file mode 100644
 4500   5926   
index 0000000..6e29a7e
 4501         -
-- /dev/null
        5927  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4502   5928   
@@ -0,0 +1,4 @@
        5929  +
AWS4-ECDSA-P256-SHA256
        5930  +
20150830T123600Z
        5931  +
20150830/service/aws4_request
        5932  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4503   5933   
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
 4504   5934   
similarity index 60%
 4505   5935   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4506   5936   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4507   5937   
index 0f7a9bf..e659c3b 100644
 4508         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4509   5939   
@@ -1,3 +1,2 @@
 4510   5940   
GET / HTTP/1.1
 4511   5941   
Host:example.amazonaws.com
 4512         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4513   5942   
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
 4514   5943   
new file mode 100644
 4515   5944   
index 0000000..0468d80
 4516         -
-- /dev/null
        5945  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4517   5946   
@@ -0,0 +1,12 @@
        5947  +
{
        5948  +
    "credentials": {
        5949  +
        "access_key_id": "AKIDEXAMPLE",
        5950  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5951  +
    },
        5952  +
    "expiration_in_seconds": 3600,
        5953  +
    "normalize": true,
        5954  +
    "region": "us-east-1",
        5955  +
    "service": "service",
        5956  +
    "sign_body": false,
        5957  +
    "timestamp": "2015-08-30T12:36:00Z"
        5958  +
}
              \
 No newline at end of file
 4518   5959   
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
 4519   5960   
new file mode 100644
 4520   5961   
index 0000000..8841ddf
 4521         -
-- /dev/null
        5962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4522   5963   
@@ -0,0 +1,9 @@
        5964  +
GET
        5965  +
/
        5966  +
%E1%88%B4=bar
        5967  +
host:example.amazonaws.com
        5968  +
x-amz-date:20150830T123600Z
        5969  +
x-amz-region-set:us-east-1
        5970  +
        5971  +
host;x-amz-date;x-amz-region-set
        5972  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4523   5973   
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
 4524   5974   
new file mode 100644
 4525   5975   
index 0000000..1497add
 4526         -
-- /dev/null
        5976  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4527   5977   
@@ -0,0 +1 @@
        5978  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4528   5979   
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
 4529   5980   
new file mode 100644
 4530   5981   
index 0000000..961bc10
 4531         -
-- /dev/null
        5982  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4532   5983   
@@ -0,0 +1,6 @@
        5984  +
GET /?ሴ=bar HTTP/1.1
        5985  +
Host:example.amazonaws.com
        5986  +
X-Amz-Date:20150830T123600Z
        5987  +
X-Amz-Region-Set:us-east-1
        5988  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        5989  +
 4533   5990   
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
 4534   5991   
new file mode 100644
 4535   5992   
index 0000000..e78ed70
 4536         -
-- /dev/null
        5993  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4537   5994   
@@ -0,0 +1,4 @@
        5995  +
AWS4-ECDSA-P256-SHA256
        5996  +
20150830T123600Z
        5997  +
20150830/service/aws4_request
        5998  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4538   5999   
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
 4539   6000   
new file mode 100644
 4540   6001   
index 0000000..379dcb2
 4541         -
-- /dev/null
        6002  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4542   6003   
@@ -0,0 +1,4 @@
        6004  +
{
        6005  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6006  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6007  +
}
 4543   6008   
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
 4544   6009   
new file mode 100644
 4545   6010   
index 0000000..6d5ae93
 4546         -
-- /dev/null
        6011  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4547   6012   
@@ -0,0 +1,7 @@
        6013  +
GET
        6014  +
/
        6015  +
%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
        6016  +
host:example.amazonaws.com
        6017  +
        6018  +
host
        6019  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4548   6020   
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
 4549   6021   
new file mode 100644
 4550   6022   
index 0000000..92107f2
 4551         -
-- /dev/null
        6023  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4552   6024   
@@ -0,0 +1 @@
        6025  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4553   6026   
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
 4554   6027   
new file mode 100644
 4555   6028   
index 0000000..bb8a75b
 4556         -
-- /dev/null
        6029  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4557   6030   
@@ -0,0 +1,3 @@
        6031  +
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
        6032  +
Host:example.amazonaws.com
        6033  +
 4558   6034   
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
 4559   6035   
new file mode 100644
 4560   6036   
index 0000000..9fa94c7
 4561         -
-- /dev/null
        6037  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4562   6038   
@@ -0,0 +1,4 @@
        6039  +
AWS4-ECDSA-P256-SHA256
        6040  +
20150830T123600Z
        6041  +
20150830/service/aws4_request
        6042  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4563   6043   
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
 4564   6044   
new file mode 100644
 4565   6045   
index 0000000..aff333a
 4566         -
-- /dev/null
        6046  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4567   6047   
@@ -0,0 +1,2 @@
        6048  +
GET /?ሴ=bar HTTP/1.1
        6049  +
Host:example.amazonaws.com
 4568   6050   
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
 4569   6051   
new file mode 100644
 4570   6052   
index 0000000..a334e18
 4571         -
-- /dev/null
        6053  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4572   6054   
@@ -0,0 +1,13 @@
        6055  +
{
        6056  +
    "credentials": {
        6057  +
        "access_key_id": "AKIDEXAMPLE",
        6058  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6059  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        6060  +
    },
        6061  +
    "expiration_in_seconds": 3600,
        6062  +
    "normalize": true,
        6063  +
    "region": "us-east-1",
        6064  +
    "service": "service",
        6065  +
    "sign_body": false,
        6066  +
    "timestamp": "2015-08-30T12:36:00Z"
        6067  +
}
              \
 No newline at end of file
 4573   6068   
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
 4574   6069   
similarity index 99%
 4575   6070   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4576   6071   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4577   6072   
index f14defd..0e9ad42 100644
 4578   6073   
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
 4579   6074   
new file mode 100644
 4580   6075   
index 0000000..a7673b5
 4581         -
-- /dev/null
        6076  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4582   6077   
@@ -0,0 +1 @@
        6078  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4583   6079   
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
 4584   6080   
new file mode 100644
 4585   6081   
index 0000000..ed16e76
 4586         -
-- /dev/null
        6082  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4587   6083   
@@ -0,0 +1,7 @@
        6084  +
GET / HTTP/1.1
        6085  +
Host:example.amazonaws.com
        6086  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        6087  +
X-Amz-Date:20150830T123600Z
        6088  +
X-Amz-Region-Set:us-east-1
        6089  +
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
        6090  +
 4588   6091   
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
 4589   6092   
similarity index 99%
 4590   6093   
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
 4591   6094   
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
 4592   6095   
index 4edece5..6c1ec65 100644
 4593   6096   
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
 4594   6097   
new file mode 100644
 4595   6098   
index 0000000..379dcb2
 4596         -
-- /dev/null
        6099  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4597   6100   
@@ -0,0 +1,4 @@
        6101  +
{
        6102  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6103  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6104  +
}
 4598   6105   
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
 4599   6106   
similarity index 99%
 4600   6107   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4601   6108   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4602   6109   
index 7c042af..1876b42 100644
 4603   6110   
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
 4604   6111   
new file mode 100644
 4605   6112   
index 0000000..903dfb4
 4606         -
-- /dev/null
        6113  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4607   6114   
@@ -0,0 +1 @@
        6115  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4608   6116   
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
 4609   6117   
new file mode 100644
 4610   6118   
index 0000000..bf1d246
 4611         -
-- /dev/null
        6119  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4612   6120   
@@ -0,0 +1,3 @@
        6121  +
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
        6122  +
Host:example.amazonaws.com
        6123  +
 4613   6124   
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
 4614   6125   
similarity index 99%
 4615   6126   
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
 4616   6127   
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
 4617   6128   
index 0fd066a..f1b1790 100644
 4618   6129   
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
 4619   6130   
similarity index 60%
 4620   6131   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4621   6132   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4622   6133   
index 0f7a9bf..e659c3b 100644
 4623         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4624   6135   
@@ -1,3 +1,2 @@
 4625   6136   
GET / HTTP/1.1
 4626   6137   
Host:example.amazonaws.com
 4627         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4628   6138   
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
 4629   6139   
new file mode 100644
 4630   6140   
index 0000000..76db73d
 4631         -
-- /dev/null
        6141  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4632   6142   
@@ -0,0 +1,9 @@
        6143  +
GET
        6144  +
/
        6145  +
        6146  +
host:example.amazonaws.com
        6147  +
x-amz-date:20150830T123600Z
        6148  +
x-amz-region-set:us-east-1
        6149  +
        6150  +
host;x-amz-date;x-amz-region-set
        6151  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4633   6152   
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
 4634   6153   
new file mode 100644
 4635   6154   
index 0000000..0468d80
 4636         -
-- /dev/null
        6155  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4637   6156   
@@ -0,0 +1,12 @@
        6157  +
{
        6158  +
    "credentials": {
        6159  +
        "access_key_id": "AKIDEXAMPLE",
        6160  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6161  +
    },
        6162  +
    "expiration_in_seconds": 3600,
        6163  +
    "normalize": true,
        6164  +
    "region": "us-east-1",
        6165  +
    "service": "service",
        6166  +
    "sign_body": false,
        6167  +
    "timestamp": "2015-08-30T12:36:00Z"
        6168  +
}
              \
 No newline at end of file
 4638   6169   
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
 4639   6170   
new file mode 100644
 4640   6171   
index 0000000..76db73d
 4641         -
-- /dev/null
        6172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4642   6173   
@@ -0,0 +1,9 @@
        6174  +
GET
        6175  +
/
        6176  +
        6177  +
host:example.amazonaws.com
        6178  +
x-amz-date:20150830T123600Z
        6179  +
x-amz-region-set:us-east-1
        6180  +
        6181  +
host;x-amz-date;x-amz-region-set
        6182  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4643   6183   
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
 4644   6184   
new file mode 100644
 4645   6185   
index 0000000..a96ff24
 4646         -
-- /dev/null
        6186  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4647   6187   
@@ -0,0 +1 @@
        6188  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4648   6189   
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
 4649   6190   
new file mode 100644
 4650   6191   
index 0000000..689078b
 4651         -
-- /dev/null
        6192  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4652   6193   
@@ -0,0 +1,6 @@
        6194  +
GET / HTTP/1.1
        6195  +
Host:example.amazonaws.com
        6196  +
X-Amz-Date:20150830T123600Z
        6197  +
X-Amz-Region-Set:us-east-1
        6198  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6199  +
 4653   6200   
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
 4654   6201   
new file mode 100644
 4655   6202   
index 0000000..600f1d8
 4656         -
-- /dev/null
        6203  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4657   6204   
@@ -0,0 +1,4 @@
        6205  +
AWS4-ECDSA-P256-SHA256
        6206  +
20150830T123600Z
        6207  +
20150830/service/aws4_request
        6208  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4658   6209   
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
 4659   6210   
new file mode 100644
 4660   6211   
index 0000000..379dcb2
 4661         -
-- /dev/null
        6212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4662   6213   
@@ -0,0 +1,4 @@
        6214  +
{
        6215  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6216  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6217  +
}
 4663   6218   
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
 4664   6219   
new file mode 100644
 4665   6220   
index 0000000..779c51c
 4666         -
-- /dev/null
        6221  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4667   6222   
@@ -0,0 +1,7 @@
        6223  +
GET
        6224  +
/
        6225  +
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
        6226  +
host:example.amazonaws.com
        6227  +
        6228  +
host
        6229  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4668   6230   
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
 4669   6231   
new file mode 100644
 4670   6232   
index 0000000..cc42158
 4671         -
-- /dev/null
        6233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4672   6234   
@@ -0,0 +1 @@
        6235  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4673   6236   
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
 4674   6237   
new file mode 100644
 4675   6238   
index 0000000..dc6d01d
 4676         -
-- /dev/null
        6239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4677   6240   
@@ -0,0 +1,3 @@
        6241  +
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
        6242  +
Host:example.amazonaws.com
        6243  +
 4678   6244   
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
 4679   6245   
new file mode 100644
 4680   6246   
index 0000000..6e29a7e
 4681         -
-- /dev/null
        6247  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4682   6248   
@@ -0,0 +1,4 @@
        6249  +
AWS4-ECDSA-P256-SHA256
        6250  +
20150830T123600Z
        6251  +
20150830/service/aws4_request
        6252  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4683   6253   
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
 4684   6254   
new file mode 100644
 4685   6255   
index 0000000..e659c3b
 4686         -
-- /dev/null
        6256  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4687   6257   
@@ -0,0 +1,2 @@
        6258  +
GET / HTTP/1.1
        6259  +
Host:example.amazonaws.com
 4688   6260   
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
 4689   6261   
new file mode 100644
 4690   6262   
index 0000000..600f1d8
 4691         -
-- /dev/null
        6263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4692   6264   
@@ -0,0 +1,4 @@
        6265  +
AWS4-ECDSA-P256-SHA256
        6266  +
20150830T123600Z
        6267  +
20150830/service/aws4_request
        6268  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4693   6269   
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
 4694   6270   
new file mode 100644
 4695   6271   
index 0000000..0468d80
 4696         -
-- /dev/null
        6272  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4697   6273   
@@ -0,0 +1,12 @@
        6274  +
{
        6275  +
    "credentials": {
        6276  +
        "access_key_id": "AKIDEXAMPLE",
        6277  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6278  +
    },
        6279  +
    "expiration_in_seconds": 3600,
        6280  +
    "normalize": true,
        6281  +
    "region": "us-east-1",
        6282  +
    "service": "service",
        6283  +
    "sign_body": false,
        6284  +
    "timestamp": "2015-08-30T12:36:00Z"
        6285  +
}
              \
 No newline at end of file
 4698   6286   
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
 4699   6287   
similarity index 99%
 4700   6288   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4701   6289   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4702   6290   
index a6942c1..e881ac7 100644
 4703   6291   
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
 4704   6292   
new file mode 100644
 4705   6293   
index 0000000..4210210
 4706         -
-- /dev/null
        6294  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4707   6295   
@@ -0,0 +1 @@
        6296  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4708   6297   
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
 4709   6298   
new file mode 100644
 4710   6299   
index 0000000..257b110
 4711         -
-- /dev/null
        6300  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4712   6301   
@@ -0,0 +1,6 @@
        6302  +
POST / HTTP/1.1
        6303  +
Host:example.amazonaws.com
        6304  +
X-Amz-Date:20150830T123600Z
        6305  +
X-Amz-Region-Set:us-east-1
        6306  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6307  +
 4713   6308   
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
 4714   6309   
similarity index 99%
 4715   6310   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4716   6311   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4717   6312   
index d5650cb..f8adf13 100644
 4718   6313   
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
 4719   6314   
new file mode 100644
 4720   6315   
index 0000000..379dcb2
 4721         -
-- /dev/null
        6316  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4722   6317   
@@ -0,0 +1,4 @@
        6318  +
{
        6319  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6320  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6321  +
}
 4723   6322   
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
 4724   6323   
similarity index 99%
 4725   6324   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4726   6325   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4727   6326   
index e48ce07..5ea8e3c 100644
 4728   6327   
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
 4729   6328   
new file mode 100644
 4730   6329   
index 0000000..9e2069e
 4731         -
-- /dev/null
        6330  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4732   6331   
@@ -0,0 +1 @@
        6332  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4733   6333   
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
 4734   6334   
new file mode 100644
 4735   6335   
index 0000000..67f5d29
 4736         -
-- /dev/null
        6336  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4737   6337   
@@ -0,0 +1,3 @@
        6338  +
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
        6339  +
Host:example.amazonaws.com
        6340  +
 4738   6341   
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
 4739   6342   
similarity index 99%
 4740   6343   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4741   6344   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4742   6345   
index 34e3382..711c162 100644
 4743   6346   
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
 4744   6347   
similarity index 61%
 4745   6348   
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
 4746   6349   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4747   6350   
index 3dc4179..3f0a82a 100644
 4748         -
-- 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
        6351  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4749   6352   
@@ -1,3 +1,2 @@
 4750   6353   
POST / HTTP/1.1
 4751   6354   
Host:example.amazonaws.com
 4752         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4753   6355   
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
 4754   6356   
new file mode 100644
 4755   6357   
index 0000000..0468d80
 4756         -
-- /dev/null
        6358  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4757   6359   
@@ -0,0 +1,12 @@
        6360  +
{
        6361  +
    "credentials": {
        6362  +
        "access_key_id": "AKIDEXAMPLE",
        6363  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6364  +
    },
        6365  +
    "expiration_in_seconds": 3600,
        6366  +
    "normalize": true,
        6367  +
    "region": "us-east-1",
        6368  +
    "service": "service",
        6369  +
    "sign_body": false,
        6370  +
    "timestamp": "2015-08-30T12:36:00Z"
        6371  +
}
              \
 No newline at end of file
 4758   6372   
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
 4759   6373   
similarity index 99%
 4760   6374   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4761   6375   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4762   6376   
index a8e1727..2883822 100644
 4763   6377   
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
 4764   6378   
new file mode 100644
 4765   6379   
index 0000000..e3c2e6e
 4766         -
-- /dev/null
        6380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4767   6381   
@@ -0,0 +1 @@
        6382  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4768   6383   
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
 4769   6384   
new file mode 100644
 4770   6385   
index 0000000..1d6e288
 4771         -
-- /dev/null
        6386  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4772   6387   
@@ -0,0 +1,7 @@
        6388  +
POST / HTTP/1.1
        6389  +
Host:example.amazonaws.com
        6390  +
My-Header1:value1
        6391  +
X-Amz-Date:20150830T123600Z
        6392  +
X-Amz-Region-Set:us-east-1
        6393  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6394  +
 4773   6395   
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
 4774   6396   
similarity index 99%
 4775   6397   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4776   6398   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4777   6399   
index f6e3e9b..7c5236a 100644
 4778   6400   
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
 4779   6401   
new file mode 100644
 4780   6402   
index 0000000..379dcb2
 4781         -
-- /dev/null
        6403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4782   6404   
@@ -0,0 +1,4 @@
        6405  +
{
        6406  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6407  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6408  +
}
 4783   6409   
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
 4784   6410   
similarity index 99%
 4785   6411   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4786   6412   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4787   6413   
index 0ae73e1..2cf3f29 100644
 4788   6414   
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
 4789   6415   
new file mode 100644
 4790   6416   
index 0000000..2a08401
 4791         -
-- /dev/null
        6417  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4792   6418   
@@ -0,0 +1 @@
        6419  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4793   6420   
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
 4794   6421   
new file mode 100644
 4795   6422   
index 0000000..8d2343f
 4796         -
-- /dev/null
        6423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4797   6424   
@@ -0,0 +1,4 @@
        6425  +
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
        6426  +
Host:example.amazonaws.com
        6427  +
My-Header1:value1
        6428  +
 4798   6429   
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
 4799   6430   
similarity index 99%
 4800   6431   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4801   6432   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4802   6433   
index 8cb96bf..2c4db7a 100644
 4803   6434   
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
 4804   6435   
similarity index 69%
 4805   6436   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4806   6437   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4807   6438   
index 0253f19..917720e 100644
 4808         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4809   6440   
@@ -1,4 +1,3 @@
 4810   6441   
POST / HTTP/1.1
 4811   6442   
Host:example.amazonaws.com
 4812   6443   
My-Header1:value1
 4813         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4814   6444   
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
 4815   6445   
new file mode 100644
 4816   6446   
index 0000000..0468d80
 4817         -
-- /dev/null
        6447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4818   6448   
@@ -0,0 +1,12 @@
        6449  +
{
        6450  +
    "credentials": {
        6451  +
        "access_key_id": "AKIDEXAMPLE",
        6452  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6453  +
    },
        6454  +
    "expiration_in_seconds": 3600,
        6455  +
    "normalize": true,
        6456  +
    "region": "us-east-1",
        6457  +
    "service": "service",
        6458  +
    "sign_body": false,
        6459  +
    "timestamp": "2015-08-30T12:36:00Z"
        6460  +
}
              \
 No newline at end of file
 4819   6461   
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
 4820   6462   
similarity index 99%
 4821   6463   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4822   6464   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4823   6465   
index 1dc3ef8..164e65c 100644
 4824   6466   
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
 4825   6467   
new file mode 100644
 4826   6468   
index 0000000..7072b0e
 4827         -
-- /dev/null
        6469  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4828   6470   
@@ -0,0 +1 @@
        6471  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4829   6472   
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
 4830   6473   
new file mode 100644
 4831   6474   
index 0000000..17f5e3e
 4832         -
-- /dev/null
        6475  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4833   6476   
@@ -0,0 +1,7 @@
        6477  +
POST / HTTP/1.1
        6478  +
Host:example.amazonaws.com
        6479  +
My-Header1:VALUE1
        6480  +
X-Amz-Date:20150830T123600Z
        6481  +
X-Amz-Region-Set:us-east-1
        6482  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6483  +
 4834   6484   
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
 4835   6485   
similarity index 99%
 4836   6486   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4837   6487   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4838   6488   
index 59c7e45..620f54e 100644
 4839   6489   
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
 4840   6490   
new file mode 100644
 4841   6491   
index 0000000..379dcb2
 4842         -
-- /dev/null
        6492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4843   6493   
@@ -0,0 +1,4 @@
        6494  +
{
        6495  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6496  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6497  +
}
 4844   6498   
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
 4845   6499   
similarity index 99%
 4846   6500   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4847   6501   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4848   6502   
index 377e6f3..23e0da3 100644
 4849   6503   
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
 4850   6504   
new file mode 100644
 4851   6505   
index 0000000..a18acb8
 4852         -
-- /dev/null
        6506  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4853   6507   
@@ -0,0 +1 @@
        6508  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4854   6509   
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
 4855   6510   
new file mode 100644
 4856   6511   
index 0000000..7cbdcfa
 4857         -
-- /dev/null
        6512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4858   6513   
@@ -0,0 +1,4 @@
        6514  +
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
        6515  +
Host:example.amazonaws.com
        6516  +
My-Header1:VALUE1
        6517  +
 4859   6518   
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
 4860   6519   
similarity index 99%
 4861   6520   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4862   6521   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4863   6522   
index 84a7afd..0c90627 100644
 4864   6523   
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
 4865   6524   
similarity index 69%
 4866   6525   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4867   6526   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4868   6527   
index 3f9987a..5f14c91 100644
 4869         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4870   6529   
@@ -1,4 +1,3 @@
 4871   6530   
POST / HTTP/1.1
 4872   6531   
Host:example.amazonaws.com
 4873   6532   
My-Header1:VALUE1
 4874         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4875   6533   
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
 4876   6534   
new file mode 100644
 4877   6535   
index 0000000..8f1d5ce
 4878         -
-- /dev/null
        6536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4879   6537   
@@ -0,0 +1,14 @@
        6538  +
{
        6539  +
    "credentials": {
        6540  +
        "access_key_id": "AKIDEXAMPLE",
        6541  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6542  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        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  +
    "omit_session_token": true
        6551  +
}
 4880   6552   
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
 4881   6553   
similarity index 99%
 4882   6554   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4883   6555   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4884   6556   
index a6942c1..e881ac7 100644
 4885   6557   
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
 4886   6558   
new file mode 100644
 4887   6559   
index 0000000..9c5ecb9
 4888         -
-- /dev/null
        6560  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4889   6561   
@@ -0,0 +1 @@
        6562  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4890   6563   
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
 4891   6564   
similarity index 52%
 4892   6565   
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
 4893   6566   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4894   6567   
index 9d91775..61b6527 100644
 4895         -
-- 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
        6568  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4896   6569   
@@ -1,4 +1,7 @@
 4897   6570   
POST / HTTP/1.1
 4898   6571   
Host:example.amazonaws.com
 4899         -
X-Amz-Date:20150830T123600Z
 4900   6572   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6573  +
X-Amz-Date:20150830T123600Z
        6574  +
X-Amz-Region-Set:us-east-1
        6575  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6576  +
 4901   6577   
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
 4902   6578   
similarity index 99%
 4903   6579   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4904   6580   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4905   6581   
index d5650cb..f8adf13 100644
 4906   6582   
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
 4907   6583   
new file mode 100644
 4908   6584   
index 0000000..379dcb2
 4909         -
-- /dev/null
        6585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4910   6586   
@@ -0,0 +1,4 @@
        6587  +
{
        6588  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6589  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6590  +
}
 4911   6591   
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
 4912   6592   
similarity index 99%
 4913   6593   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4914   6594   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4915   6595   
index e48ce07..5ea8e3c 100644
 4916   6596   
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
 4917   6597   
new file mode 100644
 4918   6598   
index 0000000..ff8823a
 4919         -
-- /dev/null
        6599  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 4920   6600   
@@ -0,0 +1 @@
        6601  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 4921   6602   
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
 4922   6603   
new file mode 100644
 4923   6604   
index 0000000..cfac41b
 4924         -
-- /dev/null
        6605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 4925   6606   
@@ -0,0 +1,3 @@
        6607  +
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
        6608  +
Host:example.amazonaws.com
        6609  +
 4926   6610   
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
 4927   6611   
similarity index 99%
 4928   6612   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 4929   6613   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 4930   6614   
index 34e3382..711c162 100644
 4931   6615   
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
 4932   6616   
similarity index 61%
 4933   6617   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 4934   6618   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4935   6619   
index 3dc4179..3f0a82a 100644
 4936         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6620  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4937   6621   
@@ -1,3 +1,2 @@
 4938   6622   
POST / HTTP/1.1
 4939   6623   
Host:example.amazonaws.com
 4940         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4941   6624   
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
 4942   6625   
new file mode 100644
 4943   6626   
index 0000000..5187392
 4944         -
-- /dev/null
        6627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 4945   6628   
@@ -0,0 +1,14 @@
        6629  +
{
        6630  +
    "credentials": {
        6631  +
        "access_key_id": "AKIDEXAMPLE",
        6632  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6633  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6634  +
    },
        6635  +
    "expiration_in_seconds": 3600,
        6636  +
    "normalize": true,
        6637  +
    "region": "us-east-1",
        6638  +
    "service": "service",
        6639  +
    "sign_body": false,
        6640  +
    "timestamp": "2015-08-30T12:36:00Z",
        6641  +
    "omit_session_token": false
        6642  +
}
 4946   6643   
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
 4947   6644   
similarity index 99%
 4948   6645   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 4949   6646   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 4950   6647   
index dd408c8..e95924e 100644
 4951   6648   
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
 4952   6649   
new file mode 100644
 4953   6650   
index 0000000..1573f07
 4954         -
-- /dev/null
        6651  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 4955   6652   
@@ -0,0 +1 @@
        6653  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 4956   6654   
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
 4957   6655   
new file mode 100644
 4958   6656   
index 0000000..6ef9a08
 4959         -
-- /dev/null
        6657  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 4960   6658   
@@ -0,0 +1,7 @@
        6659  +
POST / HTTP/1.1
        6660  +
Host:example.amazonaws.com
        6661  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6662  +
X-Amz-Date:20150830T123600Z
        6663  +
X-Amz-Region-Set:us-east-1
        6664  +
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
        6665  +
 4961   6666   
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
 4962   6667   
similarity index 99%
 4963   6668   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 4964   6669   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 4965   6670   
index f352b54..3c3235f 100644
 4966   6671   
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
 4967   6672   
new file mode 100644
 4968   6673   
index 0000000..379dcb2
 4969         -
-- /dev/null
        6674  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 4970   6675   
@@ -0,0 +1,4 @@
        6676  +
{
        6677  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6678  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6679  +
}
 4971   6680   
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
 4972   6681   
similarity index 99%
 4973   6682   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 4974   6683   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 4975   6684   
index 832cdc0..63b7de5 100644
 4976   6685   
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
 4977   6686   
new file mode 100644
 4978   6687   
index 0000000..713f57c
 4979         -
-- /dev/null
        6688  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 4980   6689   
@@ -0,0 +1 @@
        6690  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 4981   6691   
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
 4982   6692   
new file mode 100644
 4983   6693   
index 0000000..32c3bb3
 4984         -
-- /dev/null
        6694  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 4985   6695   
@@ -0,0 +1,3 @@
        6696  +
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
        6697  +
Host:example.amazonaws.com
        6698  +
 4986   6699   
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
 4987   6700   
similarity index 99%
 4988   6701   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 4989   6702   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 4990   6703   
index d7f3668..b46cd8c 100644
 4991   6704   
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
 4992   6705   
similarity index 60%
 4993   6706   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 4994   6707   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4995   6708   
index 8b5efc8..3f0a82a 100644
 4996         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6709  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 4997   6710   
@@ -1,3 +1,2 @@
 4998   6711   
POST / HTTP/1.1
 4999   6712   
Host:example.amazonaws.com
 5000         -
X-Amz-Date:20150830T123600Z
 5001   6713   
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
 5002   6714   
new file mode 100644
 5003   6715   
index 0000000..0468d80
 5004         -
-- /dev/null
        6716  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 5005   6717   
@@ -0,0 +1,12 @@
        6718  +
{
        6719  +
    "credentials": {
        6720  +
        "access_key_id": "AKIDEXAMPLE",
        6721  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6722  +
    },
        6723  +
    "expiration_in_seconds": 3600,
        6724  +
    "normalize": true,
        6725  +
    "region": "us-east-1",
        6726  +
    "service": "service",
        6727  +
    "sign_body": false,
        6728  +
    "timestamp": "2015-08-30T12:36:00Z"
        6729  +
}
              \
 No newline at end of file
 5006   6730   
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
 5007   6731   
similarity index 99%
 5008   6732   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 5009   6733   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5010   6734   
index 02af60f..34b8c11 100644
 5011   6735   
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
 5012   6736   
new file mode 100644
 5013   6737   
index 0000000..aac6427
 5014         -
-- /dev/null
        6738  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 5015   6739   
@@ -0,0 +1 @@
        6740  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 5016   6741   
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
 5017   6742   
new file mode 100644
 5018   6743   
index 0000000..a611436
 5019         -
-- /dev/null
        6744  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 5020   6745   
@@ -0,0 +1,6 @@
        6746  +
POST /?Param1=value1 HTTP/1.1
        6747  +
Host:example.amazonaws.com
        6748  +
X-Amz-Date:20150830T123600Z
        6749  +
X-Amz-Region-Set:us-east-1
        6750  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6751  +
 5021   6752   
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
 5022   6753   
similarity index 99%
 5023   6754   
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
 5024   6755   
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
 5025   6756   
index 4256b4f..ad88dff 100644
 5026   6757   
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
 5027   6758   
new file mode 100644
 5028   6759   
index 0000000..379dcb2
 5029         -
-- /dev/null
        6760  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 5030   6761   
@@ -0,0 +1,4 @@
        6762  +
{
        6763  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6764  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6765  +
}
 5031   6766   
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
 5032   6767   
similarity index 99%
 5033   6768   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 5034   6769   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5035   6770   
index fa84bbd..76d5ad6 100644
 5036   6771   
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
 5037   6772   
new file mode 100644
 5038   6773   
index 0000000..4cb1c94
 5039         -
-- /dev/null
        6774  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 5040   6775   
@@ -0,0 +1 @@
        6776  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 5041   6777   
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
 5042   6778   
new file mode 100644
 5043   6779   
index 0000000..bd22b97
 5044         -
-- /dev/null
        6780  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 5045   6781   
@@ -0,0 +1,3 @@
        6782  +
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
        6783  +
Host:example.amazonaws.com
        6784  +
 5046   6785   
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
 5047   6786   
similarity index 99%
 5048   6787   
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
 5049   6788   
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
 5050   6789   
index de270ef..8c9d319 100644
 5051   6790   
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
 5052   6791   
similarity index 67%
 5053   6792   
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
 5054   6793   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5055   6794   
index 9157bc7..c9d6e5d 100644
 5056         -
-- 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
        6795  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5057   6796   
@@ -1,3 +1,2 @@
 5058   6797   
POST /?Param1=value1 HTTP/1.1
 5059   6798   
Host:example.amazonaws.com
 5060         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5061   6799   
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
 5062   6800   
new file mode 100644
 5063   6801   
index 0000000..0468d80
 5064         -
-- /dev/null
        6802  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 5065   6803   
@@ -0,0 +1,12 @@
        6804  +
{
        6805  +
    "credentials": {
        6806  +
        "access_key_id": "AKIDEXAMPLE",
        6807  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6808  +
    },
        6809  +
    "expiration_in_seconds": 3600,
        6810  +
    "normalize": true,
        6811  +
    "region": "us-east-1",
        6812  +
    "service": "service",
        6813  +
    "sign_body": false,
        6814  +
    "timestamp": "2015-08-30T12:36:00Z"
        6815  +
}
              \
 No newline at end of file
 5066   6816   
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
 5067   6817   
similarity index 99%
 5068   6818   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 5069   6819   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5070   6820   
index 02af60f..34b8c11 100644
 5071   6821   
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
 5072   6822   
new file mode 100644
 5073   6823   
index 0000000..34f75c8
 5074         -
-- /dev/null
        6824  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 5075   6825   
@@ -0,0 +1 @@
        6826  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 5076   6827   
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
 5077   6828   
new file mode 100644
 5078   6829   
index 0000000..c731408
 5079         -
-- /dev/null
        6830  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 5080   6831   
@@ -0,0 +1,6 @@
        6832  +
POST /?Param1=value1 HTTP/1.1
        6833  +
Host:example.amazonaws.com
        6834  +
X-Amz-Date:20150830T123600Z
        6835  +
X-Amz-Region-Set:us-east-1
        6836  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6837  +
 5081   6838   
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
 5082   6839   
similarity index 99%
 5083   6840   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 5084   6841   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5085   6842   
index 4256b4f..ad88dff 100644
 5086   6843   
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
 5087   6844   
new file mode 100644
 5088   6845   
index 0000000..379dcb2
 5089         -
-- /dev/null
        6846  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 5090   6847   
@@ -0,0 +1,4 @@
        6848  +
{
        6849  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6850  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6851  +
}
 5091   6852   
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
 5092   6853   
similarity index 99%
 5093   6854   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 5094   6855   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 5095   6856   
index fa84bbd..76d5ad6 100644
 5096   6857   
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
 5097   6858   
new file mode 100644
 5098   6859   
index 0000000..ae000d6
 5099         -
-- /dev/null
        6860  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 5100   6861   
@@ -0,0 +1 @@
        6862  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 5101   6863   
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
 5102   6864   
new file mode 100644
 5103   6865   
index 0000000..a868f7d
 5104         -
-- /dev/null
        6866  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 5105   6867   
@@ -0,0 +1,3 @@
        6868  +
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
        6869  +
Host:example.amazonaws.com
        6870  +
 5106   6871   
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
 5107   6872   
similarity index 99%
 5108   6873   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 5109   6874   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 5110   6875   
index de270ef..8c9d319 100644
 5111   6876   
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
 5112   6877   
similarity index 67%
 5113   6878   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 5114   6879   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5115   6880   
index 9157bc7..c9d6e5d 100644
 5116         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6881  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5117   6882   
@@ -1,3 +1,2 @@
 5118   6883   
POST /?Param1=value1 HTTP/1.1
 5119   6884   
Host:example.amazonaws.com
 5120         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5121   6885   
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
 5122   6886   
new file mode 100644
 5123   6887   
index 0000000..0468d80
 5124         -
-- /dev/null
        6888  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 5125   6889   
@@ -0,0 +1,12 @@
        6890  +
{
        6891  +
    "credentials": {
        6892  +
        "access_key_id": "AKIDEXAMPLE",
        6893  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6894  +
    },
        6895  +
    "expiration_in_seconds": 3600,
        6896  +
    "normalize": true,
        6897  +
    "region": "us-east-1",
        6898  +
    "service": "service",
        6899  +
    "sign_body": false,
        6900  +
    "timestamp": "2015-08-30T12:36:00Z"
        6901  +
}
              \
 No newline at end of file
 5126   6902   
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
 5127   6903   
similarity index 99%
 5128   6904   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 5129   6905   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 5130   6906   
index a6942c1..e881ac7 100644
 5131   6907   
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
 5132   6908   
new file mode 100644
 5133   6909   
index 0000000..7c5e47b
 5134         -
-- /dev/null
        6910  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 5135   6911   
@@ -0,0 +1 @@
        6912  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 5136   6913   
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
 5137   6914   
new file mode 100644
 5138   6915   
index 0000000..c0e50a0
 5139         -
-- /dev/null
        6916  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 5140   6917   
@@ -0,0 +1,6 @@
        6918  +
POST / HTTP/1.1
        6919  +
Host:example.amazonaws.com
        6920  +
X-Amz-Date:20150830T123600Z
        6921  +
X-Amz-Region-Set:us-east-1
        6922  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6923  +
 5141   6924   
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
 5142   6925   
similarity index 99%
 5143   6926   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 5144   6927   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 5145   6928   
index d5650cb..f8adf13 100644
 5146   6929   
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
 5147   6930   
new file mode 100644
 5148   6931   
index 0000000..379dcb2
 5149         -
-- /dev/null
        6932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 5150   6933   
@@ -0,0 +1,4 @@
        6934  +
{
        6935  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6936  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6937  +
}
 5151   6938   
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
 5152   6939   
similarity index 99%
 5153   6940   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 5154   6941   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 5155   6942   
index e48ce07..5ea8e3c 100644
 5156   6943   
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
 5157   6944   
new file mode 100644
 5158   6945   
index 0000000..ea8e3b4
 5159         -
-- /dev/null
        6946  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 5160   6947   
@@ -0,0 +1 @@
        6948  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 5161   6949   
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
 5162   6950   
new file mode 100644
 5163   6951   
index 0000000..616973f
 5164         -
-- /dev/null
        6952  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 5165   6953   
@@ -0,0 +1,3 @@
        6954  +
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
        6955  +
Host:example.amazonaws.com
        6956  +
 5166   6957   
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
 5167   6958   
similarity index 99%
 5168   6959   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 5169   6960   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 5170   6961   
index 34e3382..711c162 100644
 5171   6962   
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
 5172   6963   
new file mode 100644
 5173   6964   
index 0000000..3f0a82a
 5174         -
-- /dev/null
        6965  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 5175   6966   
@@ -0,0 +1,2 @@
        6967  +
POST / HTTP/1.1
        6968  +
Host:example.amazonaws.com
 5176   6969   
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
 5177   6970   
new file mode 100644
 5178   6971   
index 0000000..0db1df1
 5179         -
-- /dev/null
        6972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 5180   6973   
@@ -0,0 +1,12 @@
        6974  +
{
        6975  +
    "credentials": {
        6976  +
        "access_key_id": "AKIDEXAMPLE",
        6977  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6978  +
    },
        6979  +
    "expiration_in_seconds": 3600,
        6980  +
    "normalize": true,
        6981  +
    "region": "us-east-1",
        6982  +
    "service": "service",
        6983  +
    "sign_body": true,
        6984  +
    "timestamp": "2015-08-30T12:36:00Z"
        6985  +
}
              \
 No newline at end of file
 5181   6986   
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
 5182   6987   
similarity index 62%
 5183   6988   
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
 5184   6989   
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
 5185   6990   
index 05ab787..62639b2 100644
 5186         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        6991  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 5187   6992   
@@ -1,12 +1,12 @@
 5188   6993   
POST
 5189   6994   
/
 5190   6995   
 5191   6996   
content-length:13
 5192   6997   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5193   6998   
host:example.amazonaws.com
 5194         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        6999  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5195   7000   
x-amz-date:20150830T123600Z
 5196   7001   
x-amz-region-set:us-east-1
 5197   7002   
 5198   7003   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5199         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7004  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5200   7005   
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
 5201   7006   
new file mode 100644
 5202   7007   
index 0000000..006ec2e
 5203         -
-- /dev/null
        7008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 5204   7009   
@@ -0,0 +1 @@
        7010  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 5205   7011   
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
 5206   7012   
new file mode 100644
 5207   7013   
index 0000000..87a11f2
 5208         -
-- /dev/null
        7014  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 5209   7015   
@@ -0,0 +1,10 @@
        7016  +
POST / HTTP/1.1
        7017  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        7018  +
Host:example.amazonaws.com
        7019  +
Content-Length:13
        7020  +
X-Amz-Date:20150830T123600Z
        7021  +
X-Amz-Region-Set:us-east-1
        7022  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7023  +
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
        7024  +
        7025  +
Param1=value1
              \
 No newline at end of file
 5210   7026   
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
 5211   7027   
new file mode 100644
 5212   7028   
index 0000000..c047afb
 5213         -
-- /dev/null
        7029  +
++ 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
 5214   7030   
@@ -0,0 +1,4 @@
        7031  +
AWS4-ECDSA-P256-SHA256
        7032  +
20150830T123600Z
        7033  +
20150830/service/aws4_request
        7034  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 5215   7035   
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
 5216   7036   
new file mode 100644
 5217   7037   
index 0000000..379dcb2
 5218         -
-- /dev/null
        7038  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 5219   7039   
@@ -0,0 +1,4 @@
        7040  +
{
        7041  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7042  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7043  +
}
 5220   7044   
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
 5221   7045   
similarity index 85%
 5222   7046   
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
 5223   7047   
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
 5224   7048   
index fcc454f..6933a8c 100644
 5225         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        7049  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 5226   7050   
@@ -1,9 +1,9 @@
 5227   7051   
POST
 5228   7052   
/
 5229   7053   
X-Amz-Algorithm=AWS4-ECDSA-P256-SHA256&X-Amz-Credential=AKIDEXAMPLE%2F20150830%2Fservice%2Faws4_request&X-Amz-Date=20150830T123600Z&X-Amz-Expires=3600&X-Amz-Region-Set=us-east-1&X-Amz-SignedHeaders=content-length%3Bcontent-type%3Bhost
 5230   7054   
content-length:13
 5231   7055   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5232   7056   
host:example.amazonaws.com
 5233   7057   
 5234   7058   
content-length;content-type;host
 5235         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7059  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5236   7060   
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
 5237   7061   
new file mode 100644
 5238   7062   
index 0000000..34a2e12
 5239         -
-- /dev/null
        7063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 5240   7064   
@@ -0,0 +1 @@
        7065  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 5241   7066   
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
 5242   7067   
new file mode 100644
 5243   7068   
index 0000000..197b99e
 5244         -
-- /dev/null
        7069  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 5245   7070   
@@ -0,0 +1,6 @@
        7071  +
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
        7072  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        7073  +
Host:example.amazonaws.com
        7074  +
Content-Length:13
        7075  +
        7076  +
Param1=value1
              \
 No newline at end of file
 5246   7077   
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
 5247   7078   
new file mode 100644
 5248   7079   
index 0000000..9d2bc74
 5249         -
-- /dev/null
        7080  +
++ 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
 5250   7081   
@@ -0,0 +1,4 @@
        7082  +
AWS4-ECDSA-P256-SHA256
        7083  +
20150830T123600Z
        7084  +
20150830/service/aws4_request
        7085  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 5251   7086   
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
 5252   7087   
similarity index 80%
 5253   7088   
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
 5254   7089   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5255   7090   
index 36015f1..8289eaa 100644
 5256         -
-- 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
        7091  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5257   7092   
@@ -1,6 +1,6 @@
 5258   7093   
POST / HTTP/1.1
 5259   7094   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 5260   7095   
Host:example.amazonaws.com
 5261         -
X-Amz-Date:20150830T123600Z
        7096  +
Content-Length:13
 5262   7097   
 5263   7098   
Param1=value1
              \
 No newline at end of file
 5264   7099   
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
 5265   7100   
new file mode 100644
 5266   7101   
index 0000000..0db1df1
 5267         -
-- /dev/null
        7102  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 5268   7103   
@@ -0,0 +1,12 @@
        7104  +
{
        7105  +
    "credentials": {
        7106  +
        "access_key_id": "AKIDEXAMPLE",
        7107  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7108  +
    },
        7109  +
    "expiration_in_seconds": 3600,
        7110  +
    "normalize": true,
        7111  +
    "region": "us-east-1",
        7112  +
    "service": "service",
        7113  +
    "sign_body": true,
        7114  +
    "timestamp": "2015-08-30T12:36:00Z"
        7115  +
}
              \
 No newline at end of file
 5269   7116   
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
 5270   7117   
similarity index 61%
 5271   7118   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 5272   7119   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5273   7120   
index 69009dc..797632b 100644
 5274         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        7121  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5275   7122   
@@ -1,12 +1,12 @@
 5276   7123   
POST
 5277   7124   
/
 5278   7125   
 5279   7126   
content-length:13
 5280   7127   
content-type:application/x-www-form-urlencoded
 5281   7128   
host:example.amazonaws.com
 5282         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7129  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5283   7130   
x-amz-date:20150830T123600Z
 5284   7131   
x-amz-region-set:us-east-1
 5285   7132   
 5286   7133   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5287         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7134  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5288   7135   
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
 5289   7136   
new file mode 100644
 5290   7137   
index 0000000..f5a641c
 5291         -
-- /dev/null
        7138  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 5292   7139   
@@ -0,0 +1 @@
        7140  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 5293   7141   
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
 5294   7142   
new file mode 100644
 5295   7143   
index 0000000..7bd94a7
 5296         -
-- /dev/null
        7144  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 5297   7145   
@@ -0,0 +1,10 @@
        7146  +
POST / HTTP/1.1
        7147  +
Content-Type:application/x-www-form-urlencoded
        7148  +
Host:example.amazonaws.com
        7149  +
Content-Length:13
        7150  +
X-Amz-Date:20150830T123600Z
        7151  +
X-Amz-Region-Set:us-east-1
        7152  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7153  +
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
        7154  +
        7155  +
Param1=value1
              \
 No newline at end of file
 5298   7156   
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
 5299   7157   
new file mode 100644
 5300   7158   
index 0000000..8d25ba9
 5301         -
-- /dev/null
        7159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 5302   7160   
@@ -0,0 +1,4 @@
        7161  +
AWS4-ECDSA-P256-SHA256
        7162  +
20150830T123600Z
        7163  +
20150830/service/aws4_request
        7164  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 5303   7165   
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
 5304   7166   
new file mode 100644
 5305   7167   
index 0000000..379dcb2
 5306         -
-- /dev/null
        7168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 5307   7169   
@@ -0,0 +1,4 @@
        7170  +
{
        7171  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7172  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7173  +
}
 5308   7174   
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
 5309   7175   
similarity index 99%
 5310   7176   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 5311   7177   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 5312   7178   
index 9ed065b..563ff58 100644
 5313   7179   
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
 5314   7180   
new file mode 100644
 5315   7181   
index 0000000..0c77daf
 5316         -
-- /dev/null
        7182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 5317   7183   
@@ -0,0 +1 @@
        7184  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 5318   7185   
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
 5319   7186   
new file mode 100644
 5320   7187   
index 0000000..71d6de9
 5321         -
-- /dev/null
        7188  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5322   7189   
@@ -0,0 +1,6 @@
        7190  +
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
        7191  +
Content-Type:application/x-www-form-urlencoded
        7192  +
Host:example.amazonaws.com
        7193  +
Content-Length:13
        7194  +
        7195  +
Param1=value1
              \
 No newline at end of file
 5323   7196   
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
 5324   7197   
similarity index 99%
 5325   7198   
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
 5326   7199   
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
 5327   7200   
index bef3143..cc7a224 100644
 5328   7201   
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
 5329   7202   
new file mode 100644
 5330   7203   
index 0000000..760b2d3
 5331         -
-- /dev/null
        7204  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5332   7205   
@@ -0,0 +1,6 @@
        7206  +
POST / HTTP/1.1
        7207  +
Content-Type:application/x-www-form-urlencoded
        7208  +
Host:example.amazonaws.com
        7209  +
Content-Length:13
        7210  +
        7211  +
Param1=value1
              \
 No newline at end of file
 5333   7212   
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
 5334   7213   
index 9bd636f..b53f33f 100644
 5335         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7214  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5336   7215   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5337   7216   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5338   7217   
        }
 5339   7218   
 5340   7219   
        if let SignatureValues::QueryParams(values) = values {
 5341   7220   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5342   7221   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5343   7222   
 5344   7223   
            #[cfg(feature = "sigv4a")]
 5345   7224   
            if let Some(regions) = values.region_set {
 5346   7225   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5347   7226   
            }
 5348   7227   
 5349   7228   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5350   7229   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5351   7230   
            add_param(
 5352   7231   
                &mut params,
 5353   7232   
                param::X_AMZ_SIGNED_HEADERS,
 5354   7233   
                values.signed_headers.as_str(),
 5355   7234   
            );
 5356   7235   
 5357   7236   
            if let Some(security_token) = values.security_token {
 5358   7237   
                add_param(
 5359   7238   
                    &mut params,
 5360   7239   
                    settings
 5361   7240   
                        .session_token_name_override
 5362   7241   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5363   7242   
                    security_token,
 5364   7243   
                );
 5365   7244   
            }
 5366   7245   
        }
 5367         -
        // Sort by param name, and then by param value
        7246  +
        7247  +
        // Sort on the _encoded_ key/value pairs
        7248  +
        let mut params: Vec<(String, String)> = params
        7249  +
            .into_iter()
        7250  +
            .map(|x| {
        7251  +
                use aws_smithy_http::query::fmt_string;
        7252  +
                let enc_k = fmt_string(&x.0);
        7253  +
                let enc_v = fmt_string(&x.1);
        7254  +
                (enc_k, enc_v)
        7255  +
            })
        7256  +
            .collect();
        7257  +
 5368   7258   
        params.sort();
 5369   7259   
 5370   7260   
        let mut query = QueryWriter::new(uri);
 5371   7261   
        query.clear_params();
 5372   7262   
        for (key, value) in params {
 5373         -
            query.insert(&key, &value);
        7263  +
            query.insert_encoded(&key, &value);
 5374   7264   
        }
 5375   7265   
 5376   7266   
        let query = query.build_query();
 5377   7267   
        if query.is_empty() {
 5378   7268   
            None
 5379   7269   
        } else {
 5380   7270   
            Some(query)
 5381   7271   
        }
 5382   7272   
    }
 5383   7273   
 5384   7274   
    fn insert_host_header(
 5385   7275   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5386   7276   
        uri: &Uri,
 5387   7277   
    ) -> HeaderValue {
 5388   7278   
        match canonical_headers.get(&HOST) {
 5389   7279   
            Some(header) => header.clone(),
 5390   7280   
            None => {
 5391   7281   
                let port = uri.port();
 5392   7282   
                let scheme = uri.scheme();
 5393   7283   
                let authority = uri
 5394   7284   
                    .authority()
 5395   7285   
                    .expect("request uri authority must be set for signing")
 5396   7286   
                    .as_str();
 5397   7287   
                let host = uri
 5398   7288   
                    .host()
 5399   7289   
                    .expect("request uri host must be set for signing");
 5400   7290   
 5401   7291   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5402   7292   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5403   7293   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5404   7294   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5405   7295   
            service,
 5406   7296   
            hashed_creq,
 5407   7297   
            signature_version: SignatureVersion::V4a,
 5408   7298   
        }
 5409   7299   
    }
 5410   7300   
}
 5411   7301   
 5412   7302   
impl fmt::Display for StringToSign<'_> {
 5413   7303   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5414   7304   
        write!(
 5415   7305   
            f,
 5416   7306   
            "{}\n{}\n{}\n{}",
 5417   7307   
            self.algorithm,
 5418   7308   
            format_date_time(self.time),
 5419   7309   
            match self.signature_version {
 5420   7310   
                SignatureVersion::V4 => self.scope.to_string(),
 5421   7311   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5422   7312   
            },
 5423   7313   
            self.hashed_creq
 5424   7314   
        )
 5425   7315   
    }
 5426   7316   
}
 5427   7317   
 5428   7318   
#[cfg(test)]
 5429   7319   
mod tests {
 5430   7320   
    use crate::date_time::test_parsers::parse_date_time;
 5431   7321   
    use crate::http_request::canonical_request::{
 5432   7322   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5433   7323   
    };
 5434   7324   
    use crate::http_request::test;
        7325  +
    use crate::http_request::test::SigningSuiteTest;
 5435   7326   
    use crate::http_request::{
 5436   7327   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5437   7328   
        SigningParams, SigningSettings,
 5438   7329   
    };
 5439   7330   
    use crate::sign::v4;
 5440   7331   
    use crate::sign::v4::sha256_hex_string;
 5441   7332   
    use aws_credential_types::Credentials;
 5442   7333   
    use aws_smithy_http::query_writer::QueryWriter;
 5443   7334   
    use aws_smithy_runtime_api::client::identity::Identity;
 5444   7335   
    use http0::{HeaderValue, Uri};
 5445   7336   
    use pretty_assertions::assert_eq;
 5446   7337   
    use proptest::{prelude::*, proptest};
 5447   7338   
    use std::borrow::Cow;
 5448   7339   
    use std::time::Duration;
 5449   7340   
 5450   7341   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5451   7342   
        v4::signing_params::Builder::default()
 5452   7343   
            .identity(identity)
 5453   7344   
            .region("test-region")
 5454   7345   
            .name("testservicename")
 5455   7346   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5456   7347   
            .settings(settings)
 5457   7348   
            .build()
 5458   7349   
            .unwrap()
 5459   7350   
            .into()
 5460   7351   
    }
 5461   7352   
 5462   7353   
    #[test]
 5463   7354   
    fn test_repeated_header() {
 5464         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7355  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7356  +
        let mut req = test.request();
 5465   7357   
        req.headers.push((
 5466   7358   
            "x-amz-object-attributes".to_string(),
 5467   7359   
            "Checksum".to_string(),
 5468   7360   
        ));
 5469   7361   
        req.headers.push((
 5470   7362   
            "x-amz-object-attributes".to_string(),
 5471   7363   
            "ObjectSize".to_string(),
 5472   7364   
        ));
 5473   7365   
        let req = SignableRequest::from(&req);
 5474   7366   
        let settings = SigningSettings {
 5475   7367   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5476   7368   
            session_token_mode: SessionTokenMode::Exclude,
 5477   7369   
            ..Default::default()
 5478   7370   
        };
 5479   7371   
        let identity = Credentials::for_tests().into();
 5480   7372   
        let signing_params = signing_params(&identity, settings);
 5481   7373   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5482   7374   
 5483   7375   
        assert_eq!(
 5484   7376   
            creq.values.signed_headers().to_string(),
 5485   7377   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5486   7378   
        );
 5487   7379   
        assert_eq!(
 5488   7380   
            creq.header_values_for("x-amz-object-attributes"),
 5489   7381   
            "Checksum,ObjectSize",
 5490   7382   
        );
 5491   7383   
    }
 5492   7384   
 5493   7385   
    #[test]
 5494   7386   
    fn test_host_header_properly_handles_ports() {
 5495   7387   
        fn host_header_test_setup(endpoint: String) -> String {
 5496         -
            let mut req = test::v4::test_request("get-vanilla");
        7388  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7389  +
            let mut req = test.request();
 5497   7390   
            req.uri = endpoint;
 5498   7391   
            let req = SignableRequest::from(&req);
 5499   7392   
            let settings = SigningSettings {
 5500   7393   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5501   7394   
                session_token_mode: SessionTokenMode::Exclude,
 5502   7395   
                ..Default::default()
 5503   7396   
            };
 5504   7397   
            let identity = Credentials::for_tests().into();
 5505   7398   
            let signing_params = signing_params(&identity, settings);
 5506   7399   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5507   7400   
            creq.header_values_for("host")
 5508   7401   
        }
 5509   7402   
 5510   7403   
        // HTTP request with 80 port should not be signed with that port
 5511   7404   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5512   7405   
        assert_eq!(http_80_host_header, "localhost",);
 5513   7406   
 5514   7407   
        // HTTP request with non-80 port should be signed with that port
 5515   7408   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5516   7409   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5517   7410   
 5518   7411   
        // HTTPS request with 443 port should not be signed with that port
 5519   7412   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5520   7413   
        assert_eq!(https_443_host_header, "localhost",);
 5521   7414   
 5522   7415   
        // HTTPS request with non-443 port should be signed with that port
 5523   7416   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5524   7417   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5525   7418   
    }
 5526   7419   
 5527   7420   
    #[test]
 5528   7421   
    fn test_set_xamz_sha_256() {
 5529         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7422  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7423  +
        let req = test.request();
 5530   7424   
        let req = SignableRequest::from(&req);
 5531   7425   
        let settings = SigningSettings {
 5532   7426   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5533   7427   
            session_token_mode: SessionTokenMode::Exclude,
 5534   7428   
            ..Default::default()
 5535   7429   
        };
 5536   7430   
        let identity = Credentials::for_tests().into();
 5537   7431   
        let mut signing_params = signing_params(&identity, settings);
 5538   7432   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5539   7433   
        assert_eq!(
 5540   7434   
            creq.values.content_sha256(),
 5541   7435   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5542   7436   
        );
 5543   7437   
        // assert that the sha256 header was added
 5544   7438   
        assert_eq!(
 5545   7439   
            creq.values.signed_headers().as_str(),
 5546   7440   
            "host;x-amz-content-sha256;x-amz-date"
 5547   7441   
        );
 5548   7442   
 5549   7443   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5550   7444   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5551   7445   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5552   7446   
    }
 5553   7447   
 5554   7448   
    #[test]
 5555   7449   
    fn test_unsigned_payload() {
 5556         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7450  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7451  +
        let mut req = test.request();
 5557   7452   
        req.set_body(SignableBody::UnsignedPayload);
 5558   7453   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5559   7454   
 5560   7455   
        let settings = SigningSettings {
 5561   7456   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5562   7457   
            ..Default::default()
 5563   7458   
        };
 5564   7459   
        let identity = Credentials::for_tests().into();
 5565   7460   
        let signing_params = signing_params(&identity, settings);
 5566   7461   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5567   7462   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5568   7463   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5569   7464   
    }
 5570   7465   
 5571   7466   
    #[test]
 5572   7467   
    fn test_precomputed_payload() {
 5573   7468   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5574         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7469  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7470  +
        let mut req = test.request();
 5575   7471   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5576   7472   
        let req = SignableRequest::from(&req);
 5577   7473   
        let settings = SigningSettings {
 5578   7474   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5579   7475   
            ..Default::default()
 5580   7476   
        };
 5581   7477   
        let identity = Credentials::for_tests().into();
 5582   7478   
        let signing_params = signing_params(&identity, settings);
 5583   7479   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5584   7480   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5585   7481   
        assert!(creq.to_string().ends_with(payload_hash));
 5586   7482   
    }
 5587   7483   
 5588   7484   
    #[test]
 5589   7485   
    fn test_generate_scope() {
 5590   7486   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5591   7487   
        let scope = SigningScope {
 5592   7488   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5593   7489   
            region: "us-east-1",
 5594   7490   
            service: "iam",
 5595   7491   
        };
 5596   7492   
        assert_eq!(format!("{}\n", scope), expected);
 5597   7493   
    }
 5598   7494   
 5599   7495   
    #[test]
 5600   7496   
    fn test_string_to_sign() {
 5601   7497   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5602         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5603         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7498  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7499  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7500  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5604   7501   
        let encoded = sha256_hex_string(creq.as_bytes());
 5605   7502   
 5606   7503   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5607   7504   
        assert_eq!(expected_sts, actual.to_string());
 5608   7505   
    }
 5609   7506   
 5610   7507   
    #[test]
 5611   7508   
    fn test_digest_of_canonical_request() {
 5612         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7509  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7510  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5613   7511   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5614   7512   
        let actual = sha256_hex_string(creq.as_bytes());
 5615   7513   
        assert_eq!(expected, actual);
 5616   7514   
    }
 5617   7515   
 5618   7516   
    #[test]
 5619   7517   
    fn test_double_url_encode_path() {
 5620         -
        let req = test::v4::test_request("double-encode-path");
        7518  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7519  +
        let req = test.request();
 5621   7520   
        let req = SignableRequest::from(&req);
 5622   7521   
        let identity = Credentials::for_tests().into();
 5623   7522   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5624   7523   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5625   7524   
 5626         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7525  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5627   7526   
        let actual = format!("{}", creq);
 5628   7527   
        assert_eq!(actual, expected);
 5629   7528   
    }
 5630   7529   
 5631   7530   
    #[test]
 5632   7531   
    fn test_double_url_encode() {
 5633         -
        let req = test::v4::test_request("double-url-encode");
        7532  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7533  +
        let req = test.request();
 5634   7534   
        let req = SignableRequest::from(&req);
 5635   7535   
        let identity = Credentials::for_tests().into();
 5636   7536   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5637   7537   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5638         -
 5639         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7538  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5640   7539   
        let actual = format!("{}", creq);
 5641   7540   
        assert_eq!(actual, expected);
 5642   7541   
    }
 5643   7542   
 5644   7543   
    #[test]
 5645   7544   
    fn test_tilde_in_uri() {
 5646   7545   
        let req = http0::Request::builder()
 5647   7546   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5648   7547   
        let req = SignableRequest::from(&req);
 5649   7548   
        let identity = Credentials::for_tests().into();
 5650   7549   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5651   7550   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5652   7551   
        assert_eq!(
 5653   7552   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5654   7553   
            creq.params.as_deref(),
 5655   7554   
        );
 5656   7555   
    }
 5657   7556   
 5658   7557   
    #[test]
 5659   7558   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5660   7559   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5661   7560   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5662   7561   
 5663   7562   
        let mut query_writer = QueryWriter::new(&uri);
 5664   7563   
        query_writer.insert("list-type", "2");
 5665   7564   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5666   7565   
 5667   7566   
        let req = http0::Request::builder()
 5668   7567   
            .uri(query_writer.build_uri())
 5669   7568   
            .body("")
 5670   7569   
            .unwrap()
 5671   7570   
            .into();
 5672   7571   
        let req = SignableRequest::from(&req);
 5673   7572   
        let identity = Credentials::for_tests().into();
 5674   7573   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5675   7574   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5676   7575   
 5677   7576   
        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~";
 5678   7577   
        let actual = creq.params.unwrap();
 5679   7578   
        assert_eq!(expected, actual);
 5680   7579   
    }
 5681   7580   
 5682   7581   
    #[test]
 5683   7582   
    fn test_omit_session_token() {
 5684         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7583  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7584  +
        let req = test.request();
 5685   7585   
        let req = SignableRequest::from(&req);
 5686   7586   
        let settings = SigningSettings {
 5687   7587   
            session_token_mode: SessionTokenMode::Include,
 5688   7588   
            ..Default::default()
 5689   7589   
        };
 5690   7590   
        let identity = Credentials::for_tests_with_session_token().into();
 5691   7591   
        let mut signing_params = signing_params(&identity, settings);
 5692   7592   
 5693   7593   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5694   7594   
        assert_eq!(
 5695   7595   
            creq.values.signed_headers().as_str(),
 5696   7596   
            "host;x-amz-date;x-amz-security-token"
 5697   7597   
        );
 5698   7598   
        assert_eq!(
 5699   7599   
            creq.headers.get("x-amz-security-token").unwrap(),
 5700   7600   
            "notarealsessiontoken"
 5701   7601   
        );
 5702   7602   
 5703   7603   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5704   7604   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5705   7605   
        assert_eq!(
 5706   7606   
            creq.headers.get("x-amz-security-token").unwrap(),
 5707   7607   
            "notarealsessiontoken"
 5708   7608   
        );
 5709   7609   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5710   7610   
    }
 5711   7611   
 5712   7612   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5713   7613   
    #[test]
 5714   7614   
    fn non_presigning_header_exclusion() {
 5715   7615   
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
 5716   7616   
index c4bbbee..30b4743 100644
 5717         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7617  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5718   7618   
@@ -478,436 +478,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5719   7619   
        sensitive,
 5720   7620   
    });
 5721   7621   
}
 5722   7622   
 5723   7623   
// add signature to authorization header
 5724   7624   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5725   7625   
fn build_authorization_header(
 5726   7626   
    access_key: &str,
 5727   7627   
    creq: &CanonicalRequest<'_>,
 5728   7628   
    sts: StringToSign<'_>,
 5729   7629   
    signature: &str,
 5730   7630   
    signature_version: SignatureVersion,
 5731   7631   
) -> String {
 5732   7632   
    let scope = match signature_version {
 5733   7633   
        SignatureVersion::V4 => sts.scope.to_string(),
 5734   7634   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5735   7635   
    };
 5736   7636   
    format!(
 5737   7637   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5738   7638   
        sts.algorithm,
 5739   7639   
        access_key,
 5740   7640   
        scope,
 5741   7641   
        creq.values.signed_headers().as_str(),
 5742   7642   
        signature
 5743   7643   
    )
 5744   7644   
}
 5745   7645   
#[cfg(test)]
 5746   7646   
mod tests {
 5747   7647   
    use crate::date_time::test_parsers::parse_date_time;
 5748   7648   
    use crate::http_request::sign::{add_header, SignableRequest};
        7649  +
    use crate::http_request::test::SigningSuiteTest;
 5749   7650   
    use crate::http_request::{
 5750         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7651  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5751   7652   
        SigningSettings,
 5752   7653   
    };
 5753   7654   
    use crate::sign::v4;
 5754   7655   
    use aws_credential_types::Credentials;
 5755   7656   
    use http0::{HeaderValue, Request};
 5756   7657   
    use pretty_assertions::assert_eq;
 5757   7658   
    use proptest::proptest;
 5758   7659   
    use std::borrow::Cow;
 5759   7660   
    use std::iter;
 5760         -
    use std::time::Duration;
 5761   7661   
 5762   7662   
    macro_rules! assert_req_eq {
 5763   7663   
        (http: $expected:expr, $actual:expr) => {
 5764   7664   
            let mut expected = ($expected).map(|_b|"body");
 5765   7665   
            let mut actual = ($actual).map(|_b|"body");
 5766   7666   
            make_headers_comparable(&mut expected);
 5767   7667   
            make_headers_comparable(&mut actual);
 5768   7668   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5769   7669   
        };
 5770   7670   
        ($expected:tt, $actual:tt) => {
 5771   7671   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5772   7672   
        };
 5773   7673   
    }
 5774   7674   
 5775   7675   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5776   7676   
        for (_name, value) in request.headers_mut() {
 5777   7677   
            value.set_sensitive(false);
 5778   7678   
        }
 5779   7679   
    }
 5780   7680   
 5781         -
    #[test]
 5782         -
    fn test_sign_vanilla_with_headers() {
 5783         -
        let settings = SigningSettings::default();
 5784         -
        let identity = &Credentials::for_tests().into();
 5785         -
        let params = v4::SigningParams {
 5786         -
            identity,
 5787         -
            region: "us-east-1",
 5788         -
            name: "service",
 5789         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5790         -
            settings,
 5791         -
        }
 5792         -
        .into();
 5793         -
 5794         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5795         -
        let signable = SignableRequest::from(&original);
 5796         -
        let out = sign(signable, &params).unwrap();
 5797         -
        assert_eq!(
 5798         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5799         -
            out.signature
 5800         -
        );
 5801         -
 5802         -
        let mut signed = original.as_http_request();
 5803         -
        out.output.apply_to_request_http0x(&mut signed);
 5804         -
 5805         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5806         -
        assert_req_eq!(expected, signed);
 5807         -
    }
 5808         -
        7681  +
    // Sigv4A suite tests
 5809   7682   
    #[cfg(feature = "sigv4a")]
 5810         -
    mod sigv4a_tests {
 5811         -
        use super::*;
 5812         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5813         -
        use crate::http_request::{sign, test, SigningParams};
 5814         -
        use crate::sign::v4a;
 5815         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5816         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5817         -
        use pretty_assertions::assert_eq;
 5818         -
 5819         -
        fn new_v4a_signing_params_from_context(
 5820         -
            test_context: &'_ test::v4a::TestContext,
 5821         -
            signature_location: SignatureLocation,
 5822         -
        ) -> SigningParams<'_> {
 5823         -
            let mut params = v4a::SigningParams::from(test_context);
 5824         -
            params.settings.signature_location = signature_location;
 5825         -
 5826         -
            params.into()
 5827         -
        }
 5828         -
 5829         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5830         -
            let tc = test::v4a::test_context(test_name);
 5831         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5832         -
 5833         -
            let req = test::v4a::test_request(test_name);
 5834         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5835         -
            let signable_req = SignableRequest::from(&req);
 5836         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
 5837         -
 5838         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
        7683  +
    mod v4a_suite {
        7684  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5839   7685   
 5840         -
            let expected_string_to_sign =
 5841         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5842         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5843         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5844         -
                *params.time(),
 5845         -
                params.region_set().unwrap(),
 5846         -
                params.name(),
 5847         -
                hashed_creq,
 5848         -
            )
 5849         -
            .to_string();
 5850         -
 5851         -
            assert_eq!(
 5852         -
                expected_string_to_sign, actual_string_to_sign,
 5853         -
                "'string to sign' didn't match"
 5854         -
            );
 5855         -
 5856         -
            let out = sign(signable_req, &params).unwrap();
 5857         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5858         -
            out.output
 5859         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5860         -
 5861         -
            let creds = params.credentials().unwrap();
 5862         -
            let signing_key =
 5863         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5864         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5865         -
            let sig = sig
 5866         -
                .try_into()
 5867         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5868         -
 5869         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5870         -
            let peer_public_key = signing_key.verifying_key();
 5871         -
            let sts = actual_string_to_sign.as_bytes();
 5872         -
            peer_public_key.verify(sts, &sig).unwrap();
        7686  +
        #[test]
        7687  +
        fn test_get_header_key_duplicate() {
        7688  +
            run_test_suite_v4a("get-header-key-duplicate")
 5873   7689   
        }
 5874   7690   
 5875   7691   
        #[test]
 5876         -
        fn test_get_header_key_duplicate() {
 5877         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7692  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7693  +
        fn test_get_header_value_multiline() {
        7694  +
            run_test_suite_v4a("get-header-value-multiline")
 5878   7695   
        }
 5879   7696   
 5880   7697   
        #[test]
 5881   7698   
        fn test_get_header_value_order() {
 5882         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7699  +
            run_test_suite_v4a("get-header-value-order")
 5883   7700   
        }
 5884   7701   
 5885   7702   
        #[test]
 5886   7703   
        fn test_get_header_value_trim() {
 5887         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7704  +
            run_test_suite_v4a("get-header-value-trim");
 5888   7705   
        }
 5889   7706   
 5890   7707   
        #[test]
 5891   7708   
        fn test_get_relative_normalized() {
 5892         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7709  +
            run_test_suite_v4a("get-relative-normalized");
 5893   7710   
        }
 5894   7711   
 5895   7712   
        #[test]
 5896   7713   
        fn test_get_relative_relative_normalized() {
 5897         -
            run_v4a_test_suite(
 5898         -
                "get-relative-relative-normalized",
 5899         -
                SignatureLocation::Headers,
 5900         -
            );
        7714  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5901   7715   
        }
 5902   7716   
 5903   7717   
        #[test]
 5904   7718   
        fn test_get_relative_relative_unnormalized() {
 5905         -
            run_v4a_test_suite(
 5906         -
                "get-relative-relative-unnormalized",
 5907         -
                SignatureLocation::Headers,
 5908         -
            );
        7719  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5909   7720   
        }
 5910   7721   
 5911   7722   
        #[test]
 5912   7723   
        fn test_get_relative_unnormalized() {
 5913         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7724  +
            run_test_suite_v4a("get-relative-unnormalized");
 5914   7725   
        }
 5915   7726   
 5916   7727   
        #[test]
 5917   7728   
        fn test_get_slash_dot_slash_normalized() {
 5918         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7729  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5919   7730   
        }
 5920   7731   
 5921   7732   
        #[test]
 5922   7733   
        fn test_get_slash_dot_slash_unnormalized() {
 5923         -
            run_v4a_test_suite(
 5924         -
                "get-slash-dot-slash-unnormalized",
 5925         -
                SignatureLocation::Headers,
 5926         -
            );
        7734  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5927   7735   
        }
 5928   7736   
 5929   7737   
        #[test]
 5930   7738   
        fn test_get_slash_normalized() {
 5931         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7739  +
            run_test_suite_v4a("get-slash-normalized");
 5932   7740   
        }
 5933   7741   
 5934   7742   
        #[test]
 5935   7743   
        fn test_get_slash_pointless_dot_normalized() {
 5936         -
            run_v4a_test_suite(
 5937         -
                "get-slash-pointless-dot-normalized",
 5938         -
                SignatureLocation::Headers,
 5939         -
            );
        7744  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5940   7745   
        }
 5941   7746   
 5942   7747   
        #[test]
 5943   7748   
        fn test_get_slash_pointless_dot_unnormalized() {
 5944         -
            run_v4a_test_suite(
 5945         -
                "get-slash-pointless-dot-unnormalized",
 5946         -
                SignatureLocation::Headers,
 5947         -
            );
        7749  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5948   7750   
        }
 5949   7751   
 5950   7752   
        #[test]
 5951   7753   
        fn test_get_slash_unnormalized() {
 5952         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7754  +
            run_test_suite_v4a("get-slash-unnormalized");
 5953   7755   
        }
 5954   7756   
 5955   7757   
        #[test]
 5956   7758   
        fn test_get_slashes_normalized() {
 5957         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7759  +
            run_test_suite_v4a("get-slashes-normalized");
 5958   7760   
        }
 5959   7761   
 5960   7762   
        #[test]
 5961   7763   
        fn test_get_slashes_unnormalized() {
 5962         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7764  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7765  +
        }
        7766  +
        7767  +
        #[test]
        7768  +
        #[ignore = "relies on single encode of path segments"]
        7769  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7770  +
        // skipped until we add control over double_uri_encode in context.json
        7771  +
        fn test_get_space_normalized() {
        7772  +
            run_test_suite_v4a("get-space-normalized");
        7773  +
        }
        7774  +
        7775  +
        #[test]
        7776  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7777  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7778  +
        fn test_get_space_unnormalized() {
        7779  +
            run_test_suite_v4a("get-space-unnormalized");
 5963   7780   
        }
 5964   7781   
 5965   7782   
        #[test]
 5966   7783   
        fn test_get_unreserved() {
 5967         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7784  +
            run_test_suite_v4a("get-unreserved");
        7785  +
        }
        7786  +
        7787  +
        #[test]
        7788  +
        #[ignore = "httparse fails on invalid uri character"]
        7789  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7790  +
        fn test_get_utf8() {
        7791  +
            run_test_suite_v4a("get-utf8");
 5968   7792   
        }
 5969   7793   
 5970   7794   
        #[test]
 5971   7795   
        fn test_get_vanilla() {
 5972         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7796  +
            run_test_suite_v4a("get-vanilla");
 5973   7797   
        }
 5974   7798   
 5975   7799   
        #[test]
 5976   7800   
        fn test_get_vanilla_empty_query_key() {
 5977         -
            run_v4a_test_suite(
 5978         -
                "get-vanilla-empty-query-key",
 5979         -
                SignatureLocation::QueryParams,
 5980         -
            );
        7801  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5981   7802   
        }
 5982   7803   
 5983   7804   
        #[test]
 5984   7805   
        fn test_get_vanilla_query() {
 5985         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7806  +
            run_test_suite_v4a("get-vanilla-query");
        7807  +
        }
        7808  +
        7809  +
        #[test]
        7810  +
        fn test_get_vanilla_query_order_encoded() {
        7811  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 5986   7812   
        }
 5987   7813   
 5988   7814   
        #[test]
 5989   7815   
        fn test_get_vanilla_query_order_key_case() {
 5990         -
            run_v4a_test_suite(
 5991         -
                "get-vanilla-query-order-key-case",
 5992         -
                SignatureLocation::QueryParams,
 5993         -
            );
        7816  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 5994   7817   
        }
 5995   7818   
 5996   7819   
        #[test]
 5997   7820   
        fn test_get_vanilla_query_unreserved() {
 5998         -
            run_v4a_test_suite(
 5999         -
                "get-vanilla-query-unreserved",
 6000         -
                SignatureLocation::QueryParams,
 6001         -
            );
        7821  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7822  +
        }
        7823  +
        7824  +
        #[test]
        7825  +
        #[ignore = "httparse fails on invalid uri character"]
        7826  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7827  +
        fn test_get_vanilla_utf8_query() {
        7828  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 6002   7829   
        }
 6003   7830   
 6004   7831   
        #[test]
 6005   7832   
        fn test_get_vanilla_with_session_token() {
 6006         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7833  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 6007   7834   
        }
 6008   7835   
 6009   7836   
        #[test]
 6010   7837   
        fn test_post_header_key_case() {
 6011         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7838  +
            run_test_suite_v4a("post-header-key-case");
 6012   7839   
        }
 6013   7840   
 6014   7841   
        #[test]
 6015   7842   
        fn test_post_header_key_sort() {
 6016         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7843  +
            run_test_suite_v4a("post-header-key-sort");
 6017   7844   
        }
 6018   7845   
 6019   7846   
        #[test]
 6020   7847   
        fn test_post_header_value_case() {
 6021         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7848  +
            run_test_suite_v4a("post-header-value-case");
 6022   7849   
        }
 6023   7850   
 6024   7851   
        #[test]
 6025   7852   
        fn test_post_sts_header_after() {
 6026         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7853  +
            run_test_suite_v4a("post-sts-header-after");
 6027   7854   
        }
 6028   7855   
 6029   7856   
        #[test]
 6030   7857   
        fn test_post_sts_header_before() {
 6031         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7858  +
            run_test_suite_v4a("post-sts-header-before");
 6032   7859   
        }
 6033   7860   
 6034   7861   
        #[test]
 6035   7862   
        fn test_post_vanilla() {
 6036         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7863  +
            run_test_suite_v4a("post-vanilla");
 6037   7864   
        }
 6038   7865   
 6039   7866   
        #[test]
 6040   7867   
        fn test_post_vanilla_empty_query_value() {
 6041         -
            run_v4a_test_suite(
 6042         -
                "post-vanilla-empty-query-value",
 6043         -
                SignatureLocation::QueryParams,
 6044         -
            );
        7868  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 6045   7869   
        }
 6046   7870   
 6047   7871   
        #[test]
 6048   7872   
        fn test_post_vanilla_query() {
 6049         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7873  +
            run_test_suite_v4a("post-vanilla-query");
 6050   7874   
        }
 6051   7875   
 6052   7876   
        #[test]
 6053   7877   
        fn test_post_x_www_form_urlencoded() {
 6054         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7878  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 6055   7879   
        }
 6056   7880   
 6057   7881   
        #[test]
 6058   7882   
        fn test_post_x_www_form_urlencoded_parameters() {
 6059         -
            run_v4a_test_suite(
 6060         -
                "post-x-www-form-urlencoded-parameters",
 6061         -
                SignatureLocation::QueryParams,
 6062         -
            );
        7883  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 6063   7884   
        }
 6064   7885   
    }
 6065   7886   
 6066   7887   
    #[test]
 6067   7888   
    fn test_sign_url_escape() {
 6068         -
        let test = "double-encode-path";
        7889  +
        let test = SigningSuiteTest::v4("double-encode-path");
 6069   7890   
        let settings = SigningSettings::default();
 6070   7891   
        let identity = &Credentials::for_tests().into();
 6071   7892   
        let params = v4::SigningParams {
 6072   7893   
            identity,
 6073   7894   
            region: "us-east-1",
 6074   7895   
            name: "service",
 6075   7896   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6076   7897   
            settings,
 6077   7898   
        }
 6078   7899   
        .into();
 6079   7900   
 6080         -
        let original = test::v4::test_request(test);
        7901  +
        let original = test.request();
 6081   7902   
        let signable = SignableRequest::from(&original);
 6082   7903   
        let out = sign(signable, &params).unwrap();
 6083   7904   
        assert_eq!(
 6084   7905   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 6085   7906   
            out.signature
 6086   7907   
        );
 6087   7908   
 6088   7909   
        let mut signed = original.as_http_request();
 6089   7910   
        out.output.apply_to_request_http0x(&mut signed);
 6090   7911   
 6091         -
        let expected = test::v4::test_signed_request(test);
 6092         -
        assert_req_eq!(expected, signed);
 6093         -
    }
 6094         -
 6095         -
    #[test]
 6096         -
    fn test_sign_vanilla_with_query_params() {
 6097         -
        let settings = SigningSettings {
 6098         -
            signature_location: SignatureLocation::QueryParams,
 6099         -
            expires_in: Some(Duration::from_secs(35)),
 6100         -
            ..Default::default()
 6101         -
        };
 6102         -
        let identity = &Credentials::for_tests().into();
 6103         -
        let params = v4::SigningParams {
 6104         -
            identity,
 6105         -
            region: "us-east-1",
 6106         -
            name: "service",
 6107         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 6108         -
            settings,
 6109         -
        }
 6110         -
        .into();
 6111         -
 6112         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 6113         -
        let signable = SignableRequest::from(&original);
 6114         -
        let out = sign(signable, &params).unwrap();
 6115         -
        assert_eq!(
 6116         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 6117         -
            out.signature
 6118         -
        );
 6119         -
 6120         -
        let mut signed = original.as_http_request();
 6121         -
        out.output.apply_to_request_http0x(&mut signed);
 6122         -
 6123         -
        let expected =
 6124         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7912  +
        let expected = test.signed_request(SignatureLocation::Headers);
 6125   7913   
        assert_req_eq!(expected, signed);
 6126   7914   
    }
 6127   7915   
 6128   7916   
    #[test]
 6129   7917   
    fn test_sign_headers_utf8() {
 6130   7918   
        let settings = SigningSettings::default();
 6131   7919   
        let identity = &Credentials::for_tests().into();
 6132   7920   
        let params = v4::SigningParams {
 6133   7921   
            identity,
 6134   7922   
            region: "us-east-1",
 6135   7923   
            name: "service",
 6136   7924   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6137   7925   
            settings,
 6138   7926   
        }
 6139   7927   
        .into();
 6140   7928   
 6141   7929   
        let original = http0::Request::builder()
 6142   7930   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 6143   7931   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 6144   7932   
            .body("")
 6145   7933   
            .unwrap()
 6146   7934   
            .into();
 6147   7935   
        let signable = SignableRequest::from(&original);
 6148   7936   
        let out = sign(signable, &params).unwrap();
 6149   7937   
        assert_eq!(
 6150   7938   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 6151   7939   
            out.signature
 6152   7940   
        );
 6153   7941   
 6154   7942   
        let mut signed = original.as_http_request();
 6155   7943   
@@ -1138,31 +1026,236 @@ mod tests {
 6156   7944   
        let mut request = http::Request::builder()
 6157   7945   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 6158   7946   
            .body("")
 6159   7947   
            .unwrap();
 6160   7948   
 6161   7949   
        instructions.apply_to_request_http1x(&mut request);
 6162   7950   
 6163   7951   
        assert_eq!(
 6164   7952   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 6165   7953   
            request.uri().path_and_query().unwrap().to_string()
 6166   7954   
        );
 6167   7955   
    }
 6168   7956   
 6169   7957   
    #[test]
 6170   7958   
    fn test_debug_signable_body() {
 6171   7959   
        let sut = SignableBody::Bytes(b"hello signable body");
 6172   7960   
        assert_eq!(
 6173   7961   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 6174   7962   
            format!("{sut:?}")
 6175   7963   
        );
 6176   7964   
 6177   7965   
        let sut = SignableBody::UnsignedPayload;
 6178   7966   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 6179   7967   
 6180   7968   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 6181   7969   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 6182   7970   
 6183   7971   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 6184   7972   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 6185   7973   
    }
        7974  +
        7975  +
    // v4 test suite
        7976  +
    mod v4_suite {
        7977  +
        use crate::http_request::test::run_test_suite_v4;
        7978  +
        7979  +
        #[test]
        7980  +
        fn test_get_header_key_duplicate() {
        7981  +
            run_test_suite_v4("get-header-key-duplicate");
        7982  +
        }
        7983  +
        7984  +
        #[test]
        7985  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7986  +
        fn test_get_header_value_multiline() {
        7987  +
            run_test_suite_v4("get-header-value-multiline");
        7988  +
        }
        7989  +
        7990  +
        #[test]
        7991  +
        fn test_get_header_value_order() {
        7992  +
            run_test_suite_v4("get-header-value-order");
        7993  +
        }
        7994  +
        7995  +
        #[test]
        7996  +
        fn test_get_header_value_trim() {
        7997  +
            run_test_suite_v4("get-header-value-trim");
        7998  +
        }
        7999  +
        8000  +
        #[test]
        8001  +
        fn test_get_relative_normalized() {
        8002  +
            run_test_suite_v4("get-relative-normalized");
        8003  +
        }
        8004  +
        8005  +
        #[test]
        8006  +
        fn test_get_relative_relative_normalized() {
        8007  +
            run_test_suite_v4("get-relative-relative-normalized");
        8008  +
        }
        8009  +
        8010  +
        #[test]
        8011  +
        fn test_get_relative_relative_unnormalized() {
        8012  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        8013  +
        }
        8014  +
        8015  +
        #[test]
        8016  +
        fn test_get_relative_unnormalized() {
        8017  +
            run_test_suite_v4("get-relative-unnormalized");
        8018  +
        }
        8019  +
        8020  +
        #[test]
        8021  +
        fn test_get_slash_dot_slash_normalized() {
        8022  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        8023  +
        }
        8024  +
        8025  +
        #[test]
        8026  +
        fn test_get_slash_dot_slash_unnormalized() {
        8027  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        8028  +
        }
        8029  +
        8030  +
        #[test]
        8031  +
        fn test_get_slash_normalized() {
        8032  +
            run_test_suite_v4("get-slash-normalized");
        8033  +
        }
        8034  +
        8035  +
        #[test]
        8036  +
        fn test_get_slash_pointless_dot_normalized() {
        8037  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        8038  +
        }
        8039  +
        8040  +
        #[test]
        8041  +
        fn test_get_slash_pointless_dot_unnormalized() {
        8042  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        8043  +
        }
        8044  +
        8045  +
        #[test]
        8046  +
        fn test_get_slash_unnormalized() {
        8047  +
            run_test_suite_v4("get-slash-unnormalized");
        8048  +
        }
        8049  +
        8050  +
        #[test]
        8051  +
        fn test_get_slashes_normalized() {
        8052  +
            run_test_suite_v4("get-slashes-normalized");
        8053  +
        }
        8054  +
        8055  +
        #[test]
        8056  +
        fn test_get_slashes_unnormalized() {
        8057  +
            run_test_suite_v4("get-slashes-unnormalized");
        8058  +
        }
        8059  +
        8060  +
        #[test]
        8061  +
        #[ignore = "relies on single encode of path segments"]
        8062  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        8063  +
        // skipped until we add control over double_uri_encode in context.json
        8064  +
        fn test_get_space_normalized() {
        8065  +
            run_test_suite_v4("get-space-normalized");
        8066  +
        }
        8067  +
        8068  +
        #[test]
        8069  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        8070  +
        // the input request has unencoded space ' ' in the path which fails to parse
        8071  +
        fn test_get_space_unnormalized() {
        8072  +
            run_test_suite_v4("get-space-unnormalized");
        8073  +
        }
        8074  +
        8075  +
        #[test]
        8076  +
        fn test_get_unreserved() {
        8077  +
            run_test_suite_v4("get-unreserved");
        8078  +
        }
        8079  +
        8080  +
        #[test]
        8081  +
        #[ignore = "httparse fails on invalid uri character"]
        8082  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8083  +
        fn test_get_utf8() {
        8084  +
            run_test_suite_v4("get-utf8");
        8085  +
        }
        8086  +
        8087  +
        #[test]
        8088  +
        fn test_get_vanilla() {
        8089  +
            run_test_suite_v4("get-vanilla");
        8090  +
        }
        8091  +
        8092  +
        #[test]
        8093  +
        fn test_get_vanilla_empty_query_key() {
        8094  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        8095  +
        }
        8096  +
        8097  +
        #[test]
        8098  +
        fn test_get_vanilla_query() {
        8099  +
            run_test_suite_v4("get-vanilla-query");
        8100  +
        }
        8101  +
        8102  +
        #[test]
        8103  +
        fn test_get_vanilla_query_order_encoded() {
        8104  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        8105  +
        }
        8106  +
        8107  +
        #[test]
        8108  +
        fn test_get_vanilla_query_order_key_case() {
        8109  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        8110  +
        }
        8111  +
        8112  +
        #[test]
        8113  +
        fn test_get_vanilla_query_unreserved() {
        8114  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        8115  +
        }
        8116  +
        8117  +
        #[test]
        8118  +
        #[ignore = "httparse fails on invalid uri character"]
        8119  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8120  +
        fn test_get_vanilla_utf8_query() {
        8121  +
            run_test_suite_v4("get-vanilla-utf8-query");
        8122  +
        }
        8123  +
        8124  +
        #[test]
        8125  +
        fn test_get_vanilla_with_session_token() {
        8126  +
            run_test_suite_v4("get-vanilla-with-session-token");
        8127  +
        }
        8128  +
        8129  +
        #[test]
        8130  +
        fn test_post_header_key_case() {
        8131  +
            run_test_suite_v4("post-header-key-case");
        8132  +
        }
        8133  +
        8134  +
        #[test]
        8135  +
        fn test_post_header_key_sort() {
        8136  +
            run_test_suite_v4("post-header-key-sort");
        8137  +
        }
        8138  +
        8139  +
        #[test]
        8140  +
        fn test_post_header_value_case() {
        8141  +
            run_test_suite_v4("post-header-value-case");
        8142  +
        }
        8143  +
        8144  +
        #[test]
        8145  +
        fn test_post_sts_header_after() {
        8146  +
            run_test_suite_v4("post-sts-header-after");
        8147  +
        }
        8148  +
        8149  +
        #[test]
        8150  +
        fn test_post_sts_header_before() {
        8151  +
            run_test_suite_v4("post-sts-header-before");
        8152  +
        }
        8153  +
        8154  +
        #[test]
        8155  +
        fn test_post_vanilla() {
        8156  +
            run_test_suite_v4("post-vanilla");
        8157  +
        }
        8158  +
        8159  +
        #[test]
        8160  +
        fn test_post_vanilla_empty_query_value() {
        8161  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8162  +
        }
        8163  +
        8164  +
        #[test]
        8165  +
        fn test_post_vanilla_query() {
        8166  +
            run_test_suite_v4("post-vanilla-query");
        8167  +
        }
        8168  +
        8169  +
        #[test]
        8170  +
        fn test_post_x_www_form_urlencoded() {
        8171  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8172  +
        }
        8173  +
        8174  +
        #[test]
        8175  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8176  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8177  +
        }
        8178  +
    }
 6186   8179   
}
 6187   8180   
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
 6188   8181   
index be6c496..86eec20 100644
 6189         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 6190   8183   
@@ -1,242 +1,453 @@
 6191   8184   
/*
 6192   8185   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 6193   8186   
 * SPDX-License-Identifier: Apache-2.0
 6194   8187   
 */
 6195   8188   
 6196   8189   
//! Functions shared between the tests of several modules.
 6197   8190   
 6198         -
use crate::http_request::{SignableBody, SignableRequest};
        8191  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8192  +
use crate::http_request::{
        8193  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8194  +
    SigningSettings,
        8195  +
};
        8196  +
use aws_credential_types::Credentials;
        8197  +
use aws_smithy_runtime_api::client::identity::Identity;
 6199   8198   
use http0::{Method, Uri};
        8199  +
use std::borrow::Cow;
 6200   8200   
use std::error::Error as StdError;
        8201  +
use std::time::{Duration, SystemTime};
        8202  +
use time::format_description::well_known::Rfc3339;
        8203  +
use time::OffsetDateTime;
        8204  +
        8205  +
/// Common test suite collection
        8206  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8207  +
enum Collection {
        8208  +
    V4,
        8209  +
    V4A,
        8210  +
}
 6201   8211   
 6202         -
pub(crate) mod v4 {
 6203         -
    use super::*;
        8212  +
/// A test from the common CRT test suite
        8213  +
#[derive(Debug, Clone)]
        8214  +
pub(crate) struct SigningSuiteTest {
        8215  +
    test_name: &'static str,
        8216  +
    collection: Collection,
        8217  +
}
 6204   8218   
 6205         -
    fn path(name: &str, ext: &str) -> String {
 6206         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8219  +
impl SigningSuiteTest {
        8220  +
    /// Create a new test from the V4 test suite
        8221  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8222  +
        Self {
        8223  +
            test_name,
        8224  +
            collection: Collection::V4,
 6207   8225   
        }
 6208         -
 6209         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 6210         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 6211         -
        read(&path(name, "creq")).trim().to_string()
 6212   8226   
    }
 6213   8227   
 6214         -
    pub(crate) fn test_sts(name: &str) -> String {
 6215         -
        read(&path(name, "sts"))
        8228  +
    /// Create a new test from the V4a test suite
        8229  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8230  +
        Self {
        8231  +
            test_name,
        8232  +
            collection: Collection::V4A,
 6216   8233   
        }
 6217         -
 6218         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6219         -
        test_parsed_request(name, "req")
 6220   8234   
    }
 6221   8235   
 6222         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 6223         -
        test_parsed_request(name, "sreq")
        8236  +
    /// Get the path to a file in this test suite directory
        8237  +
    fn path(&self, filename: &str) -> String {
        8238  +
        let dir = match self.collection {
        8239  +
            Collection::V4 => "v4",
        8240  +
            Collection::V4A => "v4a",
        8241  +
        };
        8242  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 6224   8243   
    }
 6225   8244   
 6226         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 6227         -
        test_parsed_request(name, "qpsreq")
        8245  +
    /// Get the HTTP request for the test
        8246  +
    pub(crate) fn request(&self) -> TestRequest {
        8247  +
        test_parsed_request(&self.path("request.txt"))
 6228   8248   
    }
 6229   8249   
 6230         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 6231         -
        let path = path(name, ext);
 6232         -
        match parse_request(read(&path).as_bytes()) {
 6233         -
            Ok(parsed) => parsed,
 6234         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8250  +
    /// Get the signed HTTP request for the test
        8251  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8252  +
        match signature_location {
        8253  +
            SignatureLocation::QueryParams => {
        8254  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 6235   8255   
            }
        8256  +
            SignatureLocation::Headers => {
        8257  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 6236   8258   
            }
 6237         -
 6238         -
    #[test]
 6239         -
    fn test_parse() {
 6240         -
        test_request("post-header-key-case");
 6241   8259   
        }
 6242         -
 6243         -
    #[test]
 6244         -
    fn test_read_query_params() {
 6245         -
        test_request("get-vanilla-query-order-key-case");
 6246   8260   
    }
 6247         -
}
 6248         -
 6249         -
#[cfg(feature = "sigv4a")]
 6250         -
pub(crate) mod v4a {
 6251         -
    use super::*;
 6252         -
    use crate::http_request::{
 6253         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 6254         -
    };
 6255         -
    use aws_credential_types::Credentials;
 6256         -
    use aws_smithy_runtime_api::client::identity::Identity;
 6257         -
    use serde_derive::Deserialize;
 6258         -
    use std::time::{Duration, SystemTime};
 6259         -
    use time::format_description::well_known::Rfc3339;
 6260         -
    use time::OffsetDateTime;
 6261   8261   
 6262         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6263         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8262  +
    /// Get the canonical request for the test
        8263  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8264  +
        match signature_location {
        8265  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8266  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6264   8267   
        }
 6265         -
 6266         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6267         -
        test_parsed_request(&path(name, "request"))
 6268   8268   
    }
 6269   8269   
 6270         -
    pub(crate) fn test_canonical_request(
 6271         -
        name: &str,
 6272         -
        signature_location: SignatureLocation,
 6273         -
    ) -> String {
        8270  +
    /// Get the string to sign for the test
        8271  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6274   8272   
        match signature_location {
 6275         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6276         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8273  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8274  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6277   8275   
        }
 6278   8276   
    }
 6279   8277   
 6280         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8278  +
    /// Get the signature for the test
        8279  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6281   8280   
        match signature_location {
 6282         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6283         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8281  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8282  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8283  +
        }
 6284   8284   
    }
        8285  +
        8286  +
    /// Get the test context for the test
        8287  +
    pub(crate) fn context(&self) -> TestContext {
        8288  +
        let context = read(&self.path("context.json"));
        8289  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8290  +
        tc_builder.build()
 6285   8291   
    }
        8292  +
}
 6286   8293   
 6287         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8294  +
fn test_parsed_request(path: &str) -> TestRequest {
 6288   8295   
    match parse_request(read(path).as_bytes()) {
 6289   8296   
        Ok(parsed) => parsed,
 6290   8297   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6291   8298   
    }
 6292         -
    }
        8299  +
}
 6293   8300   
 6294         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6295         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6296         -
        let context = read(&path);
 6297         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6298         -
        tc_builder.build()
 6299         -
    }
        8301  +
fn new_v4_signing_params_from_context(
        8302  +
    test_context: &'_ TestContext,
        8303  +
    signature_location: SignatureLocation,
        8304  +
) -> crate::http_request::SigningParams<'_> {
        8305  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8306  +
    params.settings.signature_location = signature_location;
        8307  +
    params.into()
        8308  +
}
        8309  +
        8310  +
/// Run the given test from the v4 suite for both header and query
        8311  +
/// signature locations
        8312  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8313  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8314  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8315  +
}
        8316  +
        8317  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8318  +
    assert_eq!(expected.scheme(), actual.scheme());
        8319  +
    assert_eq!(expected.authority(), actual.authority());
        8320  +
    assert_eq!(expected.path(), actual.path());
        8321  +
        8322  +
    // query params may be out of order
        8323  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8324  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8325  +
    expected_params.sort();
        8326  +
        8327  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8328  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8329  +
    actual_params.sort();
        8330  +
        8331  +
    assert_eq!(expected_params, actual_params);
        8332  +
}
 6300   8333   
 6301         -
    pub(crate) struct TestContext {
        8334  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8335  +
    let expected = expected.as_http_request();
        8336  +
    let actual = actual;
        8337  +
    assert_eq!(expected.method(), actual.method());
        8338  +
    assert_eq!(
        8339  +
        expected.headers().len(),
        8340  +
        actual.headers().len(),
        8341  +
        "extra or missing headers"
        8342  +
    );
        8343  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8344  +
    assert_uri_eq(expected.uri(), actual.uri());
        8345  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8346  +
}
        8347  +
        8348  +
/// Run the given test from the v4 suite for the given signature location
        8349  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8350  +
    let test = SigningSuiteTest::v4(test_name);
        8351  +
    let tc = test.context();
        8352  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8353  +
        8354  +
    let req = test.request();
        8355  +
    let expected_creq = test.canonical_request(signature_location);
        8356  +
    let signable_req = SignableRequest::from(&req);
        8357  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8358  +
        8359  +
    // check canonical request
        8360  +
    assert_eq!(
        8361  +
        expected_creq,
        8362  +
        actual_creq.to_string(),
        8363  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8364  +
    );
        8365  +
        8366  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8367  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8368  +
    let actual_string_to_sign = StringToSign::new_v4(
        8369  +
        *params.time(),
        8370  +
        params.region().unwrap(),
        8371  +
        params.name(),
        8372  +
        hashed_creq,
        8373  +
    )
        8374  +
    .to_string();
        8375  +
        8376  +
    // check string to sign
        8377  +
    assert_eq!(
        8378  +
        expected_string_to_sign, actual_string_to_sign,
        8379  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8380  +
    );
        8381  +
        8382  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8383  +
    let mut signed = req.as_http_request();
        8384  +
    out.output.apply_to_request_http0x(&mut signed);
        8385  +
        8386  +
    // check signature
        8387  +
    assert_eq!(
        8388  +
        test.signature(signature_location),
        8389  +
        out.signature,
        8390  +
        "signature didn't match (signature location: {signature_location:?})"
        8391  +
    );
        8392  +
        8393  +
    let expected = test.signed_request(signature_location);
        8394  +
    assert_requests_eq(expected, signed);
        8395  +
}
        8396  +
        8397  +
/// Test suite context.json
        8398  +
pub(crate) struct TestContext {
 6302   8399   
    pub(crate) identity: Identity,
 6303   8400   
    pub(crate) expiration_in_seconds: u64,
 6304   8401   
    pub(crate) normalize: bool,
 6305   8402   
    pub(crate) region: String,
 6306   8403   
    pub(crate) service: String,
 6307   8404   
    pub(crate) timestamp: String,
 6308   8405   
    pub(crate) omit_session_token: bool,
 6309   8406   
    pub(crate) sign_body: bool,
 6310         -
    }
 6311         -
 6312         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6313         -
        fn from(tc: &'a TestContext) -> Self {
 6314         -
            crate::sign::v4a::SigningParams {
 6315         -
                identity: &tc.identity,
 6316         -
                region_set: &tc.region,
 6317         -
                name: &tc.service,
 6318         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6319         -
                    .unwrap()
 6320         -
                    .into(),
 6321         -
                settings: SigningSettings {
 6322         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6323         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6324         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6325         -
                    session_token_mode: if tc.omit_session_token {
 6326         -
                        SessionTokenMode::Exclude
 6327         -
                    } else {
 6328         -
                        SessionTokenMode::Include
 6329         -
                    },
 6330         -
                    payload_checksum_kind: if tc.sign_body {
 6331         -
                        PayloadChecksumKind::XAmzSha256
 6332         -
                    } else {
 6333         -
                        PayloadChecksumKind::NoHeader
 6334         -
                    },
 6335         -
                    ..Default::default()
 6336         -
                },
 6337         -
            }
 6338         -
        }
 6339         -
    }
        8407  +
}
 6340   8408   
 6341         -
    // Serde has limitations requiring this odd workaround.
 6342         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6343         -
    fn return_true() -> bool {
        8409  +
// Serde has limitations requiring this odd workaround.
        8410  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8411  +
fn return_true() -> bool {
 6344   8412   
    true
 6345         -
    }
        8413  +
}
 6346   8414   
 6347         -
    #[derive(Deserialize)]
 6348         -
    pub(crate) struct TestContextBuilder {
        8415  +
#[derive(serde_derive::Deserialize)]
        8416  +
pub(crate) struct TestContextBuilder {
 6349   8417   
    credentials: TestContextCreds,
 6350   8418   
    expiration_in_seconds: u64,
 6351   8419   
    normalize: bool,
 6352   8420   
    region: String,
 6353   8421   
    service: String,
 6354   8422   
    timestamp: String,
 6355   8423   
    #[serde(default)]
 6356   8424   
    omit_session_token: bool,
 6357   8425   
    #[serde(default = "return_true")]
 6358   8426   
    sign_body: bool,
 6359         -
    }
        8427  +
}
 6360   8428   
 6361         -
    impl TestContextBuilder {
        8429  +
impl TestContextBuilder {
 6362   8430   
    pub(crate) fn build(self) -> TestContext {
 6363   8431   
        let identity = Identity::new(
 6364   8432   
            Credentials::from_keys(
 6365   8433   
                &self.credentials.access_key_id,
 6366   8434   
                &self.credentials.secret_access_key,
 6367   8435   
                self.credentials.token.clone(),
 6368   8436   
            ),
 6369   8437   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6370   8438   
        );
 6371   8439   
 6372   8440   
        TestContext {
 6373   8441   
            identity,
 6374   8442   
            expiration_in_seconds: self.expiration_in_seconds,
 6375   8443   
            normalize: self.normalize,
 6376   8444   
            region: self.region,
 6377   8445   
            service: self.service,
 6378   8446   
            timestamp: self.timestamp,
 6379   8447   
            omit_session_token: self.omit_session_token,
 6380   8448   
            sign_body: self.sign_body,
 6381   8449   
        }
 6382   8450   
    }
 6383         -
    }
        8451  +
}
 6384   8452   
 6385         -
    #[derive(Deserialize)]
 6386         -
    pub(crate) struct TestContextCreds {
        8453  +
#[derive(serde_derive::Deserialize)]
        8454  +
pub(crate) struct TestContextCreds {
 6387   8455   
    access_key_id: String,
 6388   8456   
    secret_access_key: String,
 6389   8457   
    token: Option<String>,
        8458  +
}
        8459  +
        8460  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8461  +
    fn from(tc: &'a TestContext) -> Self {
        8462  +
        crate::sign::v4::SigningParams {
        8463  +
            identity: &tc.identity,
        8464  +
            region: &tc.region,
        8465  +
            name: &tc.service,
        8466  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8467  +
                .unwrap()
        8468  +
                .into(),
        8469  +
            settings: SigningSettings {
        8470  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8471  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8472  +
                uri_path_normalization_mode: tc.normalize.into(),
        8473  +
                session_token_mode: if tc.omit_session_token {
        8474  +
                    SessionTokenMode::Exclude
        8475  +
                } else {
        8476  +
                    SessionTokenMode::Include
        8477  +
                },
        8478  +
                payload_checksum_kind: if tc.sign_body {
        8479  +
                    PayloadChecksumKind::XAmzSha256
        8480  +
                } else {
        8481  +
                    PayloadChecksumKind::NoHeader
        8482  +
                },
        8483  +
                ..Default::default()
        8484  +
            },
        8485  +
        }
        8486  +
    }
        8487  +
}
        8488  +
        8489  +
#[cfg(feature = "sigv4a")]
        8490  +
pub(crate) mod v4a {
        8491  +
    use super::*;
        8492  +
    use crate::http_request::{
        8493  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8494  +
    };
        8495  +
    use crate::sign::v4a;
        8496  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8497  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8498  +
    use std::time::Duration;
        8499  +
    use time::format_description::well_known::Rfc3339;
        8500  +
    use time::OffsetDateTime;
        8501  +
        8502  +
    fn new_v4a_signing_params_from_context(
        8503  +
        test_context: &'_ TestContext,
        8504  +
        signature_location: SignatureLocation,
        8505  +
    ) -> crate::http_request::SigningParams<'_> {
        8506  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8507  +
        params.settings.signature_location = signature_location;
        8508  +
        params.into()
        8509  +
    }
        8510  +
        8511  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8512  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8513  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8514  +
    }
        8515  +
        8516  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8517  +
        let test = SigningSuiteTest::v4a(test_name);
        8518  +
        let tc = test.context();
        8519  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8520  +
        8521  +
        let req = test.request();
        8522  +
        let expected_creq = test.canonical_request(signature_location);
        8523  +
        let signable_req = SignableRequest::from(&req);
        8524  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8525  +
        8526  +
        assert_eq!(
        8527  +
            expected_creq,
        8528  +
            actual_creq.to_string(),
        8529  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8530  +
        );
        8531  +
        8532  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8533  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8534  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8535  +
            *params.time(),
        8536  +
            params.region_set().unwrap(),
        8537  +
            params.name(),
        8538  +
            hashed_creq,
        8539  +
        )
        8540  +
        .to_string();
        8541  +
        8542  +
        assert_eq!(
        8543  +
            expected_string_to_sign, actual_string_to_sign,
        8544  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8545  +
        );
        8546  +
        8547  +
        let out = sign(signable_req, &params).unwrap();
        8548  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8549  +
        out.output
        8550  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8551  +
        8552  +
        let creds = params.credentials().unwrap();
        8553  +
        let signing_key =
        8554  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8555  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8556  +
        let sig = sig
        8557  +
            .try_into()
        8558  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8559  +
        8560  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8561  +
        let peer_public_key = signing_key.verifying_key();
        8562  +
        let sts = actual_string_to_sign.as_bytes();
        8563  +
        peer_public_key.verify(sts, &sig).unwrap();
        8564  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8565  +
    }
        8566  +
        8567  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8568  +
        fn from(tc: &'a TestContext) -> Self {
        8569  +
            crate::sign::v4a::SigningParams {
        8570  +
                identity: &tc.identity,
        8571  +
                region_set: &tc.region,
        8572  +
                name: &tc.service,
        8573  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8574  +
                    .unwrap()
        8575  +
                    .into(),
        8576  +
                settings: SigningSettings {
        8577  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8578  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8579  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8580  +
                    session_token_mode: if tc.omit_session_token {
        8581  +
                        SessionTokenMode::Exclude
        8582  +
                    } else {
        8583  +
                        SessionTokenMode::Include
        8584  +
                    },
        8585  +
                    payload_checksum_kind: if tc.sign_body {
        8586  +
                        PayloadChecksumKind::XAmzSha256
        8587  +
                    } else {
        8588  +
                        PayloadChecksumKind::NoHeader
        8589  +
                    },
        8590  +
                    ..Default::default()
        8591  +
                },
        8592  +
            }
        8593  +
        }
 6390   8594   
    }
 6391   8595   
 6392   8596   
    #[test]
 6393   8597   
    fn test_parse() {
 6394         -
        let req = test_request("post-header-key-case");
        8598  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6395   8599   
        assert_eq!(req.method, "POST");
 6396   8600   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6397   8601   
        assert!(req.headers.is_empty());
 6398   8602   
    }
 6399   8603   
 6400   8604   
    #[test]
 6401   8605   
    fn test_read_query_params() {
 6402         -
        let req = test_request("get-header-value-trim");
        8606  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6403   8607   
        assert_eq!(req.method, "GET");
 6404   8608   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6405   8609   
        assert!(!req.headers.is_empty());
 6406   8610   
    }
 6407   8611   
}
 6408   8612   
 6409   8613   
fn read(path: &str) -> String {
 6410   8614   
    println!("Loading `{}` for test case...", path);
 6411   8615   
    let v = {
 6412   8616   
        match std::fs::read_to_string(path) {
 6413   8617   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6414   8618   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6415   8619   
            Ok(value) => value.replace("\r\n", "\n"),
 6416   8620   
            Err(err) => {
 6417   8621   
                panic!("failed to load test case `{}`: {}", path, err);
 6418   8622   
            }
 6419   8623   
        }
 6420   8624   
    };
 6421   8625   
 6422   8626   
    v.trim().to_string()
 6423   8627   
}
 6424   8628   
 6425   8629   
pub(crate) struct TestRequest {
 6426   8630   
    pub(crate) uri: String,
 6427   8631   
    pub(crate) method: String,
 6428   8632   
    pub(crate) headers: Vec<(String, String)>,
 6429   8633   
    pub(crate) body: TestSignedBody,
 6430   8634   
}
 6431   8635   
 6432   8636   
pub(crate) enum TestSignedBody {
 6433   8637   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6434   8638   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6435   8639   
                    )
 6436   8640   
                })
 6437   8641   
                .collect::<Vec<_>>(),
 6438   8642   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6439   8643   
        }
 6440   8644   
    }
 6441   8645   
}
 6442   8646   
 6443   8647   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6444   8648   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6445   8649   
        SignableRequest::new(
 6446   8650   
            &request.method,
 6447   8651   
            &request.uri,
 6448   8652   
            request
 6449   8653   
                .headers
 6450   8654   
                .iter()
 6451   8655   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6452   8656   
            request.body.as_signable_body(),
 6453   8657   
        )
 6454   8658   
        .expect("URI MUST be valid")
 6455   8659   
    }
 6456   8660   
}
 6457   8661   
 6458   8662   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6459   8663   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6460   8664   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6461   8665   
    let mut with_newline = Vec::from(s);
 6462   8666   
    with_newline.push(b'\n');
 6463   8667   
    let mut req = httparse::Request::new(&mut headers);
 6464         -
    let _ = req.parse(&with_newline).unwrap();
        8668  +
    let status = req.parse(&with_newline).unwrap();
        8669  +
        8670  +
    let body = if status.is_complete() {
        8671  +
        let body_offset = status.unwrap();
        8672  +
        // ignore the newline we added, take from original
        8673  +
        &s[body_offset..]
        8674  +
    } else {
        8675  +
        &[]
        8676  +
    };
 6465   8677   
 6466   8678   
    let mut uri_builder = Uri::builder().scheme("https");
 6467   8679   
    if let Some(path) = req.path {
 6468   8680   
        uri_builder = uri_builder.path_and_query(path);
 6469   8681   
    }
 6470   8682   
 6471   8683   
    let mut headers = vec![];
 6472   8684   
    for header in req.headers {
 6473   8685   
        let name = header.name.to_lowercase();
 6474   8686   
        if name == "host" {
 6475   8687   
            uri_builder = uri_builder.authority(header.value);
 6476   8688   
        } else if !name.is_empty() {
 6477   8689   
            headers.push((
 6478   8690   
                header.name.to_string(),
 6479   8691   
                std::str::from_utf8(header.value)?.to_string(),
 6480   8692   
            ));
 6481   8693   
        }
 6482   8694   
    }
 6483   8695   
 6484   8696   
    Ok(TestRequest {
 6485   8697   
        uri: uri_builder.build()?.to_string(),
 6486   8698   
        method: req.method.unwrap().to_string(),
 6487   8699   
        headers,
 6488         -
        body: TestSignedBody::Bytes(vec![]),
        8700  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6489   8701   
    })
 6490   8702   
}
 6491   8703   
 6492   8704   
#[test]
 6493   8705   
fn test_parse_headers() {
 6494   8706   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6495   8707   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6496   8708   
    assert_eq!(
 6497   8709   
        httparse::parse_headers(buf, &mut headers),
 6498   8710   
        Ok(httparse::Status::Complete((
 6499   8711   
            56,
 6500   8712   
            &[
 6501   8713   
                httparse::Header {
 6502   8714   
                    name: "Host",
 6503   8715   
                    value: b"example.amazonaws.com",
 6504   8716   
                },
 6505   8717   
                httparse::Header {
 6506   8718   
                    name: "X-Amz-Date",
 6507   8719   
                    value: b"20150830T123600Z",
 6508   8720   
                }
 6509   8721   
            ][..]
 6510   8722   
        )))
 6511   8723   
    );
 6512   8724   
}
 6513   8725   
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
 6514   8726   
index a208453..fc00249 100644
 6515         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6516   8728   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6517   8729   
        );
 6518   8730   
 6519   8731   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6520   8732   
        /// a required argument was not given.
 6521   8733   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6522   8734   
            Ok(SigningParams {
 6523   8735   
                identity: self
 6524   8736   
                    .identity
 6525   8737   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6526   8738   
                region: self
 6527   8739   
                    .region
 6528   8740   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6529   8741   
                name: self
 6530   8742   
                    .name
 6531   8743   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6532   8744   
                time: self
 6533   8745   
                    .time
 6534   8746   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6535   8747   
                settings: self
 6536   8748   
                    .settings
 6537   8749   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6538   8750   
            })
 6539   8751   
        }
 6540   8752   
    }
 6541   8753   
}
 6542   8754   
 6543   8755   
#[cfg(test)]
 6544   8756   
mod tests {
 6545   8757   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6546   8758   
    use crate::date_time::test_parsers::parse_date_time;
 6547         -
    use crate::http_request::test;
 6548   8759   
 6549   8760   
    #[test]
 6550   8761   
    fn test_signature_calculation() {
 6551   8762   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6552         -
        let creq = test::v4::test_canonical_request("iam");
        8763  +
        let creq = r#"AWS4-HMAC-SHA256
        8764  +
20150830T123600Z
        8765  +
20150830/us-east-1/iam/aws4_request
        8766  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6553   8767   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6554   8768   
 6555   8769   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6556   8770   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6557   8771   
 6558   8772   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6559   8773   
        assert_eq!(expected, &signature);
 6560   8774   
    }
 6561   8775   
 6562   8776   
    #[test]
 6563   8777   
    fn sign_payload_empty_string() {
 6564   8778   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6565   8779   
        let actual = sha256_hex_string([]);
 6566   8780   
        assert_eq!(expected, actual);
 6567   8781   
    }
 6568   8782   
}
 6569   8783   
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
 6570   8784   
index ce78c38..8c2f591 100644
 6571         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8785  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6572   8786   
@@ -1,43 +1,43 @@
 6573   8787   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6574   8788   
[package]
 6575   8789   
name = "aws-smithy-checksums"
 6576   8790   
version = "0.63.5"
 6577   8791   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6578   8792   
description = "Checksum calculation and verification callbacks"
 6579   8793   
edition = "2021"
 6580   8794   
license = "Apache-2.0"
 6581   8795   
repository = "https://github.com/smithy-lang/smithy-rs"
 6582   8796   
[package.metadata.docs.rs]
 6583   8797   
all-features = true
 6584   8798   
targets = ["x86_64-unknown-linux-gnu"]
 6585   8799   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6586   8800   
rustdoc-args = ["--cfg", "docsrs"]
 6587   8801   
 6588   8802   
[dependencies]
 6589   8803   
bytes = "1.10.0"
 6590   8804   
crc-fast = "1.3.0"
 6591   8805   
hex = "0.4.3"
 6592   8806   
http = "0.2.9"
 6593   8807   
http-body = "0.4.5"
 6594   8808   
md-5 = "0.10"
 6595   8809   
pin-project-lite = "0.2.14"
 6596   8810   
sha1 = "0.10"
 6597   8811   
sha2 = "0.10"
 6598   8812   
tracing = "0.1.40"
 6599   8813   
 6600   8814   
[dependencies.aws-smithy-http]
 6601   8815   
path = "../aws-smithy-http"
 6602         -
version = "0.62.2"
        8816  +
version = "0.62.3"
 6603   8817   
 6604   8818   
[dependencies.aws-smithy-types]
 6605   8819   
path = "../aws-smithy-types"
 6606   8820   
version = "1.3.2"
 6607   8821   
 6608   8822   
[dev-dependencies]
 6609   8823   
bytes-utils = "0.1.2"
 6610   8824   
pretty_assertions = "1.3"
 6611   8825   
tracing-test = "0.2.1"
 6612   8826   
 6613   8827   
[dev-dependencies.tokio]
 6614   8828   
version = "1.23.1"
 6615   8829   
features = ["macros", "rt"]
 6616   8830   
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
 6617   8831   
index 970c99e..d3c7a49 100644
 6618         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8832  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6619   8833   
@@ -1,34 +1,34 @@
 6620   8834   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6621   8835   
[package]
 6622   8836   
name = "aws-smithy-http"
 6623         -
version = "0.62.2"
        8837  +
version = "0.62.3"
 6624   8838   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6625   8839   
description = "Smithy HTTP logic for smithy-rs."
 6626   8840   
edition = "2021"
 6627   8841   
license = "Apache-2.0"
 6628   8842   
repository = "https://github.com/smithy-lang/smithy-rs"
 6629   8843   
[package.metadata.docs.rs]
 6630   8844   
all-features = true
 6631   8845   
targets = ["x86_64-unknown-linux-gnu"]
 6632   8846   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6633   8847   
rustdoc-args = ["--cfg", "docsrs"]
 6634   8848   
 6635   8849   
[features]
 6636   8850   
event-stream = ["aws-smithy-eventstream"]
 6637   8851   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6638   8852   
 6639   8853   
[dependencies]
 6640   8854   
bytes = "1.10.0"
 6641   8855   
bytes-utils = "0.1"
 6642   8856   
percent-encoding = "2.3.1"
 6643   8857   
pin-project-lite = "0.2.14"
 6644   8858   
pin-utils = "0.1.0"
 6645   8859   
tracing = "0.1.40"
 6646   8860   
futures-core = "0.3.31"
 6647   8861   
 6648   8862   
[dependencies.aws-smithy-eventstream]
 6649   8863   
path = "../aws-smithy-eventstream"
 6650   8864   
optional = true
 6651   8865   
version = "0.60.10"
 6652   8866   
 6653   8867   
[dependencies.aws-smithy-runtime-api]
 6654   8868   
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
 6655   8869   
index 508f7a2..361545e 100644
 6656         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8870  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6657   8871   
@@ -1,27 +1,27 @@
 6658   8872   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6659   8873   
[[bin]]
 6660   8874   
name = "read_many_from_str"
 6661   8875   
path = "fuzz_targets/read_many_from_str.rs"
 6662   8876   
test = false
 6663   8877   
doc = false
 6664   8878   
 6665   8879   
[package]
 6666   8880   
name = "aws-smithy-http-fuzz"
 6667   8881   
version = "0.0.0"
 6668   8882   
authors = ["Automatically generated"]
 6669   8883   
publish = false
 6670   8884   
edition = "2021"
 6671   8885   
 6672   8886   
[package.metadata]
 6673   8887   
cargo-fuzz = true
 6674   8888   
 6675   8889   
[dependencies]
 6676   8890   
libfuzzer-sys = "=0.4.7"
 6677   8891   
http = "0.2.3"
 6678   8892   
 6679   8893   
[dependencies.aws-smithy-http]
 6680   8894   
path = ".."
 6681         -
version = "0.62.2"
        8895  +
version = "0.62.3"
 6682   8896   
 6683   8897   
[workspace]
 6684   8898   
members = ["."]
 6685   8899   
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
 6686   8900   
index fef41d0..2792229 100644
 6687         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8901  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6688   8902   
@@ -25,68 +25,74 @@ impl QueryWriter {
 6689   8903   
    pub fn new(uri: &Uri) -> Self {
 6690   8904   
        let new_path_and_query = uri
 6691   8905   
            .path_and_query()
 6692   8906   
            .map(|pq| pq.to_string())
 6693   8907   
            .unwrap_or_default();
 6694   8908   
        let prefix = if uri.query().is_none() {
 6695   8909   
            Some('?')
 6696   8910   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6697   8911   
            Some('&')
 6698   8912   
        } else {
 6699   8913   
            None
 6700   8914   
        };
 6701   8915   
        QueryWriter {
 6702   8916   
            base_uri: uri.clone(),
 6703   8917   
            new_path_and_query,
 6704   8918   
            prefix,
 6705   8919   
        }
 6706   8920   
    }
 6707   8921   
 6708   8922   
    /// Clears all query parameters.
 6709   8923   
    pub fn clear_params(&mut self) {
 6710   8924   
        if let Some(index) = self.new_path_and_query.find('?') {
 6711   8925   
            self.new_path_and_query.truncate(index);
 6712   8926   
            self.prefix = Some('?');
 6713   8927   
        }
 6714   8928   
    }
 6715   8929   
 6716   8930   
    /// Inserts a new query parameter. The key and value are percent encoded
 6717   8931   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6718   8932   
    pub fn insert(&mut self, k: &str, v: &str) {
        8933  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8934  +
    }
        8935  +
    
        8936  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8937  +
    /// as is.
        8938  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6719   8939   
        if let Some(prefix) = self.prefix {
 6720   8940   
            self.new_path_and_query.push(prefix);
 6721   8941   
        }
 6722   8942   
        self.prefix = Some('&');
 6723         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8943  +
        self.new_path_and_query.push_str(encoded_k);
 6724   8944   
        self.new_path_and_query.push('=');
        8945  +
        self.new_path_and_query.push_str(encoded_v)
 6725   8946   
        
 6726         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
 6727   8947   
    }
 6728   8948   
 6729   8949   
    /// Returns just the built query string.
 6730   8950   
    pub fn build_query(self) -> String {
 6731   8951   
        self.build_uri().query().unwrap_or_default().to_string()
 6732   8952   
    }
 6733   8953   
 6734   8954   
    /// Returns a full [`Uri`] with the query string updated.
 6735   8955   
    pub fn build_uri(self) -> Uri {
 6736   8956   
        let mut parts = self.base_uri.into_parts();
 6737   8957   
        parts.path_and_query = Some(
 6738   8958   
            self.new_path_and_query
 6739   8959   
                .parse()
 6740   8960   
                .expect("adding query should not invalidate URI"),
 6741   8961   
        );
 6742   8962   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6743   8963   
    }
 6744   8964   
}
 6745   8965   
 6746   8966   
#[cfg(test)]
 6747   8967   
mod test {
 6748   8968   
    use super::QueryWriter;
 6749   8969   
    use http_02x::Uri;
 6750   8970   
 6751   8971   
    #[test]
 6752   8972   
    fn empty_uri() {
 6753   8973   
        let uri = Uri::from_static("http://www.example.com");
 6754   8974   
        let mut query_writer = QueryWriter::new(&uri);
 6755   8975   
        query_writer.insert("key", "val%ue");
 6756   8976   
        query_writer.insert("another", "value");
 6757   8977   
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
 6758   8978   
index f108978..df7a9fe 100644
 6759         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8979  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6760   8980   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6761   8981   
 6762   8982   
[package.metadata.smithy-rs-release-tooling]
 6763   8983   
stable = true
 6764   8984   
[package.metadata.cargo-udeps.ignore]
 6765   8985   
normal = ["aws-smithy-http"]
 6766   8986   
 6767   8987   
[features]
 6768   8988   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6769   8989   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6770   8990   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6771   8991   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6772   8992   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6773   8993   
rt-tokio = ["tokio/rt"]
 6774   8994   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6775   8995   
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"]
 6776   8996   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6777   8997   
 6778   8998   
[dependencies]
 6779   8999   
bytes = "1.10.0"
 6780   9000   
fastrand = "2.3.0"
 6781   9001   
pin-project-lite = "0.2.14"
 6782   9002   
pin-utils = "0.1.0"
 6783   9003   
tracing = "0.1.40"
 6784   9004   
 6785   9005   
[dependencies.aws-smithy-async]
 6786   9006   
path = "../aws-smithy-async"
 6787   9007   
version = "1.2.5"
 6788   9008   
 6789   9009   
[dependencies.aws-smithy-http]
 6790   9010   
path = "../aws-smithy-http"
 6791         -
version = "0.62.2"
        9011  +
version = "0.62.3"
 6792   9012   
 6793   9013   
[dependencies.aws-smithy-observability]
 6794   9014   
path = "../aws-smithy-observability"
 6795   9015   
version = "0.1.3"
 6796   9016   
 6797   9017   
[dependencies.aws-smithy-runtime-api]
 6798   9018   
path = "../aws-smithy-runtime-api"
 6799   9019   
version = "1.8.5"
 6800   9020   
 6801   9021   
[dependencies.aws-smithy-types]
 6802   9022   
path = "../aws-smithy-types"
 6803   9023   
features = ["http-body-0-4-x"]
 6804   9024   
version = "1.3.2"
 6805   9025   
 6806   9026   
[dependencies.aws-smithy-http-client]
 6807   9027   
path = "../aws-smithy-http-client"
 6808   9028   
optional = true
 6809   9029   
version = "1.0.6"
 6810   9030   
 6811   9031   
[dependencies.http-02x]
 6812   9032   
package = "http"
 6813   9033   
version = "0.2.9"
 6814   9034   
 6815   9035   
[dependencies.http-1x]
 6816   9036   
package = "http"
 6817   9037   
version = "1"
 6818   9038   
 6819   9039   
[dependencies.http-body-04x]
 6820   9040   
package = "http-body"
 6821   9041   
version = "0.4.5"
 6822   9042   
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
 6823   9043   
index 4e050c6..f58eb1c 100644
 6824         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        9044  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6825   9045   
@@ -1,33 +1,33 @@
 6826   9046   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6827   9047   
[package]
 6828   9048   
name = "aws-smithy-wasm"
 6829   9049   
version = "0.1.4"
 6830   9050   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6831   9051   
description = "Smithy WebAssembly configuration for smithy-rs."
 6832   9052   
edition = "2021"
 6833   9053   
license = "Apache-2.0"
 6834   9054   
repository = "https://github.com/awslabs/smithy-rs"
 6835   9055   
[package.metadata.docs.rs]
 6836   9056   
all-features = true
 6837   9057   
targets = ["x86_64-unknown-linux-gnu"]
 6838   9058   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6839   9059   
rustdoc-args = ["--cfg", "docsrs"]
 6840   9060   
 6841   9061   
[dependencies]
 6842   9062   
bytes = "1.10.0"
 6843   9063   
http = "1.0.0"
 6844   9064   
tracing = "0.1.40"
 6845   9065   
wasi = "0.12.1"
 6846   9066   
 6847   9067   
[dependencies.aws-smithy-runtime-api]
 6848   9068   
path = "../aws-smithy-runtime-api"
 6849   9069   
features = ["http-1x"]
 6850   9070   
version = "1.8.5"
 6851   9071   
 6852   9072   
[dependencies.aws-smithy-http]
 6853   9073   
path = "../aws-smithy-http"
 6854         -
version = "0.62.2"
        9074  +
version = "0.62.3"
 6855   9075   
 6856   9076   
[dependencies.aws-smithy-types]
 6857   9077   
path = "../aws-smithy-types"
 6858   9078   
version = "1.3.2"
 6859   9079   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6860   9080   
index a880648..139e808 100644
 6861         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        9081  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6862   9082   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6863   9083   
edition = "2021"
 6864   9084   
license = "Apache-2.0"
 6865   9085   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6866   9086   
rust-version = "1.86.0"
 6867   9087   
readme = "README.md"
 6868   9088   
[package.metadata.smithy]
 6869   9089   
codegen-version = "ci"
 6870   9090   
[package.metadata.docs.rs]
 6871   9091   
all-features = true
 6872   9092   
targets = ["x86_64-unknown-linux-gnu"]
 6873   9093   
[dependencies.aws-credential-types]
 6874   9094   
path = "../aws-credential-types"
 6875   9095   
version = "1.2.4"
 6876   9096   
 6877   9097   
[dependencies.aws-runtime]
 6878   9098   
path = "../aws-runtime"
 6879   9099   
features = ["event-stream"]
 6880   9100   
version = "1.5.9"
 6881   9101   
 6882   9102   
[dependencies.aws-smithy-async]
 6883   9103   
path = "../aws-smithy-async"
 6884   9104   
version = "1.2.5"
 6885   9105   
 6886   9106   
[dependencies.aws-smithy-eventstream]
 6887   9107   
path = "../aws-smithy-eventstream"
 6888   9108   
version = "0.60.10"
 6889   9109   
 6890   9110   
[dependencies.aws-smithy-http]
 6891   9111   
path = "../aws-smithy-http"
 6892   9112   
features = ["event-stream"]
 6893         -
version = "0.62.2"
        9113  +
version = "0.62.3"
 6894   9114   
 6895   9115   
[dependencies.aws-smithy-json]
 6896   9116   
path = "../aws-smithy-json"
 6897   9117   
version = "0.61.4"
 6898   9118   
 6899   9119   
[dependencies.aws-smithy-runtime]
 6900   9120   
path = "../aws-smithy-runtime"
 6901   9121   
features = ["client"]
 6902   9122   
version = "1.8.5"
 6903   9123   
 6904   9124   
[dependencies.aws-smithy-runtime-api]
 6905   9125   
path = "../aws-smithy-runtime-api"
 6906   9126   
features = ["client", "http-02x"]
 6907   9127   
version = "1.8.5"
 6908   9128   
 6909   9129   
[dependencies.aws-smithy-types]
 6910   9130   
path = "../aws-smithy-types"
 6911   9131   
version = "1.3.2"
 6912   9132   
 6913   9133   
[dependencies.aws-types]
 6914   9134   
path = "../aws-types"
 6915   9135   
version = "1.3.8"
 6916   9136   
 6917   9137   
[dependencies.bytes]
 6918   9138   
version = "1.4.0"
 6919   9139   
 6920   9140   
[dependencies.fastrand]
 6921   9141   
version = "2.0.0"
 6922   9142   
 6923   9143   
[dependencies.http]
 6924   9144   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6925   9145   
index 415ecc9..667d12b 100644
 6926         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9146  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6927   9147   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6928   9148   
edition = "2021"
 6929   9149   
license = "Apache-2.0"
 6930   9150   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6931   9151   
rust-version = "1.86.0"
 6932   9152   
readme = "README.md"
 6933   9153   
[package.metadata.smithy]
 6934   9154   
codegen-version = "ci"
 6935   9155   
[package.metadata.docs.rs]
 6936   9156   
all-features = true
 6937   9157   
targets = ["x86_64-unknown-linux-gnu"]
 6938   9158   
[dependencies.aws-credential-types]
 6939   9159   
path = "../aws-credential-types"
 6940   9160   
version = "1.2.4"
 6941   9161   
 6942   9162   
[dependencies.aws-runtime]
 6943   9163   
path = "../aws-runtime"
 6944   9164   
features = ["event-stream"]
 6945   9165   
version = "1.5.9"
 6946   9166   
 6947   9167   
[dependencies.aws-smithy-async]
 6948   9168   
path = "../aws-smithy-async"
 6949   9169   
version = "1.2.5"
 6950   9170   
 6951   9171   
[dependencies.aws-smithy-eventstream]
 6952   9172   
path = "../aws-smithy-eventstream"
 6953   9173   
version = "0.60.10"
 6954   9174   
 6955   9175   
[dependencies.aws-smithy-http]
 6956   9176   
path = "../aws-smithy-http"
 6957   9177   
features = ["event-stream"]
 6958         -
version = "0.62.2"
        9178  +
version = "0.62.3"
 6959   9179   
 6960   9180   
[dependencies.aws-smithy-json]
 6961   9181   
path = "../aws-smithy-json"
 6962   9182   
version = "0.61.4"
 6963   9183   
 6964   9184   
[dependencies.aws-smithy-runtime]
 6965   9185   
path = "../aws-smithy-runtime"
 6966   9186   
features = ["client"]
 6967   9187   
version = "1.8.5"
 6968   9188   
 6969   9189   
[dependencies.aws-smithy-runtime-api]
 6970   9190   
path = "../aws-smithy-runtime-api"
 6971   9191   
features = ["client", "http-02x"]
 6972   9192   
version = "1.8.5"
 6973   9193   
 6974   9194   
[dependencies.aws-smithy-types]
 6975   9195   
path = "../aws-smithy-types"
 6976   9196   
version = "1.3.2"
 6977   9197   
 6978   9198   
[dependencies.aws-types]
 6979   9199   
path = "../aws-types"
 6980   9200   
version = "1.3.8"
 6981   9201   
 6982   9202   
[dependencies.bytes]
 6983   9203   
version = "1.4.0"
 6984   9204   
 6985   9205   
[dependencies.fastrand]
 6986   9206   
version = "2.0.0"
 6987   9207   
 6988   9208   
[dependencies.http]
 6989   9209   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6990   9210   
index 8871cab..ed88de6 100644
 6991         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9211  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 6992   9212   
@@ -1,61 +1,61 @@
 6993   9213   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6994   9214   
[package]
 6995   9215   
name = "aws-sdk-codecatalyst"
 6996   9216   
version = "0.0.0-local"
 6997   9217   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6998   9218   
description = "AWS SDK for Amazon CodeCatalyst"
 6999   9219   
edition = "2021"
 7000   9220   
license = "Apache-2.0"
 7001   9221   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7002   9222   
rust-version = "1.86.0"
 7003   9223   
readme = "README.md"
 7004   9224   
[package.metadata.smithy]
 7005   9225   
codegen-version = "ci"
 7006   9226   
[package.metadata.docs.rs]
 7007   9227   
all-features = true
 7008   9228   
targets = ["x86_64-unknown-linux-gnu"]
 7009   9229   
[dependencies.aws-credential-types]
 7010   9230   
path = "../aws-credential-types"
 7011   9231   
version = "1.2.4"
 7012   9232   
 7013   9233   
[dependencies.aws-runtime]
 7014   9234   
path = "../aws-runtime"
 7015   9235   
version = "1.5.9"
 7016   9236   
 7017   9237   
[dependencies.aws-smithy-async]
 7018   9238   
path = "../aws-smithy-async"
 7019   9239   
version = "1.2.5"
 7020   9240   
 7021   9241   
[dependencies.aws-smithy-http]
 7022   9242   
path = "../aws-smithy-http"
 7023         -
version = "0.62.2"
        9243  +
version = "0.62.3"
 7024   9244   
 7025   9245   
[dependencies.aws-smithy-json]
 7026   9246   
path = "../aws-smithy-json"
 7027   9247   
version = "0.61.4"
 7028   9248   
 7029   9249   
[dependencies.aws-smithy-runtime]
 7030   9250   
path = "../aws-smithy-runtime"
 7031   9251   
features = ["client", "http-auth"]
 7032   9252   
version = "1.8.5"
 7033   9253   
 7034   9254   
[dependencies.aws-smithy-runtime-api]
 7035   9255   
path = "../aws-smithy-runtime-api"
 7036   9256   
features = ["client", "http-02x", "http-auth"]
 7037   9257   
version = "1.8.5"
 7038   9258   
 7039   9259   
[dependencies.aws-smithy-types]
 7040   9260   
path = "../aws-smithy-types"
 7041   9261   
version = "1.3.2"
 7042   9262   
 7043   9263   
[dependencies.aws-types]
 7044   9264   
path = "../aws-types"
 7045   9265   
version = "1.3.8"
 7046   9266   
 7047   9267   
[dependencies.bytes]
 7048   9268   
version = "1.4.0"
 7049   9269   
 7050   9270   
[dependencies.fastrand]
 7051   9271   
version = "2.0.0"
 7052   9272   
 7053   9273   
[dependencies.http]
 7054   9274   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 7055   9275   
index 89573ff..05238af 100644
 7056         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 7057   9277   
@@ -1,61 +1,61 @@
 7058   9278   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7059   9279   
[package]
 7060   9280   
name = "aws-sdk-config"
 7061   9281   
version = "0.0.0-local"
 7062   9282   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7063   9283   
description = "AWS SDK for AWS Config"
 7064   9284   
edition = "2021"
 7065   9285   
license = "Apache-2.0"
 7066   9286   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7067   9287   
rust-version = "1.86.0"
 7068   9288   
readme = "README.md"
 7069   9289   
[package.metadata.smithy]
 7070   9290   
codegen-version = "ci"
 7071   9291   
[package.metadata.docs.rs]
 7072   9292   
all-features = true
 7073   9293   
targets = ["x86_64-unknown-linux-gnu"]
 7074   9294   
[dependencies.aws-credential-types]
 7075   9295   
path = "../aws-credential-types"
 7076   9296   
version = "1.2.4"
 7077   9297   
 7078   9298   
[dependencies.aws-runtime]
 7079   9299   
path = "../aws-runtime"
 7080   9300   
version = "1.5.9"
 7081   9301   
 7082   9302   
[dependencies.aws-smithy-async]
 7083   9303   
path = "../aws-smithy-async"
 7084   9304   
version = "1.2.5"
 7085   9305   
 7086   9306   
[dependencies.aws-smithy-http]
 7087   9307   
path = "../aws-smithy-http"
 7088         -
version = "0.62.2"
        9308  +
version = "0.62.3"
 7089   9309   
 7090   9310   
[dependencies.aws-smithy-json]
 7091   9311   
path = "../aws-smithy-json"
 7092   9312   
version = "0.61.4"
 7093   9313   
 7094   9314   
[dependencies.aws-smithy-runtime]
 7095   9315   
path = "../aws-smithy-runtime"
 7096   9316   
features = ["client"]
 7097   9317   
version = "1.8.5"
 7098   9318   
 7099   9319   
[dependencies.aws-smithy-runtime-api]
 7100   9320   
path = "../aws-smithy-runtime-api"
 7101   9321   
features = ["client", "http-02x"]
 7102   9322   
version = "1.8.5"
 7103   9323   
 7104   9324   
[dependencies.aws-smithy-types]
 7105   9325   
path = "../aws-smithy-types"
 7106   9326   
version = "1.3.2"
 7107   9327   
 7108   9328   
[dependencies.aws-types]
 7109   9329   
path = "../aws-types"
 7110   9330   
version = "1.3.8"
 7111   9331   
 7112   9332   
[dependencies.bytes]
 7113   9333   
version = "1.4.0"
 7114   9334   
 7115   9335   
[dependencies.fastrand]
 7116   9336   
version = "2.0.0"
 7117   9337   
 7118   9338   
[dependencies.http]
 7119   9339   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7120   9340   
index d397c58..2c1062b 100644
 7121         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7122   9342   
@@ -1,61 +1,61 @@
 7123   9343   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7124   9344   
[package]
 7125   9345   
name = "aws-sdk-dynamodb"
 7126   9346   
version = "0.0.0-local"
 7127   9347   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7128   9348   
description = "AWS SDK for Amazon DynamoDB"
 7129   9349   
edition = "2021"
 7130   9350   
license = "Apache-2.0"
 7131   9351   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7132   9352   
rust-version = "1.86.0"
 7133   9353   
readme = "README.md"
 7134   9354   
[package.metadata.smithy]
 7135   9355   
codegen-version = "ci"
 7136   9356   
[package.metadata.docs.rs]
 7137   9357   
all-features = true
 7138   9358   
targets = ["x86_64-unknown-linux-gnu"]
 7139   9359   
[dependencies.aws-credential-types]
 7140   9360   
path = "../aws-credential-types"
 7141   9361   
version = "1.2.4"
 7142   9362   
 7143   9363   
[dependencies.aws-runtime]
 7144   9364   
path = "../aws-runtime"
 7145   9365   
version = "1.5.9"
 7146   9366   
 7147   9367   
[dependencies.aws-smithy-async]
 7148   9368   
path = "../aws-smithy-async"
 7149   9369   
version = "1.2.5"
 7150   9370   
 7151   9371   
[dependencies.aws-smithy-http]
 7152   9372   
path = "../aws-smithy-http"
 7153         -
version = "0.62.2"
        9373  +
version = "0.62.3"
 7154   9374   
 7155   9375   
[dependencies.aws-smithy-json]
 7156   9376   
path = "../aws-smithy-json"
 7157   9377   
version = "0.61.4"
 7158   9378   
 7159   9379   
[dependencies.aws-smithy-runtime]
 7160   9380   
path = "../aws-smithy-runtime"
 7161   9381   
features = ["client"]
 7162   9382   
version = "1.8.5"
 7163   9383   
 7164   9384   
[dependencies.aws-smithy-runtime-api]
 7165   9385   
path = "../aws-smithy-runtime-api"
 7166   9386   
features = ["client", "http-02x"]
 7167   9387   
version = "1.8.5"
 7168   9388   
 7169   9389   
[dependencies.aws-smithy-types]
 7170   9390   
path = "../aws-smithy-types"
 7171   9391   
version = "1.3.2"
 7172   9392   
 7173   9393   
[dependencies.aws-types]
 7174   9394   
path = "../aws-types"
 7175   9395   
version = "1.3.8"
 7176   9396   
 7177   9397   
[dependencies.bytes]
 7178   9398   
version = "1.4.0"
 7179   9399   
 7180   9400   
[dependencies.fastrand]
 7181   9401   
version = "2.0.0"
 7182   9402   
 7183   9403   
[dependencies.http]
 7184   9404   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7185   9405   
index c0ba315..46168af 100644
 7186         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9406  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7187   9407   
@@ -1,61 +1,61 @@
 7188   9408   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7189   9409   
[package]
 7190   9410   
name = "aws-sdk-ec2"
 7191   9411   
version = "0.0.0-local"
 7192   9412   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7193   9413   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 7194   9414   
edition = "2021"
 7195   9415   
license = "Apache-2.0"
 7196   9416   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7197   9417   
rust-version = "1.86.0"
 7198   9418   
readme = "README.md"
 7199   9419   
[package.metadata.smithy]
 7200   9420   
codegen-version = "ci"
 7201   9421   
[package.metadata.docs.rs]
 7202   9422   
all-features = true
 7203   9423   
targets = ["x86_64-unknown-linux-gnu"]
 7204   9424   
[dependencies.aws-credential-types]
 7205   9425   
path = "../aws-credential-types"
 7206   9426   
version = "1.2.4"
 7207   9427   
 7208   9428   
[dependencies.aws-runtime]
 7209   9429   
path = "../aws-runtime"
 7210   9430   
version = "1.5.9"
 7211   9431   
 7212   9432   
[dependencies.aws-smithy-async]
 7213   9433   
path = "../aws-smithy-async"
 7214   9434   
version = "1.2.5"
 7215   9435   
 7216   9436   
[dependencies.aws-smithy-http]
 7217   9437   
path = "../aws-smithy-http"
 7218         -
version = "0.62.2"
        9438  +
version = "0.62.3"
 7219   9439   
 7220   9440   
[dependencies.aws-smithy-json]
 7221   9441   
path = "../aws-smithy-json"
 7222   9442   
version = "0.61.4"
 7223   9443   
 7224   9444   
[dependencies.aws-smithy-query]
 7225   9445   
path = "../aws-smithy-query"
 7226   9446   
version = "0.60.7"
 7227   9447   
 7228   9448   
[dependencies.aws-smithy-runtime]
 7229   9449   
path = "../aws-smithy-runtime"
 7230   9450   
features = ["client"]
 7231   9451   
version = "1.8.5"
 7232   9452   
 7233   9453   
[dependencies.aws-smithy-runtime-api]
 7234   9454   
path = "../aws-smithy-runtime-api"
 7235   9455   
features = ["client", "http-02x"]
 7236   9456   
version = "1.8.5"
 7237   9457   
 7238   9458   
[dependencies.aws-smithy-types]
 7239   9459   
path = "../aws-smithy-types"
 7240   9460   
version = "1.3.2"
 7241   9461   
 7242   9462   
[dependencies.aws-smithy-xml]
 7243   9463   
path = "../aws-smithy-xml"
 7244   9464   
version = "0.60.10"
 7245   9465   
 7246   9466   
[dependencies.aws-types]
 7247   9467   
path = "../aws-types"
 7248   9468   
version = "1.3.8"
 7249   9469   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7250   9470   
index 4474d17..095d40e 100644
 7251         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9471  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7252   9472   
@@ -1,61 +1,61 @@
 7253   9473   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7254   9474   
[package]
 7255   9475   
name = "aws-sdk-ecs"
 7256   9476   
version = "0.0.0-local"
 7257   9477   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7258   9478   
description = "AWS SDK for Amazon EC2 Container Service"
 7259   9479   
edition = "2021"
 7260   9480   
license = "Apache-2.0"
 7261   9481   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7262   9482   
rust-version = "1.86.0"
 7263   9483   
readme = "README.md"
 7264   9484   
[package.metadata.smithy]
 7265   9485   
codegen-version = "ci"
 7266   9486   
[package.metadata.docs.rs]
 7267   9487   
all-features = true
 7268   9488   
targets = ["x86_64-unknown-linux-gnu"]
 7269   9489   
[dependencies.aws-credential-types]
 7270   9490   
path = "../aws-credential-types"
 7271   9491   
version = "1.2.4"
 7272   9492   
 7273   9493   
[dependencies.aws-runtime]
 7274   9494   
path = "../aws-runtime"
 7275   9495   
version = "1.5.9"
 7276   9496   
 7277   9497   
[dependencies.aws-smithy-async]
 7278   9498   
path = "../aws-smithy-async"
 7279   9499   
version = "1.2.5"
 7280   9500   
 7281   9501   
[dependencies.aws-smithy-http]
 7282   9502   
path = "../aws-smithy-http"
 7283         -
version = "0.62.2"
        9503  +
version = "0.62.3"
 7284   9504   
 7285   9505   
[dependencies.aws-smithy-json]
 7286   9506   
path = "../aws-smithy-json"
 7287   9507   
version = "0.61.4"
 7288   9508   
 7289   9509   
[dependencies.aws-smithy-runtime]
 7290   9510   
path = "../aws-smithy-runtime"
 7291   9511   
features = ["client"]
 7292   9512   
version = "1.8.5"
 7293   9513   
 7294   9514   
[dependencies.aws-smithy-runtime-api]
 7295   9515   
path = "../aws-smithy-runtime-api"
 7296   9516   
features = ["client", "http-02x"]
 7297   9517   
version = "1.8.5"
 7298   9518   
 7299   9519   
[dependencies.aws-smithy-types]
 7300   9520   
path = "../aws-smithy-types"
 7301   9521   
version = "1.3.2"
 7302   9522   
 7303   9523   
[dependencies.aws-types]
 7304   9524   
path = "../aws-types"
 7305   9525   
version = "1.3.8"
 7306   9526   
 7307   9527   
[dependencies.bytes]
 7308   9528   
version = "1.4.0"
 7309   9529   
 7310   9530   
[dependencies.fastrand]
 7311   9531   
version = "2.0.0"
 7312   9532   
 7313   9533   
[dependencies.http]
 7314   9534   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7315   9535   
index 15b1d77..16d7d89 100644
 7316         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7317   9537   
@@ -1,65 +1,65 @@
 7318   9538   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7319   9539   
[package]
 7320   9540   
name = "aws-sdk-glacier"
 7321   9541   
version = "0.0.0-local"
 7322   9542   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7323   9543   
description = "AWS SDK for Amazon Glacier"
 7324   9544   
edition = "2021"
 7325   9545   
license = "Apache-2.0"
 7326   9546   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7327   9547   
rust-version = "1.86.0"
 7328   9548   
readme = "README.md"
 7329   9549   
[package.metadata.smithy]
 7330   9550   
codegen-version = "ci"
 7331   9551   
[package.metadata.docs.rs]
 7332   9552   
all-features = true
 7333   9553   
targets = ["x86_64-unknown-linux-gnu"]
 7334   9554   
[dependencies.aws-credential-types]
 7335   9555   
path = "../aws-credential-types"
 7336   9556   
version = "1.2.4"
 7337   9557   
 7338   9558   
[dependencies.aws-runtime]
 7339   9559   
path = "../aws-runtime"
 7340   9560   
version = "1.5.9"
 7341   9561   
 7342   9562   
[dependencies.aws-sigv4]
 7343   9563   
path = "../aws-sigv4"
 7344         -
version = "1.3.3"
        9564  +
version = "1.3.4"
 7345   9565   
 7346   9566   
[dependencies.aws-smithy-async]
 7347   9567   
path = "../aws-smithy-async"
 7348   9568   
version = "1.2.5"
 7349   9569   
 7350   9570   
[dependencies.aws-smithy-http]
 7351   9571   
path = "../aws-smithy-http"
 7352         -
version = "0.62.2"
        9572  +
version = "0.62.3"
 7353   9573   
 7354   9574   
[dependencies.aws-smithy-json]
 7355   9575   
path = "../aws-smithy-json"
 7356   9576   
version = "0.61.4"
 7357   9577   
 7358   9578   
[dependencies.aws-smithy-runtime]
 7359   9579   
path = "../aws-smithy-runtime"
 7360   9580   
features = ["client"]
 7361   9581   
version = "1.8.5"
 7362   9582   
 7363   9583   
[dependencies.aws-smithy-runtime-api]
 7364   9584   
path = "../aws-smithy-runtime-api"
 7365   9585   
features = ["client", "http-02x"]
 7366   9586   
version = "1.8.5"
 7367   9587   
 7368   9588   
[dependencies.aws-smithy-types]
 7369   9589   
path = "../aws-smithy-types"
 7370   9590   
version = "1.3.2"
 7371   9591   
 7372   9592   
[dependencies.aws-types]
 7373   9593   
path = "../aws-types"
 7374   9594   
version = "1.3.8"
 7375   9595   
 7376   9596   
[dependencies.bytes]
 7377   9597   
version = "1.4.0"
 7378   9598   
 7379   9599   
[dependencies.fastrand]
 7380   9600   
version = "2.0.0"
 7381   9601   
 7382   9602   
[dependencies.hex]
 7383   9603   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7384   9604   
index d718a3a..65e6f24 100644
 7385         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7386   9606   
@@ -1,61 +1,61 @@
 7387   9607   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7388   9608   
[package]
 7389   9609   
name = "aws-sdk-iam"
 7390   9610   
version = "0.0.0-local"
 7391   9611   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7392   9612   
description = "AWS SDK for AWS Identity and Access Management"
 7393   9613   
edition = "2021"
 7394   9614   
license = "Apache-2.0"
 7395   9615   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7396   9616   
rust-version = "1.86.0"
 7397   9617   
readme = "README.md"
 7398   9618   
[package.metadata.smithy]
 7399   9619   
codegen-version = "ci"
 7400   9620   
[package.metadata.docs.rs]
 7401   9621   
all-features = true
 7402   9622   
targets = ["x86_64-unknown-linux-gnu"]
 7403   9623   
[dependencies.aws-credential-types]
 7404   9624   
path = "../aws-credential-types"
 7405   9625   
version = "1.2.4"
 7406   9626   
 7407   9627   
[dependencies.aws-runtime]
 7408   9628   
path = "../aws-runtime"
 7409   9629   
version = "1.5.9"
 7410   9630   
 7411   9631   
[dependencies.aws-smithy-async]
 7412   9632   
path = "../aws-smithy-async"
 7413   9633   
version = "1.2.5"
 7414   9634   
 7415   9635   
[dependencies.aws-smithy-http]
 7416   9636   
path = "../aws-smithy-http"
 7417         -
version = "0.62.2"
        9637  +
version = "0.62.3"
 7418   9638   
 7419   9639   
[dependencies.aws-smithy-json]
 7420   9640   
path = "../aws-smithy-json"
 7421   9641   
version = "0.61.4"
 7422   9642   
 7423   9643   
[dependencies.aws-smithy-query]
 7424   9644   
path = "../aws-smithy-query"
 7425   9645   
version = "0.60.7"
 7426   9646   
 7427   9647   
[dependencies.aws-smithy-runtime]
 7428   9648   
path = "../aws-smithy-runtime"
 7429   9649   
features = ["client"]
 7430   9650   
version = "1.8.5"
 7431   9651   
 7432   9652   
[dependencies.aws-smithy-runtime-api]
 7433   9653   
path = "../aws-smithy-runtime-api"
 7434   9654   
features = ["client", "http-02x"]
 7435   9655   
version = "1.8.5"
 7436   9656   
 7437   9657   
[dependencies.aws-smithy-types]
 7438   9658   
path = "../aws-smithy-types"
 7439   9659   
version = "1.3.2"
 7440   9660   
 7441   9661   
[dependencies.aws-smithy-xml]
 7442   9662   
path = "../aws-smithy-xml"
 7443   9663   
version = "0.60.10"
 7444   9664   
 7445   9665   
[dependencies.aws-types]
 7446   9666   
path = "../aws-types"
 7447   9667   
version = "1.3.8"
 7448   9668   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7449   9669   
index 0ed4302..3d828a5 100644
 7450         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7451   9671   
@@ -1,61 +1,61 @@
 7452   9672   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7453   9673   
[package]
 7454   9674   
name = "aws-sdk-kms"
 7455   9675   
version = "0.0.0-local"
 7456   9676   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7457   9677   
description = "AWS SDK for AWS Key Management Service"
 7458   9678   
edition = "2021"
 7459   9679   
license = "Apache-2.0"
 7460   9680   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7461   9681   
rust-version = "1.86.0"
 7462   9682   
readme = "README.md"
 7463   9683   
[package.metadata.smithy]
 7464   9684   
codegen-version = "ci"
 7465   9685   
[package.metadata.docs.rs]
 7466   9686   
all-features = true
 7467   9687   
targets = ["x86_64-unknown-linux-gnu"]
 7468   9688   
[dependencies.aws-credential-types]
 7469   9689   
path = "../aws-credential-types"
 7470   9690   
version = "1.2.4"
 7471   9691   
 7472   9692   
[dependencies.aws-runtime]
 7473   9693   
path = "../aws-runtime"
 7474   9694   
version = "1.5.9"
 7475   9695   
 7476   9696   
[dependencies.aws-smithy-async]
 7477   9697   
path = "../aws-smithy-async"
 7478   9698   
version = "1.2.5"
 7479   9699   
 7480   9700   
[dependencies.aws-smithy-http]
 7481   9701   
path = "../aws-smithy-http"
 7482         -
version = "0.62.2"
        9702  +
version = "0.62.3"
 7483   9703   
 7484   9704   
[dependencies.aws-smithy-json]
 7485   9705   
path = "../aws-smithy-json"
 7486   9706   
version = "0.61.4"
 7487   9707   
 7488   9708   
[dependencies.aws-smithy-runtime]
 7489   9709   
path = "../aws-smithy-runtime"
 7490   9710   
features = ["client"]
 7491   9711   
version = "1.8.5"
 7492   9712   
 7493   9713   
[dependencies.aws-smithy-runtime-api]
 7494   9714   
path = "../aws-smithy-runtime-api"
 7495   9715   
features = ["client", "http-02x"]
 7496   9716   
version = "1.8.5"
 7497   9717   
 7498   9718   
[dependencies.aws-smithy-types]
 7499   9719   
path = "../aws-smithy-types"
 7500   9720   
version = "1.3.2"
 7501   9721   
 7502   9722   
[dependencies.aws-types]
 7503   9723   
path = "../aws-types"
 7504   9724   
version = "1.3.8"
 7505   9725   
 7506   9726   
[dependencies.bytes]
 7507   9727   
version = "1.4.0"
 7508   9728   
 7509   9729   
[dependencies.fastrand]
 7510   9730   
version = "2.0.0"
 7511   9731   
 7512   9732   
[dependencies.http]
 7513   9733   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7514   9734   
index 6518dfc..6b94752 100644
 7515         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7516   9736   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7517   9737   
edition = "2021"
 7518   9738   
license = "Apache-2.0"
 7519   9739   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7520   9740   
rust-version = "1.86.0"
 7521   9741   
readme = "README.md"
 7522   9742   
[package.metadata.smithy]
 7523   9743   
codegen-version = "ci"
 7524   9744   
[package.metadata.docs.rs]
 7525   9745   
all-features = true
 7526   9746   
targets = ["x86_64-unknown-linux-gnu"]
 7527   9747   
[dependencies.aws-credential-types]
 7528   9748   
path = "../aws-credential-types"
 7529   9749   
version = "1.2.4"
 7530   9750   
 7531   9751   
[dependencies.aws-runtime]
 7532   9752   
path = "../aws-runtime"
 7533   9753   
features = ["event-stream"]
 7534   9754   
version = "1.5.9"
 7535   9755   
 7536   9756   
[dependencies.aws-smithy-async]
 7537   9757   
path = "../aws-smithy-async"
 7538   9758   
version = "1.2.5"
 7539   9759   
 7540   9760   
[dependencies.aws-smithy-eventstream]
 7541   9761   
path = "../aws-smithy-eventstream"
 7542   9762   
version = "0.60.10"
 7543   9763   
 7544   9764   
[dependencies.aws-smithy-http]
 7545   9765   
path = "../aws-smithy-http"
 7546   9766   
features = ["event-stream"]
 7547         -
version = "0.62.2"
        9767  +
version = "0.62.3"
 7548   9768   
 7549   9769   
[dependencies.aws-smithy-json]
 7550   9770   
path = "../aws-smithy-json"
 7551   9771   
version = "0.61.4"
 7552   9772   
 7553   9773   
[dependencies.aws-smithy-runtime]
 7554   9774   
path = "../aws-smithy-runtime"
 7555   9775   
features = ["client"]
 7556   9776   
version = "1.8.5"
 7557   9777   
 7558   9778   
[dependencies.aws-smithy-runtime-api]
 7559   9779   
path = "../aws-smithy-runtime-api"
 7560   9780   
features = ["client", "http-02x"]
 7561   9781   
version = "1.8.5"
 7562   9782   
 7563   9783   
[dependencies.aws-smithy-types]
 7564   9784   
path = "../aws-smithy-types"
 7565   9785   
version = "1.3.2"
 7566   9786   
 7567   9787   
[dependencies.aws-types]
 7568   9788   
path = "../aws-types"
 7569   9789   
version = "1.3.8"
 7570   9790   
 7571   9791   
[dependencies.bytes]
 7572   9792   
version = "1.4.0"
 7573   9793   
 7574   9794   
[dependencies.fastrand]
 7575   9795   
version = "2.0.0"
 7576   9796   
 7577   9797   
[dependencies.http]
 7578   9798   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7579   9799   
index dabb0e0..34cbc15 100644
 7580         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9800  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7581   9801   
@@ -1,65 +1,65 @@
 7582   9802   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7583   9803   
[package]
 7584   9804   
name = "aws-sdk-polly"
 7585   9805   
version = "0.0.0-local"
 7586   9806   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7587   9807   
description = "AWS SDK for Amazon Polly"
 7588   9808   
edition = "2021"
 7589   9809   
license = "Apache-2.0"
 7590   9810   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7591   9811   
rust-version = "1.86.0"
 7592   9812   
readme = "README.md"
 7593   9813   
[package.metadata.smithy]
 7594   9814   
codegen-version = "ci"
 7595   9815   
[package.metadata.docs.rs]
 7596   9816   
all-features = true
 7597   9817   
targets = ["x86_64-unknown-linux-gnu"]
 7598   9818   
[dependencies.aws-credential-types]
 7599   9819   
path = "../aws-credential-types"
 7600   9820   
version = "1.2.4"
 7601   9821   
 7602   9822   
[dependencies.aws-runtime]
 7603   9823   
path = "../aws-runtime"
 7604   9824   
version = "1.5.9"
 7605   9825   
 7606   9826   
[dependencies.aws-sigv4]
 7607   9827   
path = "../aws-sigv4"
 7608         -
version = "1.3.3"
        9828  +
version = "1.3.4"
 7609   9829   
 7610   9830   
[dependencies.aws-smithy-async]
 7611   9831   
path = "../aws-smithy-async"
 7612   9832   
version = "1.2.5"
 7613   9833   
 7614   9834   
[dependencies.aws-smithy-http]
 7615   9835   
path = "../aws-smithy-http"
 7616         -
version = "0.62.2"
        9836  +
version = "0.62.3"
 7617   9837   
 7618   9838   
[dependencies.aws-smithy-json]
 7619   9839   
path = "../aws-smithy-json"
 7620   9840   
version = "0.61.4"
 7621   9841   
 7622   9842   
[dependencies.aws-smithy-runtime]
 7623   9843   
path = "../aws-smithy-runtime"
 7624   9844   
features = ["client"]
 7625   9845   
version = "1.8.5"
 7626   9846   
 7627   9847   
[dependencies.aws-smithy-runtime-api]
 7628   9848   
path = "../aws-smithy-runtime-api"
 7629   9849   
features = ["client", "http-02x"]
 7630   9850   
version = "1.8.5"
 7631   9851   
 7632   9852   
[dependencies.aws-smithy-types]
 7633   9853   
path = "../aws-smithy-types"
 7634   9854   
version = "1.3.2"
 7635   9855   
 7636   9856   
[dependencies.aws-types]
 7637   9857   
path = "../aws-types"
 7638   9858   
version = "1.3.8"
 7639   9859   
 7640   9860   
[dependencies.bytes]
 7641   9861   
version = "1.4.0"
 7642   9862   
 7643   9863   
[dependencies.fastrand]
 7644   9864   
version = "2.0.0"
 7645   9865   
 7646   9866   
[dependencies.http]
 7647   9867   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7648   9868   
index a884716..f3d8713 100644
 7649         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9869  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7650   9870   
@@ -1,61 +1,61 @@
 7651   9871   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7652   9872   
[package]
 7653   9873   
name = "aws-sdk-qldbsession"
 7654   9874   
version = "0.0.0-local"
 7655   9875   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7656   9876   
description = "AWS SDK for Amazon QLDB Session"
 7657   9877   
edition = "2021"
 7658   9878   
license = "Apache-2.0"
 7659   9879   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7660   9880   
rust-version = "1.86.0"
 7661   9881   
readme = "README.md"
 7662   9882   
[package.metadata.smithy]
 7663   9883   
codegen-version = "ci"
 7664   9884   
[package.metadata.docs.rs]
 7665   9885   
all-features = true
 7666   9886   
targets = ["x86_64-unknown-linux-gnu"]
 7667   9887   
[dependencies.aws-credential-types]
 7668   9888   
path = "../aws-credential-types"
 7669   9889   
version = "1.2.4"
 7670   9890   
 7671   9891   
[dependencies.aws-runtime]
 7672   9892   
path = "../aws-runtime"
 7673   9893   
version = "1.5.9"
 7674   9894   
 7675   9895   
[dependencies.aws-smithy-async]
 7676   9896   
path = "../aws-smithy-async"
 7677   9897   
version = "1.2.5"
 7678   9898   
 7679   9899   
[dependencies.aws-smithy-http]
 7680   9900   
path = "../aws-smithy-http"
 7681         -
version = "0.62.2"
        9901  +
version = "0.62.3"
 7682   9902   
 7683   9903   
[dependencies.aws-smithy-json]
 7684   9904   
path = "../aws-smithy-json"
 7685   9905   
version = "0.61.4"
 7686   9906   
 7687   9907   
[dependencies.aws-smithy-runtime]
 7688   9908   
path = "../aws-smithy-runtime"
 7689   9909   
features = ["client"]
 7690   9910   
version = "1.8.5"
 7691   9911   
 7692   9912   
[dependencies.aws-smithy-runtime-api]
 7693   9913   
path = "../aws-smithy-runtime-api"
 7694   9914   
features = ["client", "http-02x"]
 7695   9915   
version = "1.8.5"
 7696   9916   
 7697   9917   
[dependencies.aws-smithy-types]
 7698   9918   
path = "../aws-smithy-types"
 7699   9919   
version = "1.3.2"
 7700   9920   
 7701   9921   
[dependencies.aws-types]
 7702   9922   
path = "../aws-types"
 7703   9923   
version = "1.3.8"
 7704   9924   
 7705   9925   
[dependencies.bytes]
 7706   9926   
version = "1.4.0"
 7707   9927   
 7708   9928   
[dependencies.fastrand]
 7709   9929   
version = "2.0.0"
 7710   9930   
 7711   9931   
[dependencies.http]
 7712   9932   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7713   9933   
index 32a7dc9..a2c752d 100644
 7714         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9934  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7715   9935   
@@ -1,61 +1,61 @@
 7716   9936   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7717   9937   
[package]
 7718   9938   
name = "aws-sdk-route53"
 7719   9939   
version = "0.0.0-local"
 7720   9940   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7721   9941   
description = "AWS SDK for Amazon Route 53"
 7722   9942   
edition = "2021"
 7723   9943   
license = "Apache-2.0"
 7724   9944   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7725   9945   
rust-version = "1.86.0"
 7726   9946   
readme = "README.md"
 7727   9947   
[package.metadata.smithy]
 7728   9948   
codegen-version = "ci"
 7729   9949   
[package.metadata.docs.rs]
 7730   9950   
all-features = true
 7731   9951   
targets = ["x86_64-unknown-linux-gnu"]
 7732   9952   
[dependencies.aws-credential-types]
 7733   9953   
path = "../aws-credential-types"
 7734   9954   
version = "1.2.4"
 7735   9955   
 7736   9956   
[dependencies.aws-runtime]
 7737   9957   
path = "../aws-runtime"
 7738   9958   
version = "1.5.9"
 7739   9959   
 7740   9960   
[dependencies.aws-smithy-async]
 7741   9961   
path = "../aws-smithy-async"
 7742   9962   
version = "1.2.5"
 7743   9963   
 7744   9964   
[dependencies.aws-smithy-http]
 7745   9965   
path = "../aws-smithy-http"
 7746         -
version = "0.62.2"
        9966  +
version = "0.62.3"
 7747   9967   
 7748   9968   
[dependencies.aws-smithy-json]
 7749   9969   
path = "../aws-smithy-json"
 7750   9970   
version = "0.61.4"
 7751   9971   
 7752   9972   
[dependencies.aws-smithy-runtime]
 7753   9973   
path = "../aws-smithy-runtime"
 7754   9974   
features = ["client"]
 7755   9975   
version = "1.8.5"
 7756   9976   
 7757   9977   
[dependencies.aws-smithy-runtime-api]
 7758   9978   
path = "../aws-smithy-runtime-api"
 7759   9979   
features = ["client", "http-02x"]
 7760   9980   
version = "1.8.5"
 7761   9981   
 7762   9982   
[dependencies.aws-smithy-types]
 7763   9983   
path = "../aws-smithy-types"
 7764   9984   
version = "1.3.2"
 7765   9985   
 7766   9986   
[dependencies.aws-smithy-xml]
 7767   9987   
path = "../aws-smithy-xml"
 7768   9988   
version = "0.60.10"
 7769   9989   
 7770   9990   
[dependencies.aws-types]
 7771   9991   
path = "../aws-types"
 7772   9992   
version = "1.3.8"
 7773   9993   
 7774   9994   
[dependencies.fastrand]
 7775   9995   
version = "2.0.0"
 7776   9996   
 7777   9997   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7778   9998   
index f65e261..2f6bec0 100644
 7779         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
        9999  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7780  10000   
@@ -1,75 +1,75 @@
 7781  10001   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7782  10002   
[package]
 7783  10003   
name = "aws-sdk-s3"
 7784  10004   
version = "0.0.0-local"
 7785  10005   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7786  10006   
description = "AWS SDK for Amazon Simple Storage Service"
 7787  10007   
edition = "2021"
 7788  10008   
license = "Apache-2.0"
 7789  10009   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7790  10010   
rust-version = "1.86.0"
 7791  10011   
readme = "README.md"
 7792  10012   
[package.metadata.smithy]
 7793  10013   
codegen-version = "ci"
 7794  10014   
[package.metadata.docs.rs]
 7795  10015   
all-features = true
 7796  10016   
targets = ["x86_64-unknown-linux-gnu"]
 7797  10017   
[dependencies.aws-credential-types]
 7798  10018   
path = "../aws-credential-types"
 7799  10019   
version = "1.2.4"
 7800  10020   
 7801  10021   
[dependencies.aws-runtime]
 7802  10022   
path = "../aws-runtime"
 7803  10023   
features = ["event-stream", "http-02x"]
 7804  10024   
version = "1.5.9"
 7805  10025   
 7806  10026   
[dependencies.aws-sigv4]
 7807  10027   
path = "../aws-sigv4"
 7808         -
version = "1.3.3"
       10028  +
version = "1.3.4"
 7809  10029   
 7810  10030   
[dependencies.aws-smithy-async]
 7811  10031   
path = "../aws-smithy-async"
 7812  10032   
version = "1.2.5"
 7813  10033   
 7814  10034   
[dependencies.aws-smithy-checksums]
 7815  10035   
path = "../aws-smithy-checksums"
 7816  10036   
version = "0.63.5"
 7817  10037   
 7818  10038   
[dependencies.aws-smithy-eventstream]
 7819  10039   
path = "../aws-smithy-eventstream"
 7820  10040   
version = "0.60.10"
 7821  10041   
 7822  10042   
[dependencies.aws-smithy-http]
 7823  10043   
path = "../aws-smithy-http"
 7824  10044   
features = ["event-stream"]
 7825         -
version = "0.62.2"
       10045  +
version = "0.62.3"
 7826  10046   
 7827  10047   
[dependencies.aws-smithy-json]
 7828  10048   
path = "../aws-smithy-json"
 7829  10049   
version = "0.61.4"
 7830  10050   
 7831  10051   
[dependencies.aws-smithy-runtime]
 7832  10052   
path = "../aws-smithy-runtime"
 7833  10053   
features = ["client"]
 7834  10054   
version = "1.8.5"
 7835  10055   
 7836  10056   
[dependencies.aws-smithy-runtime-api]
 7837  10057   
path = "../aws-smithy-runtime-api"
 7838  10058   
features = ["client", "http-02x"]
 7839  10059   
version = "1.8.5"
 7840  10060   
 7841  10061   
[dependencies.aws-smithy-types]
 7842  10062   
path = "../aws-smithy-types"
 7843  10063   
version = "1.3.2"
 7844  10064   
 7845  10065   
[dependencies.aws-smithy-xml]
 7846  10066   
path = "../aws-smithy-xml"
 7847  10067   
version = "0.60.10"
 7848  10068   
 7849  10069   
[dependencies.aws-types]
 7850  10070   
path = "../aws-types"
 7851  10071   
version = "1.3.8"
 7852  10072   
 7853  10073   
[dependencies.bytes]
 7854  10074   
version = "1.4.0"
 7855  10075   
 7856  10076   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7857  10077   
index b4d1cdd..861c0cc 100644
 7858         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       10078  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7859  10079   
@@ -1,61 +1,61 @@
 7860  10080   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7861  10081   
[package]
 7862  10082   
name = "aws-sdk-s3control"
 7863  10083   
version = "0.0.0-local"
 7864  10084   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7865  10085   
description = "AWS SDK for AWS S3 Control"
 7866  10086   
edition = "2021"
 7867  10087   
license = "Apache-2.0"
 7868  10088   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7869  10089   
rust-version = "1.86.0"
 7870  10090   
readme = "README.md"
 7871  10091   
[package.metadata.smithy]
 7872  10092   
codegen-version = "ci"
 7873  10093   
[package.metadata.docs.rs]
 7874  10094   
all-features = true
 7875  10095   
targets = ["x86_64-unknown-linux-gnu"]
 7876  10096   
[dependencies.aws-credential-types]
 7877  10097   
path = "../aws-credential-types"
 7878  10098   
version = "1.2.4"
 7879  10099   
 7880  10100   
[dependencies.aws-runtime]
 7881  10101   
path = "../aws-runtime"
 7882  10102   
version = "1.5.9"
 7883  10103   
 7884  10104   
[dependencies.aws-smithy-async]
 7885  10105   
path = "../aws-smithy-async"
 7886  10106   
version = "1.2.5"
 7887  10107   
 7888  10108   
[dependencies.aws-smithy-http]
 7889  10109   
path = "../aws-smithy-http"
 7890         -
version = "0.62.2"
       10110  +
version = "0.62.3"
 7891  10111   
 7892  10112   
[dependencies.aws-smithy-json]
 7893  10113   
path = "../aws-smithy-json"
 7894  10114   
version = "0.61.4"
 7895  10115   
 7896  10116   
[dependencies.aws-smithy-runtime]
 7897  10117   
path = "../aws-smithy-runtime"
 7898  10118   
features = ["client"]
 7899  10119   
version = "1.8.5"
 7900  10120   
 7901  10121   
[dependencies.aws-smithy-runtime-api]
 7902  10122   
path = "../aws-smithy-runtime-api"
 7903  10123   
features = ["client", "http-02x"]
 7904  10124   
version = "1.8.5"
 7905  10125   
 7906  10126   
[dependencies.aws-smithy-types]
 7907  10127   
path = "../aws-smithy-types"
 7908  10128   
version = "1.3.2"
 7909  10129   
 7910  10130   
[dependencies.aws-smithy-xml]
 7911  10131   
path = "../aws-smithy-xml"
 7912  10132   
version = "0.60.10"
 7913  10133   
 7914  10134   
[dependencies.aws-types]
 7915  10135   
path = "../aws-types"
 7916  10136   
version = "1.3.8"
 7917  10137   
 7918  10138   
[dependencies.fastrand]
 7919  10139   
version = "2.0.0"
 7920  10140   
 7921  10141   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7922  10142   
index 2cde182..fc367f4 100644
 7923         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       10143  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7924  10144   
@@ -1,61 +1,61 @@
 7925  10145   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7926  10146   
[package]
 7927  10147   
name = "aws-sdk-sso"
 7928  10148   
version = "0.0.0-local"
 7929  10149   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7930  10150   
description = "AWS SDK for AWS Single Sign-On"
 7931  10151   
edition = "2021"
 7932  10152   
license = "Apache-2.0"
 7933  10153   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7934  10154   
rust-version = "1.86.0"
 7935  10155   
readme = "README.md"
 7936  10156   
[package.metadata.smithy]
 7937  10157   
codegen-version = "ci"
 7938  10158   
[package.metadata.docs.rs]
 7939  10159   
all-features = true
 7940  10160   
targets = ["x86_64-unknown-linux-gnu"]
 7941  10161   
[dependencies.aws-credential-types]
 7942  10162   
path = "../aws-credential-types"
 7943  10163   
version = "1.2.4"
 7944  10164   
 7945  10165   
[dependencies.aws-runtime]
 7946  10166   
path = "../aws-runtime"
 7947  10167   
version = "1.5.9"
 7948  10168   
 7949  10169   
[dependencies.aws-smithy-async]
 7950  10170   
path = "../aws-smithy-async"
 7951  10171   
version = "1.2.5"
 7952  10172   
 7953  10173   
[dependencies.aws-smithy-http]
 7954  10174   
path = "../aws-smithy-http"
 7955         -
version = "0.62.2"
       10175  +
version = "0.62.3"
 7956  10176   
 7957  10177   
[dependencies.aws-smithy-json]
 7958  10178   
path = "../aws-smithy-json"
 7959  10179   
version = "0.61.4"
 7960  10180   
 7961  10181   
[dependencies.aws-smithy-runtime]
 7962  10182   
path = "../aws-smithy-runtime"
 7963  10183   
features = ["client"]
 7964  10184   
version = "1.8.5"
 7965  10185   
 7966  10186   
[dependencies.aws-smithy-runtime-api]
 7967  10187   
path = "../aws-smithy-runtime-api"
 7968  10188   
features = ["client", "http-02x"]
 7969  10189   
version = "1.8.5"
 7970  10190   
 7971  10191   
[dependencies.aws-smithy-types]
 7972  10192   
path = "../aws-smithy-types"
 7973  10193   
version = "1.3.2"
 7974  10194   
 7975  10195   
[dependencies.aws-types]
 7976  10196   
path = "../aws-types"
 7977  10197   
version = "1.3.8"
 7978  10198   
 7979  10199   
[dependencies.bytes]
 7980  10200   
version = "1.4.0"
 7981  10201   
 7982  10202   
[dependencies.fastrand]
 7983  10203   
version = "2.0.0"
 7984  10204   
 7985  10205   
[dependencies.http]
 7986  10206   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7987  10207   
index 7a34c16..588d0bd 100644
 7988         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10208  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 7989  10209   
@@ -1,61 +1,61 @@
 7990  10210   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7991  10211   
[package]
 7992  10212   
name = "aws-sdk-ssooidc"
 7993  10213   
version = "0.0.0-local"
 7994  10214   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7995  10215   
description = "AWS SDK for AWS SSO OIDC"
 7996  10216   
edition = "2021"
 7997  10217   
license = "Apache-2.0"
 7998  10218   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7999  10219   
rust-version = "1.86.0"
 8000  10220   
readme = "README.md"
 8001  10221   
[package.metadata.smithy]
 8002  10222   
codegen-version = "ci"
 8003  10223   
[package.metadata.docs.rs]
 8004  10224   
all-features = true
 8005  10225   
targets = ["x86_64-unknown-linux-gnu"]
 8006  10226   
[dependencies.aws-credential-types]
 8007  10227   
path = "../aws-credential-types"
 8008  10228   
version = "1.2.4"
 8009  10229   
 8010  10230   
[dependencies.aws-runtime]
 8011  10231   
path = "../aws-runtime"
 8012  10232   
version = "1.5.9"
 8013  10233   
 8014  10234   
[dependencies.aws-smithy-async]
 8015  10235   
path = "../aws-smithy-async"
 8016  10236   
version = "1.2.5"
 8017  10237   
 8018  10238   
[dependencies.aws-smithy-http]
 8019  10239   
path = "../aws-smithy-http"
 8020         -
version = "0.62.2"
       10240  +
version = "0.62.3"
 8021  10241   
 8022  10242   
[dependencies.aws-smithy-json]
 8023  10243   
path = "../aws-smithy-json"
 8024  10244   
version = "0.61.4"
 8025  10245   
 8026  10246   
[dependencies.aws-smithy-runtime]
 8027  10247   
path = "../aws-smithy-runtime"
 8028  10248   
features = ["client"]
 8029  10249   
version = "1.8.5"
 8030  10250   
 8031  10251   
[dependencies.aws-smithy-runtime-api]
 8032  10252   
path = "../aws-smithy-runtime-api"
 8033  10253   
features = ["client", "http-02x"]
 8034  10254   
version = "1.8.5"
 8035  10255   
 8036  10256   
[dependencies.aws-smithy-types]
 8037  10257   
path = "../aws-smithy-types"
 8038  10258   
version = "1.3.2"
 8039  10259   
 8040  10260   
[dependencies.aws-types]
 8041  10261   
path = "../aws-types"
 8042  10262   
version = "1.3.8"
 8043  10263   
 8044  10264   
[dependencies.bytes]
 8045  10265   
version = "1.4.0"
 8046  10266   
 8047  10267   
[dependencies.fastrand]
 8048  10268   
version = "2.0.0"
 8049  10269   
 8050  10270   
[dependencies.http]
 8051  10271   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 8052  10272   
index 895dfb3..f2ce34e 100644
 8053         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 8054  10274   
@@ -1,61 +1,61 @@
 8055  10275   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8056  10276   
[package]
 8057  10277   
name = "aws-sdk-sts"
 8058  10278   
version = "0.0.0-local"
 8059  10279   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8060  10280   
description = "AWS SDK for AWS Security Token Service"
 8061  10281   
edition = "2021"
 8062  10282   
license = "Apache-2.0"
 8063  10283   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8064  10284   
rust-version = "1.86.0"
 8065  10285   
readme = "README.md"
 8066  10286   
[package.metadata.smithy]
 8067  10287   
codegen-version = "ci"
 8068  10288   
[package.metadata.docs.rs]
 8069  10289   
all-features = true
 8070  10290   
targets = ["x86_64-unknown-linux-gnu"]
 8071  10291   
[dependencies.aws-credential-types]
 8072  10292   
path = "../aws-credential-types"
 8073  10293   
version = "1.2.4"
 8074  10294   
 8075  10295   
[dependencies.aws-runtime]
 8076  10296   
path = "../aws-runtime"
 8077  10297   
version = "1.5.9"
 8078  10298   
 8079  10299   
[dependencies.aws-smithy-async]
 8080  10300   
path = "../aws-smithy-async"
 8081  10301   
version = "1.2.5"
 8082  10302   
 8083  10303   
[dependencies.aws-smithy-http]
 8084  10304   
path = "../aws-smithy-http"
 8085         -
version = "0.62.2"
       10305  +
version = "0.62.3"
 8086  10306   
 8087  10307   
[dependencies.aws-smithy-json]
 8088  10308   
path = "../aws-smithy-json"
 8089  10309   
version = "0.61.4"
 8090  10310   
 8091  10311   
[dependencies.aws-smithy-query]
 8092  10312   
path = "../aws-smithy-query"
 8093  10313   
version = "0.60.7"
 8094  10314   
 8095  10315   
[dependencies.aws-smithy-runtime]
 8096  10316   
path = "../aws-smithy-runtime"
 8097  10317   
features = ["client"]
 8098  10318   
version = "1.8.5"
 8099  10319   
 8100  10320   
[dependencies.aws-smithy-runtime-api]
 8101  10321   
path = "../aws-smithy-runtime-api"
 8102  10322   
features = ["client", "http-02x"]
 8103  10323   
version = "1.8.5"
 8104  10324   
 8105  10325   
[dependencies.aws-smithy-types]
 8106  10326   
path = "../aws-smithy-types"
 8107  10327   
version = "1.3.2"
 8108  10328   
 8109  10329   
[dependencies.aws-smithy-xml]
 8110  10330   
path = "../aws-smithy-xml"
 8111  10331   
version = "0.60.10"
 8112  10332   
 8113  10333   
[dependencies.aws-types]
 8114  10334   
path = "../aws-types"
 8115  10335   
version = "1.3.8"
 8116  10336   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8117  10337   
index d556561..91178b6 100644
 8118         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10338  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8119  10339   
@@ -1,61 +1,61 @@
 8120  10340   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8121  10341   
[package]
 8122  10342   
name = "aws-sdk-timestreamquery"
 8123  10343   
version = "0.0.0-local"
 8124  10344   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8125  10345   
description = "AWS SDK for Amazon Timestream Query"
 8126  10346   
edition = "2021"
 8127  10347   
license = "Apache-2.0"
 8128  10348   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8129  10349   
rust-version = "1.86.0"
 8130  10350   
readme = "README.md"
 8131  10351   
[package.metadata.smithy]
 8132  10352   
codegen-version = "ci"
 8133  10353   
[package.metadata.docs.rs]
 8134  10354   
all-features = true
 8135  10355   
targets = ["x86_64-unknown-linux-gnu"]
 8136  10356   
[dependencies.aws-credential-types]
 8137  10357   
path = "../aws-credential-types"
 8138  10358   
version = "1.2.4"
 8139  10359   
 8140  10360   
[dependencies.aws-runtime]
 8141  10361   
path = "../aws-runtime"
 8142  10362   
version = "1.5.9"
 8143  10363   
 8144  10364   
[dependencies.aws-smithy-async]
 8145  10365   
path = "../aws-smithy-async"
 8146  10366   
version = "1.2.5"
 8147  10367   
 8148  10368   
[dependencies.aws-smithy-http]
 8149  10369   
path = "../aws-smithy-http"
 8150         -
version = "0.62.2"
       10370  +
version = "0.62.3"
 8151  10371   
 8152  10372   
[dependencies.aws-smithy-json]
 8153  10373   
path = "../aws-smithy-json"
 8154  10374   
version = "0.61.4"
 8155  10375   
 8156  10376   
[dependencies.aws-smithy-runtime]
 8157  10377   
path = "../aws-smithy-runtime"
 8158  10378   
features = ["client"]
 8159  10379   
version = "1.8.5"
 8160  10380   
 8161  10381   
[dependencies.aws-smithy-runtime-api]
 8162  10382   
path = "../aws-smithy-runtime-api"
 8163  10383   
features = ["client", "http-02x"]
 8164  10384   
version = "1.8.5"
 8165  10385   
 8166  10386   
[dependencies.aws-smithy-types]
 8167  10387   
path = "../aws-smithy-types"
 8168  10388   
version = "1.3.2"
 8169  10389   
 8170  10390   
[dependencies.aws-types]
 8171  10391   
path = "../aws-types"
 8172  10392   
version = "1.3.8"
 8173  10393   
 8174  10394   
[dependencies.bytes]
 8175  10395   
version = "1.4.0"
 8176  10396   
 8177  10397   
[dependencies.fastrand]
 8178  10398   
version = "2.0.0"
 8179  10399   
 8180  10400   
[dependencies.http]
 8181  10401   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8182  10402   
index 0c56e4c..95731e3 100644
 8183         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10403  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8184  10404   
@@ -1,61 +1,61 @@
 8185  10405   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8186  10406   
[package]
 8187  10407   
name = "aws-sdk-timestreamwrite"
 8188  10408   
version = "0.0.0-local"
 8189  10409   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8190  10410   
description = "AWS SDK for Amazon Timestream Write"
 8191  10411   
edition = "2021"
 8192  10412   
license = "Apache-2.0"
 8193  10413   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8194  10414   
rust-version = "1.86.0"
 8195  10415   
readme = "README.md"
 8196  10416   
[package.metadata.smithy]
 8197  10417   
codegen-version = "ci"
 8198  10418   
[package.metadata.docs.rs]
 8199  10419   
all-features = true
 8200  10420   
targets = ["x86_64-unknown-linux-gnu"]
 8201  10421   
[dependencies.aws-credential-types]
 8202  10422   
path = "../aws-credential-types"
 8203  10423   
version = "1.2.4"
 8204  10424   
 8205  10425   
[dependencies.aws-runtime]
 8206  10426   
path = "../aws-runtime"
 8207  10427   
version = "1.5.9"
 8208  10428   
 8209  10429   
[dependencies.aws-smithy-async]
 8210  10430   
path = "../aws-smithy-async"
 8211  10431   
version = "1.2.5"
 8212  10432   
 8213  10433   
[dependencies.aws-smithy-http]
 8214  10434   
path = "../aws-smithy-http"
 8215         -
version = "0.62.2"
       10435  +
version = "0.62.3"
 8216  10436   
 8217  10437   
[dependencies.aws-smithy-json]
 8218  10438   
path = "../aws-smithy-json"
 8219  10439   
version = "0.61.4"
 8220  10440   
 8221  10441   
[dependencies.aws-smithy-runtime]
 8222  10442   
path = "../aws-smithy-runtime"
 8223  10443   
features = ["client"]
 8224  10444   
version = "1.8.5"
 8225  10445   
 8226  10446   
[dependencies.aws-smithy-runtime-api]
 8227  10447   
path = "../aws-smithy-runtime-api"
 8228  10448   
features = ["client", "http-02x"]
 8229  10449   
version = "1.8.5"
 8230  10450   
 8231  10451   
[dependencies.aws-smithy-types]
 8232  10452   
path = "../aws-smithy-types"
 8233  10453   
version = "1.3.2"
 8234  10454   
 8235  10455   
[dependencies.aws-types]
 8236  10456   
path = "../aws-types"
 8237  10457   
version = "1.3.8"
 8238  10458   
 8239  10459   
[dependencies.bytes]
 8240  10460   
version = "1.4.0"
 8241  10461   
 8242  10462   
[dependencies.fastrand]
 8243  10463   
version = "2.0.0"
 8244  10464   
 8245  10465   
[dependencies.http]
 8246  10466   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8247  10467   
index 5b35037..9fb220a 100644
 8248         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10468  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8249  10469   
@@ -1,71 +1,71 @@
 8250  10470   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8251  10471   
[package]
 8252  10472   
name = "aws-sdk-transcribestreaming"
 8253  10473   
version = "0.0.0-local"
 8254  10474   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8255  10475   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 8256  10476   
edition = "2021"
 8257  10477   
license = "Apache-2.0"
 8258  10478   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8259  10479   
rust-version = "1.86.0"
 8260  10480   
readme = "README.md"
 8261  10481   
[package.metadata.smithy]
 8262  10482   
codegen-version = "ci"
 8263  10483   
[package.metadata.docs.rs]
 8264  10484   
all-features = true
 8265  10485   
targets = ["x86_64-unknown-linux-gnu"]
 8266  10486   
[dependencies.aws-credential-types]
 8267  10487   
path = "../aws-credential-types"
 8268  10488   
version = "1.2.4"
 8269  10489   
 8270  10490   
[dependencies.aws-runtime]
 8271  10491   
path = "../aws-runtime"
 8272  10492   
features = ["event-stream"]
 8273  10493   
version = "1.5.9"
 8274  10494   
 8275  10495   
[dependencies.aws-sigv4]
 8276  10496   
path = "../aws-sigv4"
 8277         -
version = "1.3.3"
       10497  +
version = "1.3.4"
 8278  10498   
 8279  10499   
[dependencies.aws-smithy-async]
 8280  10500   
path = "../aws-smithy-async"
 8281  10501   
version = "1.2.5"
 8282  10502   
 8283  10503   
[dependencies.aws-smithy-eventstream]
 8284  10504   
path = "../aws-smithy-eventstream"
 8285  10505   
version = "0.60.10"
 8286  10506   
 8287  10507   
[dependencies.aws-smithy-http]
 8288  10508   
path = "../aws-smithy-http"
 8289  10509   
features = ["event-stream"]
 8290         -
version = "0.62.2"
       10510  +
version = "0.62.3"
 8291  10511   
 8292  10512   
[dependencies.aws-smithy-json]
 8293  10513   
path = "../aws-smithy-json"
 8294  10514   
version = "0.61.4"
 8295  10515   
 8296  10516   
[dependencies.aws-smithy-runtime]
 8297  10517   
path = "../aws-smithy-runtime"
 8298  10518   
features = ["client"]
 8299  10519   
version = "1.8.5"
 8300  10520