AWS SDK

AWS SDK

rev. 3964b40d6806bc3f52bd311e2c791030c3325f2c (ignoring whitespace)

Files changed:

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

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

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

@@ -1,0 +8336,10551 @@
    1         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 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-empty-query-key/get-vanilla-empty-query-key.sreq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sreq
    3      1   
deleted file mode 100644
    4      2   
index f081591..0000000
    5         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-empty-query-key/get-vanilla-empty-query-key.sreq
           3  +
++ /dev/null
    6      4   
@@ -1,4 +0,0 @@
    7         -
GET /?Param1=value1 HTTP/1.1
    8         -
Host:example.amazonaws.com
    9         -
X-Amz-Date:20150830T123600Z
   10         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
   11      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.authz 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.authz
   12      6   
deleted file mode 100644
   13      7   
index c781fe6..0000000
   14         -
-- 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.authz
           8  +
++ /dev/null
   15      9   
@@ -1 +0,0 @@
   16         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
   17     10   
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
   18     11   
deleted file mode 100644
   19     12   
index b29c1e0..0000000
   20         -
-- 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
          13  +
++ /dev/null
   21     14   
@@ -1,2 +0,0 @@
   22         -
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
   23         -
Host:example.amazonaws.com
   24     15   
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
   25     16   
deleted file mode 100644
   26     17   
index e55b6b8..0000000
   27         -
-- 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
          18  +
++ /dev/null
   28     19   
@@ -1,4 +0,0 @@
   29         -
GET /?Param2=value2&Param1=value1 HTTP/1.1
   30         -
Host:example.amazonaws.com
   31         -
X-Amz-Date:20150830T123600Z
   32         -
Authorization: AWS4-HMAC-SHA256 Credential=ANOTREAL/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947
   33     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.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
   34     21   
deleted file mode 100644
   35     22   
index 812cd3f..0000000
   36         -
-- 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
          23  +
++ /dev/null
   37     24   
@@ -1 +0,0 @@
   38         -
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
   39     25   
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
   40     26   
deleted file mode 100644
   41     27   
index 375a496..0000000
   42         -
-- 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
          28  +
++ /dev/null
   43     29   
@@ -1,3 +0,0 @@
   44         -
GET /?Param1=value2&Param1=Value1 HTTP/1.1
   45         -
Host:example.amazonaws.com
   46         -
X-Amz-Date:20150830T123600Z
              \
 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-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
   48     31   
deleted file mode 100644
   49     32   
index bc8e652..0000000
   50         -
-- 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
          33  +
++ /dev/null
   51     34   
@@ -1,4 +0,0 @@
   52         -
GET /?Param1=value2&Param1=Value1 HTTP/1.1
   53         -
Host:example.amazonaws.com
   54         -
X-Amz-Date:20150830T123600Z
   55         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eedbc4e291e521cf13422ffca22be7d2eb8146eecf653089df300a15b2382bd1
              \
 No newline at end of file
   56     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.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
   57     36   
deleted file mode 100644
   58     37   
index b8ad91f..0000000
   59         -
-- 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
          38  +
++ /dev/null
   60     39   
@@ -1 +0,0 @@
   61         -
AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5772eed61e12b33fae39ee5e7012498b51d56abc0abb7c60486157bd471c4694
              \
 No newline at end of file
   62     40   
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
   63     41   
deleted file mode 100644
   64     42   
index 9255bee..0000000
   65         -
-- 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
          43  +
++ /dev/null
   66     44   
@@ -1,3 +0,0 @@
   67         -
GET /?Param1=value2&Param1=value1 HTTP/1.1
   68         -
Host:example.amazonaws.com
   69         -
X-Amz-Date:20150830T123600Z
              \
 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-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
   71     46   
deleted file mode 100644
   72     47   
index 4793e21..0000000
   73         -
-- 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
          48  +
++ /dev/null
   74     49   
@@ -1,4 +0,0 @@
   75         -
GET /?Param1=value2&Param1=value1 HTTP/1.1
   76         -
Host:example.amazonaws.com
   77         -
X-Amz-Date:20150830T123600Z
   78         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5772eed61e12b33fae39ee5e7012498b51d56abc0abb7c60486157bd471c4694
              \
 No newline at end of file
   79     50   
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
   80     51   
deleted file mode 100644
   81     52   
index a44ca5b..0000000
   82         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.authz
          53  +
++ /dev/null
   83     54   
@@ -1 +0,0 @@
   84         -
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
   85     55   
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
   86     56   
deleted file mode 100644
   87     57   
index 551c027..0000000
   88         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
   92     61   
deleted file mode 100644
   93     62   
index d739b01..0000000
   94         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sreq
          63  +
++ /dev/null
   95     64   
@@ -1,4 +0,0 @@
   96         -
GET / 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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
  101     66   
deleted file mode 100644
  102     67   
index e016c3d..0000000
  103         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.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=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 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-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
  107     71   
deleted file mode 100644
  108     72   
index 7baf4c8..0000000
  109         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sreq
          73  +
++ /dev/null
  110     74   
@@ -1,4 +0,0 @@
  111         -
GET /?ሴ=bar 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=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
  115     75   
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
  116     76   
deleted file mode 100644
  117     77   
index 551c027..0000000
  118         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.authz
          78  +
++ /dev/null
  119     79   
@@ -1 +0,0 @@
  120         -
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
  121     80   
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
  122     81   
deleted file mode 100644
  123     82   
index d739b01..0000000
  124         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sreq
          83  +
++ /dev/null
  125     84   
@@ -1,4 +0,0 @@
  126         -
GET / HTTP/1.1
  127         -
Host:example.amazonaws.com
  128         -
X-Amz-Date:20150830T123600Z
  129         -
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
  130     85   
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
  131     86   
deleted file mode 100644
  132     87   
index 1336241..0000000
  133         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/iam/iam.creq
          88  +
++ /dev/null
  134     89   
@@ -1,4 +0,0 @@
  135         -
AWS4-HMAC-SHA256
  136         -
20150830T123600Z
  137         -
20150830/us-east-1/iam/aws4_request
  138         -
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59
  139     90   
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
  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-relative/get-relative-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-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
  146     96   
deleted file mode 100644
  147     97   
index cbdebe2..0000000
  148         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sreq
          98  +
++ /dev/null
  149     99   
@@ -1,4 +0,0 @@
  150         -
GET /example1/example2/../.. 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-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
  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-relative/get-relative.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-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
  161    106   
deleted file mode 100644
  162    107   
index 4f59e7d..0000000
  163         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sreq
         108  +
++ /dev/null
  164    109   
@@ -1,4 +0,0 @@
  165         -
GET /example/.. 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-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
  170    111   
deleted file mode 100644
  171    112   
index 551c027..0000000
  172         -
-- 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
         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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
  176    116   
deleted file mode 100644
  177    117   
index 23a2b41..0000000
  178         -
-- 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
         118  +
++ /dev/null
  179    119   
@@ -1,4 +0,0 @@
  180         -
GET /./ 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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
  185    121   
deleted file mode 100644
  186    122   
index b76ca1e..0000000
  187         -
-- 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
         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=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 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-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
  191    126   
deleted file mode 100644
  192    127   
index 8096609..0000000
  193         -
-- 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
         128  +
++ /dev/null
  194    129   
@@ -1,4 +0,0 @@
  195         -
GET /./example 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=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 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-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
  200    131   
deleted file mode 100644
  201    132   
index 551c027..0000000
  202         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
  206    136   
deleted file mode 100644
  207    137   
index cde31b4..0000000
  208         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sreq
         138  +
++ /dev/null
  209    139   
@@ -1,4 +0,0 @@
  210         -
GET // 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=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 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-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
  215    141   
deleted file mode 100644
  216    142   
index 307c105..0000000
  217         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.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=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 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-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
  221    146   
deleted file mode 100644
  222    147   
index c84a80d..0000000
  223         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sreq
         148  +
++ /dev/null
  224    149   
@@ -1,4 +0,0 @@
  225         -
GET //example// 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=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 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/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
  230    151   
deleted file mode 100644
  231    152   
index 832d8a5..0000000
  232         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.authz
         153  +
++ /dev/null
  233    154   
@@ -1 +0,0 @@
  234         -
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
  235    155   
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
  236    156   
deleted file mode 100644
  237    157   
index eefa20c..0000000
  238         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sreq
         158  +
++ /dev/null
  239    159   
@@ -1,4 +0,0 @@
  240         -
GET /example space/ HTTP/1.1
  241         -
Host:example.amazonaws.com
  242         -
X-Amz-Date:20150830T123600Z
  243         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
  244    160   
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
  245    161   
deleted file mode 100644
  246    162   
index c2fcb27..0000000
  247         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/normalize-path.txt
         163  +
++ /dev/null
  248    164   
@@ -1,3 +0,0 @@
  249         -
A note about signing requests to Amazon S3:
  250         -

  251         -
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
  252    165   
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
  253    166   
deleted file mode 100644
  254    167   
index 89e572e..0000000
  255         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.authz
         168  +
++ /dev/null
  256    169   
@@ -1 +0,0 @@
  257         -
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
  258    170   
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
  259    171   
deleted file mode 100644
  260    172   
index fcf23ce..0000000
  261         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sreq
         173  +
++ /dev/null
  262    174   
@@ -1,4 +0,0 @@
  263         -
POST / HTTP/1.1
  264         -
Host:example.amazonaws.com
  265         -
X-Amz-Date:20150830T123600Z
  266         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
  267    175   
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
  268    176   
deleted file mode 100644
  269    177   
index a62589f..0000000
  270         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.authz
         178  +
++ /dev/null
  271    179   
@@ -1 +0,0 @@
  272         -
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
  273    180   
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
  274    181   
deleted file mode 100644
  275    182   
index b4b78a1..0000000
  276         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sreq
         183  +
++ /dev/null
  277    184   
@@ -1,5 +0,0 @@
  278         -
POST / HTTP/1.1
  279         -
Host:example.amazonaws.com
  280         -
My-Header1:value1
  281         -
X-Amz-Date:20150830T123600Z
  282         -
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
  283    185   
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
  284    186   
deleted file mode 100644
  285    187   
index d9e52a3..0000000
  286         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.authz
         188  +
++ /dev/null
  287    189   
@@ -1 +0,0 @@
  288         -
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
  289    190   
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
  290    191   
deleted file mode 100644
  291    192   
index 99c3210..0000000
  292         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sreq
         193  +
++ /dev/null
  293    194   
@@ -1,5 +0,0 @@
  294         -
POST / HTTP/1.1
  295         -
Host:example.amazonaws.com
  296         -
My-Header1:VALUE1
  297         -
X-Amz-Date:20150830T123600Z
  298         -
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
  299    195   
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
  300    196   
deleted file mode 100644
  301    197   
index 89e572e..0000000
  302         -
-- 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
         198  +
++ /dev/null
  303    199   
@@ -1 +0,0 @@
  304         -
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
  305    200   
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
  306    201   
deleted file mode 100644
  307    202   
index 64aa046..0000000
  308         -
-- 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
         203  +
++ /dev/null
  309    204   
@@ -1 +0,0 @@
  310         -
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
  311    205   
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
  312    206   
deleted file mode 100644
  313    207   
index cc34282..0000000
  314         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-sts-token/readme.txt
         208  +
++ /dev/null
  315    209   
@@ -1,15 +0,0 @@
  316         -
A note about using temporary security credentials:
  317         -

  318         -
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).
  319         -

  320         -
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.
  321         -

  322         -
The test suite has 2 examples:
  323         -

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

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

  328         -
The test suite uses this example value for X-Amz-Security-Token:
  329         -

  330         -
AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
              \
 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-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
  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-empty-query-value/post-vanilla-empty-query-value.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-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
  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-empty-query-value/post-vanilla-empty-query-value.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-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
  347    221   
deleted file mode 100644
  348    222   
index 44280cd..0000000
  349         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.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=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 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-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
  353    226   
deleted file mode 100644
  354    227   
index 82af150..0000000
  355         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sreq
         228  +
++ /dev/null
  356    229   
@@ -1,4 +0,0 @@
  357         -
POST /?Param1=value1 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=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 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-vanilla/post-vanilla.authz b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
  362    231   
deleted file mode 100644
  363    232   
index 89e572e..0000000
  364         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.authz
         233  +
++ /dev/null
  365    234   
@@ -1 +0,0 @@
  366         -
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
  367    235   
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
  368    236   
deleted file mode 100644
  369    237   
index a5ada0d..0000000
  370         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sreq
         238  +
++ /dev/null
  371    239   
@@ -1,4 +0,0 @@
  372         -
POST / HTTP/1.1
  373         -
Host:example.amazonaws.com
  374         -
X-Amz-Date:20150830T123600Z
  375         -
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
  376    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.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
  377    241   
deleted file mode 100644
  378    242   
index df90ca3..0000000
  379         -
-- 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
         243  +
++ /dev/null
  380    244   
@@ -1 +0,0 @@
  381         -
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
  382    245   
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
  383    246   
deleted file mode 100644
  384    247   
index 457b0d5..0000000
  385         -
-- 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
         248  +
++ /dev/null
  386    249   
@@ -1,9 +0,0 @@
  387         -
POST
  388         -
/
  389         -
Param1=value1
  390         -
content-type:application/x-www-form-urlencoded; charset=utf-8
  391         -
host:example.amazonaws.com
  392         -
x-amz-date:20150830T123600Z
  393         -
  394         -
content-type;host;x-amz-date
  395         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
  396    250   
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
  397    251   
deleted file mode 100644
  398    252   
index b8ecb89..0000000
  399         -
-- 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
         253  +
++ /dev/null
  400    254   
@@ -1,7 +0,0 @@
  401         -
POST / HTTP/1.1
  402         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  403         -
Host:example.amazonaws.com
  404         -
X-Amz-Date:20150830T123600Z
  405         -
Authorization: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=ad1ac0c5fa1793b9b9d23894903b9ce84044d014533a633091e12c840473b393
  406         -
  407         -
Param1=value1
              \
 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.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
  409    256   
deleted file mode 100644
  410    257   
index 79077d2..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.authz
         258  +
++ /dev/null
  412    259   
@@ -1 +0,0 @@
  413         -
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
  414    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.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
  415    261   
deleted file mode 100644
  416    262   
index 7852617..0000000
  417         -
-- 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
         263  +
++ /dev/null
  418    264   
@@ -1,4 +0,0 @@
  419         -
POST / HTTP/1.1
  420         -
Content-Type:application/x-www-form-urlencoded; charset=utf-8
  421         -
Host:example.amazonaws.com
  422         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
  423    265   
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
  424    266   
deleted file mode 100644
  425    267   
index 3e2e571..0000000
  426         -
-- 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
         268  +
++ /dev/null
  427    269   
@@ -1,4 +0,0 @@
  428         -
POST / HTTP/1.1
  429         -
Host:example.amazonaws.com
  430         -
X-Amz-Date:20150830T123600Z
  431         -
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
  432    270   
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
  433    271   
deleted file mode 100644
  434    272   
index 89ceae8..0000000
  435         -
-- 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
         273  +
++ /dev/null
  436    274   
@@ -1,4 +0,0 @@
  437         -
AWS4-HMAC-SHA256
  438         -
20150830T123600Z
  439         -
20150830/us-east-1/service/aws4_request
  440         -
6a42edc18395dd67cc71407d4307ff29ab1646b08c1a0107edb319e08e2bc584
              \
 No newline at end of file
  441    275   
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
  442    276   
deleted file mode 100755
  443    277   
index d645695..0000000
  444         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/LICENSE
         278  +
++ /dev/null
  445    279   
@@ -1,202 +0,0 @@
  446         -
  447         -
                                 Apache License
  448         -
                           Version 2.0, January 2004
  449         -
                        http://www.apache.org/licenses/
  450         -
  451         -
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
  452         -
  453         -
   1. Definitions.
  454         -
  455         -
      "License" shall mean the terms and conditions for use, reproduction,
  456         -
      and distribution as defined by Sections 1 through 9 of this document.
  457         -
  458         -
      "Licensor" shall mean the copyright owner or entity authorized by
  459         -
      the copyright owner that is granting the License.
  460         -
  461         -
      "Legal Entity" shall mean the union of the acting entity and all
  462         -
      other entities that control, are controlled by, or are under common
  463         -
      control with that entity. For the purposes of this definition,
  464         -
      "control" means (i) the power, direct or indirect, to cause the
  465         -
      direction or management of such entity, whether by contract or
  466         -
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
  467         -
      outstanding shares, or (iii) beneficial ownership of such entity.
  468         -
  469         -
      "You" (or "Your") shall mean an individual or Legal Entity
  470         -
      exercising permissions granted by this License.
  471         -
  472         -
      "Source" form shall mean the preferred form for making modifications,
  473         -
      including but not limited to software source code, documentation
  474         -
      source, and configuration files.
  475         -
  476         -
      "Object" form shall mean any form resulting from mechanical
  477         -
      transformation or translation of a Source form, including but
  478         -
      not limited to compiled object code, generated documentation,
  479         -
      and conversions to other media types.
  480         -
  481         -
      "Work" shall mean the work of authorship, whether in Source or
  482         -
      Object form, made available under the License, as indicated by a
  483         -
      copyright notice that is included in or attached to the work
  484         -
      (an example is provided in the Appendix below).
  485         -
  486         -
      "Derivative Works" shall mean any work, whether in Source or Object
  487         -
      form, that is based on (or derived from) the Work and for which the
  488         -
      editorial revisions, annotations, elaborations, or other modifications
  489         -
      represent, as a whole, an original work of authorship. For the purposes
  490         -
      of this License, Derivative Works shall not include works that remain
  491         -
      separable from, or merely link (or bind by name) to the interfaces of,
  492         -
      the Work and Derivative Works thereof.
  493         -
  494         -
      "Contribution" shall mean any work of authorship, including
  495         -
      the original version of the Work and any modifications or additions
  496         -
      to that Work or Derivative Works thereof, that is intentionally
  497         -
      submitted to Licensor for inclusion in the Work by the copyright owner
  498         -
      or by an individual or Legal Entity authorized to submit on behalf of
  499         -
      the copyright owner. For the purposes of this definition, "submitted"
  500         -
      means any form of electronic, verbal, or written communication sent
  501         -
      to the Licensor or its representatives, including but not limited to
  502         -
      communication on electronic mailing lists, source code control systems,
  503         -
      and issue tracking systems that are managed by, or on behalf of, the
  504         -
      Licensor for the purpose of discussing and improving the Work, but
  505         -
      excluding communication that is conspicuously marked or otherwise
  506         -
      designated in writing by the copyright owner as "Not a Contribution."
  507         -
  508         -
      "Contributor" shall mean Licensor and any individual or Legal Entity
  509         -
      on behalf of whom a Contribution has been received by Licensor and
  510         -
      subsequently incorporated within the Work.
  511         -
  512         -
   2. Grant of Copyright License. Subject to the terms and conditions of
  513         -
      this License, each Contributor hereby grants to You a perpetual,
  514         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  515         -
      copyright license to reproduce, prepare Derivative Works of,
  516         -
      publicly display, publicly perform, sublicense, and distribute the
  517         -
      Work and such Derivative Works in Source or Object form.
  518         -
  519         -
   3. Grant of Patent License. Subject to the terms and conditions of
  520         -
      this License, each Contributor hereby grants to You a perpetual,
  521         -
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
  522         -
      (except as stated in this section) patent license to make, have made,
  523         -
      use, offer to sell, sell, import, and otherwise transfer the Work,
  524         -
      where such license applies only to those patent claims licensable
  525         -
      by such Contributor that are necessarily infringed by their
  526         -
      Contribution(s) alone or by combination of their Contribution(s)
  527         -
      with the Work to which such Contribution(s) was submitted. If You
  528         -
      institute patent litigation against any entity (including a
  529         -
      cross-claim or counterclaim in a lawsuit) alleging that the Work
  530         -
      or a Contribution incorporated within the Work constitutes direct
  531         -
      or contributory patent infringement, then any patent licenses
  532         -
      granted to You under this License for that Work shall terminate
  533         -
      as of the date such litigation is filed.
  534         -
  535         -
   4. Redistribution. You may reproduce and distribute copies of the
  536         -
      Work or Derivative Works thereof in any medium, with or without
  537         -
      modifications, and in Source or Object form, provided that You
  538         -
      meet the following conditions:
  539         -
  540         -
      (a) You must give any other recipients of the Work or
  541         -
          Derivative Works a copy of this License; and
  542         -
  543         -
      (b) You must cause any modified files to carry prominent notices
  544         -
          stating that You changed the files; and
  545         -
  546         -
      (c) You must retain, in the Source form of any Derivative Works
  547         -
          that You distribute, all copyright, patent, trademark, and
  548         -
          attribution notices from the Source form of the Work,
  549         -
          excluding those notices that do not pertain to any part of
  550         -
          the Derivative Works; and
  551         -
  552         -
      (d) If the Work includes a "NOTICE" text file as part of its
  553         -
          distribution, then any Derivative Works that You distribute must
  554         -
          include a readable copy of the attribution notices contained
  555         -
          within such NOTICE file, excluding those notices that do not
  556         -
          pertain to any part of the Derivative Works, in at least one
  557         -
          of the following places: within a NOTICE text file distributed
  558         -
          as part of the Derivative Works; within the Source form or
  559         -
          documentation, if provided along with the Derivative Works; or,
  560         -
          within a display generated by the Derivative Works, if and
  561         -
          wherever such third-party notices normally appear. The contents
  562         -
          of the NOTICE file are for informational purposes only and
  563         -
          do not modify the License. You may add Your own attribution
  564         -
          notices within Derivative Works that You distribute, alongside
  565         -
          or as an addendum to the NOTICE text from the Work, provided
  566         -
          that such additional attribution notices cannot be construed
  567         -
          as modifying the License.
  568         -
  569         -
      You may add Your own copyright statement to Your modifications and
  570         -
      may provide additional or different license terms and conditions
  571         -
      for use, reproduction, or distribution of Your modifications, or
  572         -
      for any such Derivative Works as a whole, provided Your use,
  573         -
      reproduction, and distribution of the Work otherwise complies with
  574         -
      the conditions stated in this License.
  575         -
  576         -
   5. Submission of Contributions. Unless You explicitly state otherwise,
  577         -
      any Contribution intentionally submitted for inclusion in the Work
  578         -
      by You to the Licensor shall be under the terms and conditions of
  579         -
      this License, without any additional terms or conditions.
  580         -
      Notwithstanding the above, nothing herein shall supersede or modify
  581         -
      the terms of any separate license agreement you may have executed
  582         -
      with Licensor regarding such Contributions.
  583         -
  584         -
   6. Trademarks. This License does not grant permission to use the trade
  585         -
      names, trademarks, service marks, or product names of the Licensor,
  586         -
      except as required for reasonable and customary use in describing the
  587         -
      origin of the Work and reproducing the content of the NOTICE file.
  588         -
  589         -
   7. Disclaimer of Warranty. Unless required by applicable law or
  590         -
      agreed to in writing, Licensor provides the Work (and each
  591         -
      Contributor provides its Contributions) on an "AS IS" BASIS,
  592         -
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  593         -
      implied, including, without limitation, any warranties or conditions
  594         -
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
  595         -
      PARTICULAR PURPOSE. You are solely responsible for determining the
  596         -
      appropriateness of using or redistributing the Work and assume any
  597         -
      risks associated with Your exercise of permissions under this License.
  598         -
  599         -
   8. Limitation of Liability. In no event and under no legal theory,
  600         -
      whether in tort (including negligence), contract, or otherwise,
  601         -
      unless required by applicable law (such as deliberate and grossly
  602         -
      negligent acts) or agreed to in writing, shall any Contributor be
  603         -
      liable to You for damages, including any direct, indirect, special,
  604         -
      incidental, or consequential damages of any character arising as a
  605         -
      result of this License or out of the use or inability to use the
  606         -
      Work (including but not limited to damages for loss of goodwill,
  607         -
      work stoppage, computer failure or malfunction, or any and all
  608         -
      other commercial damages or losses), even if such Contributor
  609         -
      has been advised of the possibility of such damages.
  610         -
  611         -
   9. Accepting Warranty or Additional Liability. While redistributing
  612         -
      the Work or Derivative Works thereof, You may choose to offer,
  613         -
      and charge a fee for, acceptance of support, warranty, indemnity,
  614         -
      or other liability obligations and/or rights consistent with this
  615         -
      License. However, in accepting such obligations, You may act only
  616         -
      on Your own behalf and on Your sole responsibility, not on behalf
  617         -
      of any other Contributor, and only if You agree to indemnify,
  618         -
      defend, and hold each Contributor harmless for any liability
  619         -
      incurred by, or claims asserted against, such Contributor by reason
  620         -
      of your accepting any such warranty or additional liability.
  621         -
  622         -
   END OF TERMS AND CONDITIONS
  623         -
  624         -
   APPENDIX: How to apply the Apache License to your work.
  625         -
  626         -
      To apply the Apache License to your work, attach the following
  627         -
      boilerplate notice, with the fields enclosed by brackets "[]"
  628         -
      replaced with your own identifying information. (Don't include
  629         -
      the brackets!)  The text should be enclosed in the appropriate
  630         -
      comment syntax for the file format. We also recommend that a
  631         -
      file or class name and description of purpose be included on the
  632         -
      same "printed page" as the copyright notice for easier
  633         -
      identification within third-party archives.
  634         -
  635         -
   Copyright [yyyy] [name of copyright owner]
  636         -
  637         -
   Licensed under the Apache License, Version 2.0 (the "License");
  638         -
   you may not use this file except in compliance with the License.
  639         -
   You may obtain a copy of the License at
  640         -
  641         -
       http://www.apache.org/licenses/LICENSE-2.0
  642         -
  643         -
   Unless required by applicable law or agreed to in writing, software
  644         -
   distributed under the License is distributed on an "AS IS" BASIS,
  645         -
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  646         -
   See the License for the specific language governing permissions and
  647         -
   limitations under the License.
  648    280   
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
  649    281   
deleted file mode 100755
  650    282   
index d85f69e..0000000
  651         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/NOTICE
         283  +
++ /dev/null
  652    284   
@@ -1,2 +0,0 @@
  653         -
AWS Signature Version 4a Test Suite
  654         -
Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  655    285   
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
  656    286   
deleted file mode 100644
  657    287   
index c716622..0000000
  658         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/README.md
         288  +
++ /dev/null
  659    289   
@@ -1,24 +0,0 @@
  660         -
Where did the files in this directory come from?
  661         -
================================================
  662         -
  663         -
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.
  664         -
  665         -
Signature Version 4A Test Suite
  666         -
------------------------------
  667         -
  668         -
To assist you in the development of an AWS client that supports Signature Version 4A, you can use the
  669         -
files in the test suite to ensure your code is performing each step of the signing process correctly.
  670         -
  671         -
Each test group contains several files that you can use to validate most of the tasks described in
  672         -
Signature Version 4A Signing Process. The following list describes the contents of each file.
  673         -
  674         -
- context.json - Credentials and signer options to use when signing test requests
  675         -
- request.txt - The web request to be signed.
  676         -
- header-canonical-request.txt - The resulting canonical request in header-signature mode.
  677         -
- header-string-to-sign.txt - The resulting string to sign in header-signature mode.
  678         -
- query-canonical-request.txt - The resulting canonical request in query-signature mode.
  679         -
- query-string-to-sign.txt - The resulting string to sign in header-query mode.
  680         -
  681         -
Sigv4A signature generation isn't deterministic, so generated signatures can't be tested against known good ones.
  682         -
Instead, tests generate a signature, derive a verification key from the signing key, and verify the signature and
  683         -
the string to sign. This mirrors what AWS services do when verifying Sigv4A-signed requests.
  684    290   
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
  685    291   
deleted file mode 100644
  686    292   
index 45771c7..0000000
  687         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/context.json
         293  +
++ /dev/null
  688    294   
@@ -1,12 +0,0 @@
  689         -
{
  690         -
    "credentials": {
  691         -
        "access_key_id": "AKIDEXAMPLE",
  692         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  693         -
    },
  694         -
    "expiration_in_seconds": 3600,
  695         -
    "normalize": true,
  696         -
    "region": "us-east-1",
  697         -
    "service": "service",
  698         -
    "sign_body": false,
  699         -
    "timestamp": "2015-08-30T12:36:00Z"
  700         -
}
  701    295   
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
  702    296   
deleted file mode 100644
  703    297   
index 45771c7..0000000
  704         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/context.json
         298  +
++ /dev/null
  705    299   
@@ -1,12 +0,0 @@
  706         -
{
  707         -
    "credentials": {
  708         -
        "access_key_id": "AKIDEXAMPLE",
  709         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  710         -
    },
  711         -
    "expiration_in_seconds": 3600,
  712         -
    "normalize": true,
  713         -
    "region": "us-east-1",
  714         -
    "service": "service",
  715         -
    "sign_body": false,
  716         -
    "timestamp": "2015-08-30T12:36:00Z"
  717         -
}
  718    300   
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
  719    301   
deleted file mode 100644
  720    302   
index 45771c7..0000000
  721         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/context.json
         303  +
++ /dev/null
  722    304   
@@ -1,12 +0,0 @@
  723         -
{
  724         -
    "credentials": {
  725         -
        "access_key_id": "AKIDEXAMPLE",
  726         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  727         -
    },
  728         -
    "expiration_in_seconds": 3600,
  729         -
    "normalize": true,
  730         -
    "region": "us-east-1",
  731         -
    "service": "service",
  732         -
    "sign_body": false,
  733         -
    "timestamp": "2015-08-30T12:36:00Z"
  734         -
}
  735    305   
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
  736    306   
deleted file mode 100644
  737    307   
index 45771c7..0000000
  738         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/context.json
         308  +
++ /dev/null
  739    309   
@@ -1,12 +0,0 @@
  740         -
{
  741         -
    "credentials": {
  742         -
        "access_key_id": "AKIDEXAMPLE",
  743         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  744         -
    },
  745         -
    "expiration_in_seconds": 3600,
  746         -
    "normalize": true,
  747         -
    "region": "us-east-1",
  748         -
    "service": "service",
  749         -
    "sign_body": false,
  750         -
    "timestamp": "2015-08-30T12:36:00Z"
  751         -
}
  752    310   
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
  753    311   
deleted file mode 100644
  754    312   
index afe367b..0000000
  755         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/context.json
         313  +
++ /dev/null
  756    314   
@@ -1,12 +0,0 @@
  757         -
{
  758         -
    "credentials": {
  759         -
        "access_key_id": "AKIDEXAMPLE",
  760         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  761         -
    },
  762         -
    "expiration_in_seconds": 3600,
  763         -
    "normalize": false,
  764         -
    "region": "us-east-1",
  765         -
    "service": "service",
  766         -
    "sign_body": false,
  767         -
    "timestamp": "2015-08-30T12:36:00Z"
  768         -
}
  769    315   
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
  770    316   
deleted file mode 100644
  771    317   
index 45771c7..0000000
  772         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/context.json
         318  +
++ /dev/null
  773    319   
@@ -1,12 +0,0 @@
  774         -
{
  775         -
    "credentials": {
  776         -
        "access_key_id": "AKIDEXAMPLE",
  777         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  778         -
    },
  779         -
    "expiration_in_seconds": 3600,
  780         -
    "normalize": true,
  781         -
    "region": "us-east-1",
  782         -
    "service": "service",
  783         -
    "sign_body": false,
  784         -
    "timestamp": "2015-08-30T12:36:00Z"
  785         -
}
  786    320   
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
  787    321   
deleted file mode 100644
  788    322   
index afe367b..0000000
  789         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/context.json
         323  +
++ /dev/null
  790    324   
@@ -1,12 +0,0 @@
  791         -
{
  792         -
    "credentials": {
  793         -
        "access_key_id": "AKIDEXAMPLE",
  794         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  795         -
    },
  796         -
    "expiration_in_seconds": 3600,
  797         -
    "normalize": false,
  798         -
    "region": "us-east-1",
  799         -
    "service": "service",
  800         -
    "sign_body": false,
  801         -
    "timestamp": "2015-08-30T12:36:00Z"
  802         -
}
  803    325   
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
  804    326   
deleted file mode 100644
  805    327   
index 45771c7..0000000
  806         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/context.json
         328  +
++ /dev/null
  807    329   
@@ -1,12 +0,0 @@
  808         -
{
  809         -
    "credentials": {
  810         -
        "access_key_id": "AKIDEXAMPLE",
  811         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  812         -
    },
  813         -
    "expiration_in_seconds": 3600,
  814         -
    "normalize": true,
  815         -
    "region": "us-east-1",
  816         -
    "service": "service",
  817         -
    "sign_body": false,
  818         -
    "timestamp": "2015-08-30T12:36:00Z"
  819         -
}
  820    330   
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
  821    331   
deleted file mode 100644
  822    332   
index 45771c7..0000000
  823         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/context.json
         333  +
++ /dev/null
  824    334   
@@ -1,12 +0,0 @@
  825         -
{
  826         -
    "credentials": {
  827         -
        "access_key_id": "AKIDEXAMPLE",
  828         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  829         -
    },
  830         -
    "expiration_in_seconds": 3600,
  831         -
    "normalize": true,
  832         -
    "region": "us-east-1",
  833         -
    "service": "service",
  834         -
    "sign_body": false,
  835         -
    "timestamp": "2015-08-30T12:36:00Z"
  836         -
}
  837    335   
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
  838    336   
deleted file mode 100644
  839    337   
index 45771c7..0000000
  840         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/context.json
         338  +
++ /dev/null
  841    339   
@@ -1,12 +0,0 @@
  842         -
{
  843         -
    "credentials": {
  844         -
        "access_key_id": "AKIDEXAMPLE",
  845         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  846         -
    },
  847         -
    "expiration_in_seconds": 3600,
  848         -
    "normalize": true,
  849         -
    "region": "us-east-1",
  850         -
    "service": "service",
  851         -
    "sign_body": false,
  852         -
    "timestamp": "2015-08-30T12:36:00Z"
  853         -
}
  854    340   
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
  855    341   
deleted file mode 100644
  856    342   
index 45771c7..0000000
  857         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/context.json
         343  +
++ /dev/null
  858    344   
@@ -1,12 +0,0 @@
  859         -
{
  860         -
    "credentials": {
  861         -
        "access_key_id": "AKIDEXAMPLE",
  862         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  863         -
    },
  864         -
    "expiration_in_seconds": 3600,
  865         -
    "normalize": true,
  866         -
    "region": "us-east-1",
  867         -
    "service": "service",
  868         -
    "sign_body": false,
  869         -
    "timestamp": "2015-08-30T12:36:00Z"
  870         -
}
  871    345   
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
  872    346   
deleted file mode 100644
  873    347   
index 45771c7..0000000
  874         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/context.json
         348  +
++ /dev/null
  875    349   
@@ -1,12 +0,0 @@
  876         -
{
  877         -
    "credentials": {
  878         -
        "access_key_id": "AKIDEXAMPLE",
  879         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  880         -
    },
  881         -
    "expiration_in_seconds": 3600,
  882         -
    "normalize": true,
  883         -
    "region": "us-east-1",
  884         -
    "service": "service",
  885         -
    "sign_body": false,
  886         -
    "timestamp": "2015-08-30T12:36:00Z"
  887         -
}
  888    350   
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
  889    351   
deleted file mode 100644
  890    352   
index 47e7128..0000000
  891         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-canonical-request.txt
         353  +
++ /dev/null
  892    354   
@@ -1,9 +0,0 @@
  893         -
GET
  894         -
/
  895         -
  896         -
host:example.amazonaws.com
  897         -
x-amz-date:20150830T123600Z
  898         -
x-amz-region-set:us-east-1
  899         -
  900         -
host;x-amz-date;x-amz-region-set
  901         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  902    355   
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
  903    356   
deleted file mode 100644
  904    357   
index 95d7219..0000000
  905         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/header-string-to-sign.txt
         358  +
++ /dev/null
  906    359   
@@ -1,4 +0,0 @@
  907         -
AWS4-ECDSA-P256-SHA256
  908         -
20150830T123600Z
  909         -
20150830/service/aws4_request
  910         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  911    360   
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
  912    361   
deleted file mode 100644
  913    362   
index a34ea26..0000000
  914         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-canonical-request.txt
         363  +
++ /dev/null
  915    364   
@@ -1,7 +0,0 @@
  916         -
GET
  917         -
/
  918         -
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
  919         -
host:example.amazonaws.com
  920         -
  921         -
host
  922         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  923    365   
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
  924    366   
deleted file mode 100644
  925    367   
index 48f855c..0000000
  926         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/query-string-to-sign.txt
         368  +
++ /dev/null
  927    369   
@@ -1,4 +0,0 @@
  928         -
AWS4-ECDSA-P256-SHA256
  929         -
20150830T123600Z
  930         -
20150830/service/aws4_request
  931         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  932    370   
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
  933    371   
deleted file mode 100644
  934    372   
index 45771c7..0000000
  935         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/context.json
         373  +
++ /dev/null
  936    374   
@@ -1,12 +0,0 @@
  937         -
{
  938         -
    "credentials": {
  939         -
        "access_key_id": "AKIDEXAMPLE",
  940         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
  941         -
    },
  942         -
    "expiration_in_seconds": 3600,
  943         -
    "normalize": true,
  944         -
    "region": "us-east-1",
  945         -
    "service": "service",
  946         -
    "sign_body": false,
  947         -
    "timestamp": "2015-08-30T12:36:00Z"
  948         -
}
  949    375   
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
  950    376   
deleted file mode 100644
  951    377   
index 47e7128..0000000
  952         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-canonical-request.txt
         378  +
++ /dev/null
  953    379   
@@ -1,9 +0,0 @@
  954         -
GET
  955         -
/
  956         -
  957         -
host:example.amazonaws.com
  958         -
x-amz-date:20150830T123600Z
  959         -
x-amz-region-set:us-east-1
  960         -
  961         -
host;x-amz-date;x-amz-region-set
  962         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  963    380   
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
  964    381   
deleted file mode 100644
  965    382   
index 95d7219..0000000
  966         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/header-string-to-sign.txt
         383  +
++ /dev/null
  967    384   
@@ -1,4 +0,0 @@
  968         -
AWS4-ECDSA-P256-SHA256
  969         -
20150830T123600Z
  970         -
20150830/service/aws4_request
  971         -
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
  972    385   
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
  973    386   
deleted file mode 100644
  974    387   
index a34ea26..0000000
  975         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-canonical-request.txt
         388  +
++ /dev/null
  976    389   
@@ -1,7 +0,0 @@
  977         -
GET
  978         -
/
  979         -
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
  980         -
host:example.amazonaws.com
  981         -
  982         -
host
  983         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
  984    390   
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
  985    391   
deleted file mode 100644
  986    392   
index 48f855c..0000000
  987         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/query-string-to-sign.txt
         393  +
++ /dev/null
  988    394   
@@ -1,4 +0,0 @@
  989         -
AWS4-ECDSA-P256-SHA256
  990         -
20150830T123600Z
  991         -
20150830/service/aws4_request
  992         -
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
  993    395   
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
  994    396   
deleted file mode 100644
  995    397   
index 45771c7..0000000
  996         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/context.json
         398  +
++ /dev/null
  997    399   
@@ -1,12 +0,0 @@
  998         -
{
  999         -
    "credentials": {
 1000         -
        "access_key_id": "AKIDEXAMPLE",
 1001         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1002         -
    },
 1003         -
    "expiration_in_seconds": 3600,
 1004         -
    "normalize": true,
 1005         -
    "region": "us-east-1",
 1006         -
    "service": "service",
 1007         -
    "sign_body": false,
 1008         -
    "timestamp": "2015-08-30T12:36:00Z"
 1009         -
}
 1010    400   
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
 1011    401   
deleted file mode 100644
 1012    402   
index 45771c7..0000000
 1013         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/context.json
         403  +
++ /dev/null
 1014    404   
@@ -1,12 +0,0 @@
 1015         -
{
 1016         -
    "credentials": {
 1017         -
        "access_key_id": "AKIDEXAMPLE",
 1018         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1019         -
    },
 1020         -
    "expiration_in_seconds": 3600,
 1021         -
    "normalize": true,
 1022         -
    "region": "us-east-1",
 1023         -
    "service": "service",
 1024         -
    "sign_body": false,
 1025         -
    "timestamp": "2015-08-30T12:36:00Z"
 1026         -
}
 1027    405   
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
 1028    406   
deleted file mode 100644
 1029    407   
index 45771c7..0000000
 1030         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/context.json
         408  +
++ /dev/null
 1031    409   
@@ -1,12 +0,0 @@
 1032         -
{
 1033         -
    "credentials": {
 1034         -
        "access_key_id": "AKIDEXAMPLE",
 1035         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1036         -
    },
 1037         -
    "expiration_in_seconds": 3600,
 1038         -
    "normalize": true,
 1039         -
    "region": "us-east-1",
 1040         -
    "service": "service",
 1041         -
    "sign_body": false,
 1042         -
    "timestamp": "2015-08-30T12:36:00Z"
 1043         -
}
 1044    410   
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
 1045    411   
deleted file mode 100644
 1046    412   
index 45771c7..0000000
 1047         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/context.json
         413  +
++ /dev/null
 1048    414   
@@ -1,12 +0,0 @@
 1049         -
{
 1050         -
    "credentials": {
 1051         -
        "access_key_id": "AKIDEXAMPLE",
 1052         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1053         -
    },
 1054         -
    "expiration_in_seconds": 3600,
 1055         -
    "normalize": true,
 1056         -
    "region": "us-east-1",
 1057         -
    "service": "service",
 1058         -
    "sign_body": false,
 1059         -
    "timestamp": "2015-08-30T12:36:00Z"
 1060         -
}
 1061    415   
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
 1062    416   
deleted file mode 100644
 1063    417   
index 45771c7..0000000
 1064         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/context.json
         418  +
++ /dev/null
 1065    419   
@@ -1,12 +0,0 @@
 1066         -
{
 1067         -
    "credentials": {
 1068         -
        "access_key_id": "AKIDEXAMPLE",
 1069         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1070         -
    },
 1071         -
    "expiration_in_seconds": 3600,
 1072         -
    "normalize": true,
 1073         -
    "region": "us-east-1",
 1074         -
    "service": "service",
 1075         -
    "sign_body": false,
 1076         -
    "timestamp": "2015-08-30T12:36:00Z"
 1077         -
}
 1078    420   
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
 1079    421   
deleted file mode 100644
 1080    422   
index 45771c7..0000000
 1081         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/context.json
         423  +
++ /dev/null
 1082    424   
@@ -1,12 +0,0 @@
 1083         -
{
 1084         -
    "credentials": {
 1085         -
        "access_key_id": "AKIDEXAMPLE",
 1086         -
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
 1087         -
    },
 1088         -
    "expiration_in_seconds": 3600,
 1089         -
    "normalize": true,
 1090         -
    "region": "us-east-1",
 1091         -
    "service": "service",
 1092         -
    "sign_body": false,
 1093         -
    "timestamp": "2015-08-30T12:36:00Z"
 1094         -
}
 1095    425   
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
 1096    426   
deleted file mode 100644
 1097    427   
index b6fdecf..0000000
 1098         -
-- 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
         428  +
++ /dev/null
 1099    429   
@@ -1,4 +0,0 @@
 1100         -
AWS4-ECDSA-P256-SHA256
 1101         -
20150830T123600Z
 1102         -
20150830/service/aws4_request
 1103         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
 1104    430   
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
 1105    431   
deleted file mode 100644
 1106    432   
index a300bea..0000000
 1107         -
-- 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
         433  +
++ /dev/null
 1108    434   
@@ -1,4 +0,0 @@
 1109         -
AWS4-ECDSA-P256-SHA256
 1110         -
20150830T123600Z
 1111         -
20150830/service/aws4_request
 1112         -
ab426c74406d082ad98929df8969624e6ed5cb7f4e8501fbbe7d8c20e9c3b417
 1113    435   
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
 1114    436   
deleted file mode 100644
 1115    437   
index b6fdecf..0000000
 1116         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-string-to-sign.txt
         438  +
++ /dev/null
 1117    439   
@@ -1,4 +0,0 @@
 1118         -
AWS4-ECDSA-P256-SHA256
 1119         -
20150830T123600Z
 1120         -
20150830/service/aws4_request
 1121         -
03c5c4387e7c1bd3a606d1b19301d277e51d7621ced07c8c9ff2aeb151c0f4c6
 1122    440   
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
 1123    441   
new file mode 100644
 1124    442   
index 0000000..a674243
 1125         -
-- /dev/null
         443  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/README.md
 1126    444   
@@ -0,0 +1,7 @@
         445  +
# AWS SigV4 and SigV4A Signing Test Suite
         446  +
         447  +
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).
         448  +
         449  +
We added the following changes:
         450  +
         451  +
* 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
 1127    452   
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
 1128    453   
similarity index 100%
 1129    454   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.creq
 1130    455   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-canonical-request.txt
 1131    456   
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
 1132    457   
similarity index 100%
 1133    458   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.sreq
 1134    459   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/header-signed-request.txt
 1135    460   
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
 1136    461   
similarity index 100%
 1137    462   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-encode-path/double-encode-path.req
 1138    463   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-encode-path/request.txt
 1139    464   
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
 1140    465   
similarity index 100%
 1141    466   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.creq
 1142    467   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-canonical-request.txt
 1143    468   
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
 1144    469   
similarity index 100%
 1145    470   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sreq
 1146    471   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-signed-request.txt
 1147    472   
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
 1148    473   
similarity index 100%
 1149    474   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.sts
 1150    475   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/header-string-to-sign.txt
 1151    476   
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
 1152    477   
similarity index 100%
 1153    478   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/double-url-encode/double-url-encode.req
 1154    479   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/double-url-encode/request.txt
 1155    480   
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
 1156    481   
similarity index 99%
 1157    482   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/context.json
 1158    483   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/context.json
 1159    484   
index 45771c7..0468d80 100644
 1160    485   
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
 1161    486   
similarity index 100%
 1162    487   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.creq
 1163    488   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-canonical-request.txt
 1164    489   
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
 1165    490   
new file mode 100644
 1166    491   
index 0000000..7fc5d7a
 1167         -
-- /dev/null
         492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signature.txt
 1168    493   
@@ -0,0 +1 @@
         494  +
c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
              \
 No newline at end of file
 1169    495   
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
 1170    496   
new file mode 100644
 1171    497   
index 0000000..36a1205
 1172         -
-- /dev/null
         498  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-signed-request.txt
 1173    499   
@@ -0,0 +1,8 @@
         500  +
GET / HTTP/1.1
         501  +
Host:example.amazonaws.com
         502  +
My-Header1:value2
         503  +
My-Header1:value2
         504  +
My-Header1:value1
         505  +
X-Amz-Date:20150830T123600Z
         506  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c9d5ea9f3f72853aea855b47ea873832890dbdd183b4468f858259531a5138ea
         507  +
 1174    508   
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
 1175    509   
similarity index 100%
 1176    510   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.sts
 1177    511   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/header-string-to-sign.txt
 1178    512   
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
 1179    513   
new file mode 100644
 1180    514   
index 0000000..f9f4190
 1181         -
-- /dev/null
         515  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-canonical-request.txt
 1182    516   
@@ -0,0 +1,8 @@
         517  +
GET
         518  +
/
         519  +
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
         520  +
host:example.amazonaws.com
         521  +
my-header1:value2,value2,value1
         522  +
         523  +
host;my-header1
         524  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1183    525   
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
 1184    526   
new file mode 100644
 1185    527   
index 0000000..5d0d87f
 1186         -
-- /dev/null
         528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signature.txt
 1187    529   
@@ -0,0 +1 @@
         530  +
3349ee0b81b4b589da0ff28a395c3591e04de515651dd74f298fa992d1507a97
              \
 No newline at end of file
 1188    531   
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
 1189    532   
new file mode 100644
 1190    533   
index 0000000..c1dfcf4
 1191         -
-- /dev/null
         534  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-signed-request.txt
 1192    535   
@@ -0,0 +1,6 @@
         536  +
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
         537  +
Host:example.amazonaws.com
         538  +
My-Header1:value2
         539  +
My-Header1:value2
         540  +
My-Header1:value1
         541  +
 1193    542   
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
 1194    543   
similarity index 53%
 1195    544   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
 1196    545   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1197    546   
index 0a3350a..077c1bb 100644
 1198         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.sts
         547  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/query-string-to-sign.txt
 1199    548   
@@ -1,4 +1,4 @@
 1200    549   
AWS4-HMAC-SHA256
 1201    550   
20150830T123600Z
 1202    551   
20150830/us-east-1/service/aws4_request
 1203         -
b7b6cbfd8a0430b78891e986784da2630c8a135a8595cec25b26ea94f926ee55
              \
 No newline at end of file
         552  +
fe8b58fb44117d598520befc07c144a5699c661a8db78f9ce4caee1655dec813
              \
 No newline at end of file
 1204    553   
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
 1205    554   
similarity index 100%
 1206    555   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/request.txt
 1207    556   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-key-duplicate/request.txt
 1208    557   
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
 1209    558   
similarity index 99%
 1210    559   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/context.json
 1211    560   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/context.json
 1212    561   
index 45771c7..0468d80 100644
 1213    562   
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
 1214    563   
similarity index 82%
 1215    564   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
 1216    565   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1217    566   
index 721a39f..8cb5476 100644
 1218         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.creq
         567  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-canonical-request.txt
 1219    568   
@@ -1,9 +1,9 @@
 1220    569   
GET
 1221    570   
/
 1222    571   
 1223    572   
host:example.amazonaws.com
 1224         -
my-header1:value1,value2,value3
         573  +
my-header1:value1 value2 value3
 1225    574   
x-amz-date:20150830T123600Z
 1226    575   
 1227    576   
host;my-header1;x-amz-date
 1228    577   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1229    578   
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
 1230    579   
new file mode 100644
 1231    580   
index 0000000..e6ff7a9
 1232         -
-- /dev/null
         581  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signature.txt
 1233    582   
@@ -0,0 +1 @@
         583  +
cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
              \
 No newline at end of file
 1234    584   
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
 1235    585   
new file mode 100644
 1236    586   
index 0000000..b5ef6a0
 1237         -
-- /dev/null
         587  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-signed-request.txt
 1238    588   
@@ -0,0 +1,8 @@
         589  +
GET / HTTP/1.1
         590  +
Host:example.amazonaws.com
         591  +
My-Header1:value1
         592  +
  value2
         593  +
     value3
         594  +
X-Amz-Date:20150830T123600Z
         595  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cfd34249e4b1c8d6b91ef74165d41a32e5fab3306300901bb65a51a73575eefd
         596  +
 1239    597   
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
 1240    598   
similarity index 53%
 1241    599   
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
 1242    600   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1243    601   
index fd43a41..97c7430 100644
 1244         -
-- 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
         602  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/header-string-to-sign.txt
 1245    603   
@@ -1,4 +1,4 @@
 1246    604   
AWS4-HMAC-SHA256
 1247    605   
20150830T123600Z
 1248    606   
20150830/us-east-1/service/aws4_request
 1249         -
704b4cef673542d84cdff252633f065e8daeba5f168b77116f8b1bcaf3d38f89
              \
 No newline at end of file
         607  +
e99419459a677bc11de234014be3c4e72c1ea5b454ceb58b613061f5d7a162e8
              \
 No newline at end of file
 1250    608   
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
 1251    609   
new file mode 100644
 1252    610   
index 0000000..aac46de
 1253         -
-- /dev/null
         611  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-canonical-request.txt
 1254    612   
@@ -0,0 +1,8 @@
         613  +
GET
         614  +
/
         615  +
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
         616  +
host:example.amazonaws.com
         617  +
my-header1:value1 value2 value3
         618  +
         619  +
host;my-header1
         620  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1255    621   
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
 1256    622   
new file mode 100644
 1257    623   
index 0000000..205732d
 1258         -
-- /dev/null
         624  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signature.txt
 1259    625   
@@ -0,0 +1 @@
         626  +
e6f5def831211aca02987a44b96826706278c7bc078112ae0263659c5b2f2d56
              \
 No newline at end of file
 1260    627   
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
 1261    628   
new file mode 100644
 1262    629   
index 0000000..a891b87
 1263         -
-- /dev/null
         630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-signed-request.txt
 1264    631   
@@ -0,0 +1,6 @@
         632  +
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
         633  +
Host:example.amazonaws.com
         634  +
My-Header1:value1
         635  +
  value2
         636  +
     value3
         637  +
 1265    638   
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
 1266    639   
similarity index 53%
 1267    640   
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
 1268    641   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1269    642   
index 90e66b8..ec3fe45 100644
 1270         -
-- 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
         643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/query-string-to-sign.txt
 1271    644   
@@ -1,4 +1,4 @@
 1272    645   
AWS4-HMAC-SHA256
 1273    646   
20150830T123600Z
 1274    647   
20150830/us-east-1/service/aws4_request
 1275         -
c968629d70850097a2d8781c9bf7edcb988b04cac14cca9be4acc3595f884606
              \
 No newline at end of file
         648  +
0e73c10e35324b4d215da4bb70be61d13a3d30d569be4ed6e8fd8948965341ca
              \
 No newline at end of file
 1276    649   
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
 1277    650   
similarity index 75%
 1278    651   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
 1279    652   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1280    653   
index 7caa6ac..b5026cd 100644
 1281         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-multiline/get-header-value-multiline.req
         654  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-multiline/request.txt
 1282    655   
@@ -1,6 +1,5 @@
 1283    656   
GET / HTTP/1.1
 1284    657   
Host:example.amazonaws.com
 1285    658   
My-Header1:value1
 1286    659   
  value2
 1287    660   
     value3
 1288         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 1289    661   
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
 1290    662   
similarity index 99%
 1291    663   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/context.json
 1292    664   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/context.json
 1293    665   
index 45771c7..0468d80 100644
 1294    666   
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
 1295    667   
similarity index 100%
 1296    668   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.creq
 1297    669   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-canonical-request.txt
 1298    670   
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
 1299    671   
new file mode 100644
 1300    672   
index 0000000..8ef0494
 1301         -
-- /dev/null
         673  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signature.txt
 1302    674   
@@ -0,0 +1 @@
         675  +
08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
              \
 No newline at end of file
 1303    676   
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
 1304    677   
new file mode 100644
 1305    678   
index 0000000..b786dc9
 1306         -
-- /dev/null
         679  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-signed-request.txt
 1307    680   
@@ -0,0 +1,9 @@
         681  +
GET / HTTP/1.1
         682  +
Host:example.amazonaws.com
         683  +
My-Header1:value4
         684  +
My-Header1:value1
         685  +
My-Header1:value3
         686  +
My-Header1:value2
         687  +
X-Amz-Date:20150830T123600Z
         688  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=08c7e5a9acfcfeb3ab6b2185e75ce8b1deb5e634ec47601a50643f830c755c01
         689  +
 1308    690   
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
 1309    691   
similarity index 100%
 1310    692   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.sts
 1311    693   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/header-string-to-sign.txt
 1312    694   
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
 1313    695   
new file mode 100644
 1314    696   
index 0000000..a211cc5
 1315         -
-- /dev/null
         697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-canonical-request.txt
 1316    698   
@@ -0,0 +1,8 @@
         699  +
GET
         700  +
/
         701  +
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
         702  +
host:example.amazonaws.com
         703  +
my-header1:value4,value1,value3,value2
         704  +
         705  +
host;my-header1
         706  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1317    707   
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
 1318    708   
new file mode 100644
 1319    709   
index 0000000..417b0fa
 1320         -
-- /dev/null
         710  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signature.txt
 1321    711   
@@ -0,0 +1 @@
         712  +
313720e71ca6202fdcfa9b20f88de01a4eb0638a83c833b1c184359a4eda864e
              \
 No newline at end of file
 1322    713   
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
 1323    714   
new file mode 100644
 1324    715   
index 0000000..b615e5d
 1325         -
-- /dev/null
         716  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-signed-request.txt
 1326    717   
@@ -0,0 +1,7 @@
         718  +
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
         719  +
Host:example.amazonaws.com
         720  +
My-Header1:value4
         721  +
My-Header1:value1
         722  +
My-Header1:value3
         723  +
My-Header1:value2
         724  +
 1327    725   
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
 1328    726   
similarity index 53%
 1329    727   
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
 1330    728   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1331    729   
index f7e615e..dcaaa1b 100644
 1332         -
-- 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
         730  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/query-string-to-sign.txt
 1333    731   
@@ -1,4 +1,4 @@
 1334    732   
AWS4-HMAC-SHA256
 1335    733   
20150830T123600Z
 1336    734   
20150830/us-east-1/service/aws4_request
 1337         -
5a4a15e664c6705d500b13808c1c0e2e83f6a4748f1110a980051440f5a0d9f9
              \
 No newline at end of file
         735  +
f4d3f13084ba7664111670ce26458291d3e0c620acd9384f8cd6b60d8e83423e
              \
 No newline at end of file
 1338    736   
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
 1339    737   
similarity index 100%
 1340    738   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/request.txt
 1341    739   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-order/request.txt
 1342    740   
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
 1343    741   
similarity index 99%
 1344    742   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/context.json
 1345    743   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/context.json
 1346    744   
index 45771c7..0468d80 100644
 1347    745   
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
 1348    746   
similarity index 100%
 1349    747   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.creq
 1350    748   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-canonical-request.txt
 1351    749   
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
 1352    750   
new file mode 100644
 1353    751   
index 0000000..36081a9
 1354         -
-- /dev/null
         752  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signature.txt
 1355    753   
@@ -0,0 +1 @@
         754  +
acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
              \
 No newline at end of file
 1356    755   
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
 1357    756   
new file mode 100644
 1358    757   
index 0000000..6331d16
 1359         -
-- /dev/null
         758  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-signed-request.txt
 1360    759   
@@ -0,0 +1,7 @@
         760  +
GET / HTTP/1.1
         761  +
Host:example.amazonaws.com
         762  +
My-Header1: value1
         763  +
My-Header2: "a   b   c"
         764  +
X-Amz-Date:20150830T123600Z
         765  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;my-header2;x-amz-date, Signature=acc3ed3afb60bb290fc8d2dd0098b9911fcaa05412b367055dee359757a9c736
         766  +
 1361    767   
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
 1362    768   
similarity index 100%
 1363    769   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.sts
 1364    770   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/header-string-to-sign.txt
 1365    771   
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
 1366    772   
new file mode 100644
 1367    773   
index 0000000..125c1f9
 1368         -
-- /dev/null
         774  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-canonical-request.txt
 1369    775   
@@ -0,0 +1,9 @@
         776  +
GET
         777  +
/
         778  +
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
         779  +
host:example.amazonaws.com
         780  +
my-header1:value1
         781  +
my-header2:"a b c"
         782  +
         783  +
host;my-header1;my-header2
         784  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1370    785   
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
 1371    786   
new file mode 100644
 1372    787   
index 0000000..17007a8
 1373         -
-- /dev/null
         788  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signature.txt
 1374    789   
@@ -0,0 +1 @@
         790  +
e7bb0fd515e125e1aec2ecc4c0c17484fb06f6846b927c35e46005dd3df3acd4
              \
 No newline at end of file
 1375    791   
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
 1376    792   
new file mode 100644
 1377    793   
index 0000000..e519fd9
 1378         -
-- /dev/null
         794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-signed-request.txt
 1379    795   
@@ -0,0 +1,5 @@
         796  +
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
         797  +
Host:example.amazonaws.com
         798  +
My-Header1: value1
         799  +
My-Header2: "a   b   c"
         800  +
 1380    801   
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
 1381    802   
new file mode 100644
 1382    803   
index 0000000..6b4b781
 1383         -
-- /dev/null
         804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/query-string-to-sign.txt
 1384    805   
@@ -0,0 +1,4 @@
         806  +
AWS4-HMAC-SHA256
         807  +
20150830T123600Z
         808  +
20150830/us-east-1/service/aws4_request
         809  +
84c9e353b6161b689210977f93b93e6a7182f9ecb2ceae8af8c3d86b080a88ae
              \
 No newline at end of file
 1385    810   
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
 1386    811   
similarity index 100%
 1387    812   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/request.txt
 1388    813   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-header-value-trim/request.txt
 1389    814   
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
 1390    815   
new file mode 100644
 1391    816   
index 0000000..0468d80
 1392         -
-- /dev/null
         817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/context.json
 1393    818   
@@ -0,0 +1,12 @@
         819  +
{
         820  +
    "credentials": {
         821  +
        "access_key_id": "AKIDEXAMPLE",
         822  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         823  +
    },
         824  +
    "expiration_in_seconds": 3600,
         825  +
    "normalize": true,
         826  +
    "region": "us-east-1",
         827  +
    "service": "service",
         828  +
    "sign_body": false,
         829  +
    "timestamp": "2015-08-30T12:36:00Z"
         830  +
}
              \
 No newline at end of file
 1394    831   
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
 1395    832   
similarity index 100%
 1396    833   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.creq
 1397    834   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-canonical-request.txt
 1398    835   
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
 1399    836   
new file mode 100644
 1400    837   
index 0000000..87f295f
 1401         -
-- /dev/null
         838  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signature.txt
 1402    839   
@@ -0,0 +1 @@
         840  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1403    841   
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
 1404    842   
new file mode 100644
 1405    843   
index 0000000..0de8327
 1406         -
-- /dev/null
         844  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-signed-request.txt
 1407    845   
@@ -0,0 +1,5 @@
         846  +
GET /example/.. HTTP/1.1
         847  +
Host:example.amazonaws.com
         848  +
X-Amz-Date:20150830T123600Z
         849  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         850  +
 1408    851   
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
 1409    852   
similarity index 100%
 1410    853   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.sts
 1411    854   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/header-string-to-sign.txt
 1412    855   
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
 1413    856   
new file mode 100644
 1414    857   
index 0000000..fb2420d
 1415         -
-- /dev/null
         858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-canonical-request.txt
 1416    859   
@@ -0,0 +1,7 @@
         860  +
GET
         861  +
/
         862  +
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
         863  +
host:example.amazonaws.com
         864  +
         865  +
host
         866  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1417    867   
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
 1418    868   
new file mode 100644
 1419    869   
index 0000000..da5c905
 1420         -
-- /dev/null
         870  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signature.txt
 1421    871   
@@ -0,0 +1 @@
         872  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1422    873   
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
 1423    874   
new file mode 100644
 1424    875   
index 0000000..4329c98
 1425         -
-- /dev/null
         876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-signed-request.txt
 1426    877   
@@ -0,0 +1,3 @@
         878  +
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
         879  +
Host:example.amazonaws.com
         880  +
 1427    881   
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
 1428    882   
new file mode 100644
 1429    883   
index 0000000..d837e67
 1430         -
-- /dev/null
         884  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/query-string-to-sign.txt
 1431    885   
@@ -0,0 +1,4 @@
         886  +
AWS4-HMAC-SHA256
         887  +
20150830T123600Z
         888  +
20150830/us-east-1/service/aws4_request
         889  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1432    890   
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
 1433    891   
similarity index 100%
 1434    892   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/request.txt
 1435    893   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-normalized/request.txt
 1436    894   
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
 1437    895   
new file mode 100644
 1438    896   
index 0000000..0468d80
 1439         -
-- /dev/null
         897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/context.json
 1440    898   
@@ -0,0 +1,12 @@
         899  +
{
         900  +
    "credentials": {
         901  +
        "access_key_id": "AKIDEXAMPLE",
         902  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
         903  +
    },
         904  +
    "expiration_in_seconds": 3600,
         905  +
    "normalize": true,
         906  +
    "region": "us-east-1",
         907  +
    "service": "service",
         908  +
    "sign_body": false,
         909  +
    "timestamp": "2015-08-30T12:36:00Z"
         910  +
}
              \
 No newline at end of file
 1441    911   
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
 1442    912   
similarity index 100%
 1443    913   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.creq
 1444    914   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-canonical-request.txt
 1445    915   
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
 1446    916   
new file mode 100644
 1447    917   
index 0000000..87f295f
 1448         -
-- /dev/null
         918  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signature.txt
 1449    919   
@@ -0,0 +1 @@
         920  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1450    921   
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
 1451    922   
new file mode 100644
 1452    923   
index 0000000..f9b3815
 1453         -
-- /dev/null
         924  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-signed-request.txt
 1454    925   
@@ -0,0 +1,5 @@
         926  +
GET /example1/example2/../.. HTTP/1.1
         927  +
Host:example.amazonaws.com
         928  +
X-Amz-Date:20150830T123600Z
         929  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
         930  +
 1455    931   
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
 1456    932   
similarity index 100%
 1457    933   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.sts
 1458    934   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/header-string-to-sign.txt
 1459    935   
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
 1460    936   
new file mode 100644
 1461    937   
index 0000000..fb2420d
 1462         -
-- /dev/null
         938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-canonical-request.txt
 1463    939   
@@ -0,0 +1,7 @@
         940  +
GET
         941  +
/
         942  +
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
         943  +
host:example.amazonaws.com
         944  +
         945  +
host
         946  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1464    947   
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
 1465    948   
new file mode 100644
 1466    949   
index 0000000..da5c905
 1467         -
-- /dev/null
         950  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signature.txt
 1468    951   
@@ -0,0 +1 @@
         952  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1469    953   
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
 1470    954   
new file mode 100644
 1471    955   
index 0000000..b2988b7
 1472         -
-- /dev/null
         956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-signed-request.txt
 1473    957   
@@ -0,0 +1,3 @@
         958  +
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
         959  +
Host:example.amazonaws.com
         960  +
 1474    961   
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
 1475    962   
new file mode 100644
 1476    963   
index 0000000..d837e67
 1477         -
-- /dev/null
         964  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/query-string-to-sign.txt
 1478    965   
@@ -0,0 +1,4 @@
         966  +
AWS4-HMAC-SHA256
         967  +
20150830T123600Z
         968  +
20150830/us-east-1/service/aws4_request
         969  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1479    970   
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
 1480    971   
similarity index 100%
 1481    972   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/request.txt
 1482    973   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-normalized/request.txt
 1483    974   
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
 1484    975   
similarity index 99%
 1485    976   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/context.json
 1486    977   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/context.json
 1487    978   
index afe367b..7bee5c7 100644
 1488    979   
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
 1489    980   
similarity index 82%
 1490    981   
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
 1491    982   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1492    983   
index 36c3cdf..6919c44 100644
 1493         -
-- 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
         984  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-canonical-request.txt
 1494    985   
@@ -1,8 +1,8 @@
 1495    986   
GET
 1496         -
/
 1497         -
Param1=Value1&Param1=value2
         987  +
/example1/example2/../..
         988  +
 1498    989   
host:example.amazonaws.com
 1499    990   
x-amz-date:20150830T123600Z
 1500    991   
 1501    992   
host;x-amz-date
 1502    993   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1503    994   
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
 1504    995   
new file mode 100644
 1505    996   
index 0000000..4092d83
 1506         -
-- /dev/null
         997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signature.txt
 1507    998   
@@ -0,0 +1 @@
         999  +
dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
              \
 No newline at end of file
 1508   1000   
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
 1509   1001   
new file mode 100644
 1510   1002   
index 0000000..e731b35
 1511         -
-- /dev/null
        1003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-signed-request.txt
 1512   1004   
@@ -0,0 +1,5 @@
        1005  +
GET /example1/example2/../.. HTTP/1.1
        1006  +
Host:example.amazonaws.com
        1007  +
X-Amz-Date:20150830T123600Z
        1008  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=dc33e0856fd4baca4d7aa2146c38958283844764f38c74252a333df5e613003b
        1009  +
 1513   1010   
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
 1514   1011   
new file mode 100644
 1515   1012   
index 0000000..4f45752
 1516         -
-- /dev/null
        1013  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/header-string-to-sign.txt
 1517   1014   
@@ -0,0 +1,4 @@
        1015  +
AWS4-HMAC-SHA256
        1016  +
20150830T123600Z
        1017  +
20150830/us-east-1/service/aws4_request
        1018  +
76115030c0f3ff06c20fdff5ceb6d5e0b835a1743e00b94fea7c7f381269437b
              \
 No newline at end of file
 1518   1019   
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
 1519   1020   
new file mode 100644
 1520   1021   
index 0000000..e1fb07d
 1521         -
-- /dev/null
        1022  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-canonical-request.txt
 1522   1023   
@@ -0,0 +1,7 @@
        1024  +
GET
        1025  +
/example1/example2/../..
        1026  +
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
        1027  +
host:example.amazonaws.com
        1028  +
        1029  +
host
        1030  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1523   1031   
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
 1524   1032   
new file mode 100644
 1525   1033   
index 0000000..8ac31d7
 1526         -
-- /dev/null
        1034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signature.txt
 1527   1035   
@@ -0,0 +1 @@
        1036  +
b45db0bfd1cf15003493b733e33aa208dd981bd0e63037a6ed953f71d2118a16
              \
 No newline at end of file
 1528   1037   
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
 1529   1038   
new file mode 100644
 1530   1039   
index 0000000..ac074f9
 1531         -
-- /dev/null
        1040  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-signed-request.txt
 1532   1041   
@@ -0,0 +1,3 @@
        1042  +
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
        1043  +
Host:example.amazonaws.com
        1044  +
 1533   1045   
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
 1534   1046   
new file mode 100644
 1535   1047   
index 0000000..8dcb6ff
 1536         -
-- /dev/null
        1048  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/query-string-to-sign.txt
 1537   1049   
@@ -0,0 +1,4 @@
        1050  +
AWS4-HMAC-SHA256
        1051  +
20150830T123600Z
        1052  +
20150830/us-east-1/service/aws4_request
        1053  +
13b7758115ec070fe36a7ae9d754154ad73f6ee9a5eac022494857d0e7effc18
              \
 No newline at end of file
 1538   1054   
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
 1539   1055   
similarity index 100%
 1540   1056   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/request.txt
 1541   1057   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-relative-unnormalized/request.txt
 1542   1058   
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
 1543   1059   
similarity index 99%
 1544   1060   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/context.json
 1545   1061   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/context.json
 1546   1062   
index afe367b..7bee5c7 100644
 1547   1063   
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
 1548   1064   
similarity index 82%
 1549   1065   
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
 1550   1066   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1551   1067   
index 26898eb..f640bc2 100644
 1552         -
-- 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
        1068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-canonical-request.txt
 1553   1069   
@@ -1,8 +1,8 @@
 1554   1070   
GET
 1555         -
/
 1556         -
Param1=value1&Param1=value2
        1071  +
/example/..
        1072  +
 1557   1073   
host:example.amazonaws.com
 1558   1074   
x-amz-date:20150830T123600Z
 1559   1075   
 1560   1076   
host;x-amz-date
 1561   1077   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1562   1078   
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
 1563   1079   
new file mode 100644
 1564   1080   
index 0000000..d957303
 1565         -
-- /dev/null
        1081  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signature.txt
 1566   1082   
@@ -0,0 +1 @@
        1083  +
eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
              \
 No newline at end of file
 1567   1084   
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
 1568   1085   
new file mode 100644
 1569   1086   
index 0000000..4f42ffc
 1570         -
-- /dev/null
        1087  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-signed-request.txt
 1571   1088   
@@ -0,0 +1,5 @@
        1089  +
GET /example/.. HTTP/1.1
        1090  +
Host:example.amazonaws.com
        1091  +
X-Amz-Date:20150830T123600Z
        1092  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=eca7ead57bb5aa5c8e28007acd4ff04e1ff9a0ff3b237ec1554a184887ff9282
        1093  +
 1572   1094   
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
 1573   1095   
new file mode 100644
 1574   1096   
index 0000000..ca54bda
 1575         -
-- /dev/null
        1097  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/header-string-to-sign.txt
 1576   1098   
@@ -0,0 +1,4 @@
        1099  +
AWS4-HMAC-SHA256
        1100  +
20150830T123600Z
        1101  +
20150830/us-east-1/service/aws4_request
        1102  +
0511f456aa502b456d135fcb9d749374a55228f9dbeedda1eacf659e05b0615b
              \
 No newline at end of file
 1577   1103   
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
 1578   1104   
new file mode 100644
 1579   1105   
index 0000000..dc80036
 1580         -
-- /dev/null
        1106  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-canonical-request.txt
 1581   1107   
@@ -0,0 +1,7 @@
        1108  +
GET
        1109  +
/example/..
        1110  +
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
        1111  +
host:example.amazonaws.com
        1112  +
        1113  +
host
        1114  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1582   1115   
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
 1583   1116   
new file mode 100644
 1584   1117   
index 0000000..dfa0437
 1585         -
-- /dev/null
        1118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signature.txt
 1586   1119   
@@ -0,0 +1 @@
        1120  +
cbcb213b928a077e43275df47b500f1dfaa864ab3f5a18f6b95f4ff0938167ee
              \
 No newline at end of file
 1587   1121   
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
 1588   1122   
new file mode 100644
 1589   1123   
index 0000000..98367b1
 1590         -
-- /dev/null
        1124  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-signed-request.txt
 1591   1125   
@@ -0,0 +1,3 @@
        1126  +
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
        1127  +
Host:example.amazonaws.com
        1128  +
 1592   1129   
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
 1593   1130   
new file mode 100644
 1594   1131   
index 0000000..f65dd66
 1595         -
-- /dev/null
        1132  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/query-string-to-sign.txt
 1596   1133   
@@ -0,0 +1,4 @@
        1134  +
AWS4-HMAC-SHA256
        1135  +
20150830T123600Z
        1136  +
20150830/us-east-1/service/aws4_request
        1137  +
6e02e2dba21d6f269bae339b86ff27a4b7bbc9d88c482abccbfbf8a49d602482
              \
 No newline at end of file
 1597   1138   
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
 1598   1139   
similarity index 100%
 1599   1140   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/request.txt
 1600   1141   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-relative-unnormalized/request.txt
 1601   1142   
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
 1602   1143   
new file mode 100644
 1603   1144   
index 0000000..0468d80
 1604         -
-- /dev/null
        1145  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/context.json
 1605   1146   
@@ -0,0 +1,12 @@
        1147  +
{
        1148  +
    "credentials": {
        1149  +
        "access_key_id": "AKIDEXAMPLE",
        1150  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1151  +
    },
        1152  +
    "expiration_in_seconds": 3600,
        1153  +
    "normalize": true,
        1154  +
    "region": "us-east-1",
        1155  +
    "service": "service",
        1156  +
    "sign_body": false,
        1157  +
    "timestamp": "2015-08-30T12:36:00Z"
        1158  +
}
              \
 No newline at end of file
 1606   1159   
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
 1607   1160   
similarity index 100%
 1608   1161   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.creq
 1609   1162   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-canonical-request.txt
 1610   1163   
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
 1611   1164   
new file mode 100644
 1612   1165   
index 0000000..87f295f
 1613         -
-- /dev/null
        1166  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signature.txt
 1614   1167   
@@ -0,0 +1 @@
        1168  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1615   1169   
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
 1616   1170   
new file mode 100644
 1617   1171   
index 0000000..99c8eeb
 1618         -
-- /dev/null
        1172  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/header-signed-request.txt
 1619   1173   
@@ -0,0 +1,5 @@
        1174  +
GET /./ HTTP/1.1
        1175  +
Host:example.amazonaws.com
        1176  +
X-Amz-Date:20150830T123600Z
        1177  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1178  +
 1620   1179   
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
 1621   1180   
similarity index 100%
 1622   1181   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.sts
 1623   1182   
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
 1624   1183   
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
 1625   1184   
new file mode 100644
 1626   1185   
index 0000000..fb2420d
 1627         -
-- /dev/null
        1186  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-canonical-request.txt
 1628   1187   
@@ -0,0 +1,7 @@
        1188  +
GET
        1189  +
/
        1190  +
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
        1191  +
host:example.amazonaws.com
        1192  +
        1193  +
host
        1194  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1629   1195   
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
 1630   1196   
new file mode 100644
 1631   1197   
index 0000000..da5c905
 1632         -
-- /dev/null
        1198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signature.txt
 1633   1199   
@@ -0,0 +1 @@
        1200  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1634   1201   
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
 1635   1202   
new file mode 100644
 1636   1203   
index 0000000..2e47f69
 1637         -
-- /dev/null
        1204  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-signed-request.txt
 1638   1205   
@@ -0,0 +1,3 @@
        1206  +
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
        1207  +
Host:example.amazonaws.com
        1208  +
 1639   1209   
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
 1640   1210   
new file mode 100644
 1641   1211   
index 0000000..d837e67
 1642         -
-- /dev/null
        1212  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/query-string-to-sign.txt
 1643   1213   
@@ -0,0 +1,4 @@
        1214  +
AWS4-HMAC-SHA256
        1215  +
20150830T123600Z
        1216  +
20150830/us-east-1/service/aws4_request
        1217  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1644   1218   
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
 1645   1219   
similarity index 100%
 1646   1220   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/request.txt
 1647   1221   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-normalized/request.txt
 1648   1222   
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
 1649   1223   
similarity index 99%
 1650   1224   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/context.json
 1651   1225   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/context.json
 1652   1226   
index afe367b..7bee5c7 100644
 1653   1227   
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
 1654   1228   
new file mode 100644
 1655   1229   
index 0000000..5159048
 1656         -
-- /dev/null
        1230  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 1657   1231   
@@ -0,0 +1,8 @@
        1232  +
GET
        1233  +
/./
        1234  +
        1235  +
host:example.amazonaws.com
        1236  +
x-amz-date:20150830T123600Z
        1237  +
        1238  +
host;x-amz-date
        1239  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1658   1240   
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
 1659   1241   
new file mode 100644
 1660   1242   
index 0000000..b49ff0e
 1661         -
-- /dev/null
        1243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signature.txt
 1662   1244   
@@ -0,0 +1 @@
        1245  +
68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
              \
 No newline at end of file
 1663   1246   
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
 1664   1247   
new file mode 100644
 1665   1248   
index 0000000..aeb1ffa
 1666         -
-- /dev/null
        1249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-signed-request.txt
 1667   1250   
@@ -0,0 +1,5 @@
        1251  +
GET /./ HTTP/1.1
        1252  +
Host:example.amazonaws.com
        1253  +
X-Amz-Date:20150830T123600Z
        1254  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=68714168e6557f8f2de0ef956fc24dc2593a4bd2961f8df51898d8a134695145
        1255  +
 1668   1256   
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
 1669   1257   
new file mode 100644
 1670   1258   
index 0000000..b7d8caf
 1671         -
-- /dev/null
        1259  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/header-string-to-sign.txt
 1672   1260   
@@ -0,0 +1,4 @@
        1261  +
AWS4-HMAC-SHA256
        1262  +
20150830T123600Z
        1263  +
20150830/us-east-1/service/aws4_request
        1264  +
d67825e2268bd77a97c7688b8d72c31a3c1855b309808505ba0a9747d2465aa7
              \
 No newline at end of file
 1673   1265   
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
 1674   1266   
new file mode 100644
 1675   1267   
index 0000000..d4e029e
 1676         -
-- /dev/null
        1268  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 1677   1269   
@@ -0,0 +1,7 @@
        1270  +
GET
        1271  +
/./
        1272  +
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
        1273  +
host:example.amazonaws.com
        1274  +
        1275  +
host
        1276  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1678   1277   
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
 1679   1278   
new file mode 100644
 1680   1279   
index 0000000..fe8f4cc
 1681         -
-- /dev/null
        1280  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signature.txt
 1682   1281   
@@ -0,0 +1 @@
        1282  +
a9b13e8f3484d9505bf1a6f347219f8f35b0fe8f128ceea597efc146a3dfe90c
              \
 No newline at end of file
 1683   1283   
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
 1684   1284   
new file mode 100644
 1685   1285   
index 0000000..dcc4fc4
 1686         -
-- /dev/null
        1286  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-signed-request.txt
 1687   1287   
@@ -0,0 +1,3 @@
        1288  +
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
        1289  +
Host:example.amazonaws.com
        1290  +
 1688   1291   
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
 1689   1292   
new file mode 100644
 1690   1293   
index 0000000..5fb3ada
 1691         -
-- /dev/null
        1294  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/query-string-to-sign.txt
 1692   1295   
@@ -0,0 +1,4 @@
        1296  +
AWS4-HMAC-SHA256
        1297  +
20150830T123600Z
        1298  +
20150830/us-east-1/service/aws4_request
        1299  +
21b2da17873f30c1a7410efdc271738b318ccc2c9c6fbe1289fc242aeb1a8ae1
              \
 No newline at end of file
 1693   1300   
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
 1694   1301   
similarity index 100%
 1695   1302   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/request.txt
 1696   1303   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-dot-slash-unnormalized/request.txt
 1697   1304   
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
 1698   1305   
new file mode 100644
 1699   1306   
index 0000000..0468d80
 1700         -
-- /dev/null
        1307  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/context.json
 1701   1308   
@@ -0,0 +1,12 @@
        1309  +
{
        1310  +
    "credentials": {
        1311  +
        "access_key_id": "AKIDEXAMPLE",
        1312  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1313  +
    },
        1314  +
    "expiration_in_seconds": 3600,
        1315  +
    "normalize": true,
        1316  +
    "region": "us-east-1",
        1317  +
    "service": "service",
        1318  +
    "sign_body": false,
        1319  +
    "timestamp": "2015-08-30T12:36:00Z"
        1320  +
}
              \
 No newline at end of file
 1702   1321   
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
 1703   1322   
similarity index 100%
 1704   1323   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.creq
 1705   1324   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-canonical-request.txt
 1706   1325   
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
 1707   1326   
new file mode 100644
 1708   1327   
index 0000000..87f295f
 1709         -
-- /dev/null
        1328  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signature.txt
 1710   1329   
@@ -0,0 +1 @@
        1330  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 1711   1331   
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
 1712   1332   
new file mode 100644
 1713   1333   
index 0000000..b91087b
 1714         -
-- /dev/null
        1334  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-signed-request.txt
 1715   1335   
@@ -0,0 +1,5 @@
        1336  +
GET // HTTP/1.1
        1337  +
Host:example.amazonaws.com
        1338  +
X-Amz-Date:20150830T123600Z
        1339  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        1340  +
 1716   1341   
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
 1717   1342   
similarity index 100%
 1718   1343   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.sts
 1719   1344   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/header-string-to-sign.txt
 1720   1345   
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
 1721   1346   
new file mode 100644
 1722   1347   
index 0000000..fb2420d
 1723         -
-- /dev/null
        1348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-canonical-request.txt
 1724   1349   
@@ -0,0 +1,7 @@
        1350  +
GET
        1351  +
/
        1352  +
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
        1353  +
host:example.amazonaws.com
        1354  +
        1355  +
host
        1356  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1725   1357   
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
 1726   1358   
new file mode 100644
 1727   1359   
index 0000000..da5c905
 1728         -
-- /dev/null
        1360  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signature.txt
 1729   1361   
@@ -0,0 +1 @@
        1362  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 1730   1363   
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
 1731   1364   
new file mode 100644
 1732   1365   
index 0000000..0290ba4
 1733         -
-- /dev/null
        1366  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-signed-request.txt
 1734   1367   
@@ -0,0 +1,3 @@
        1368  +
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
        1369  +
Host:example.amazonaws.com
        1370  +
 1735   1371   
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
 1736   1372   
new file mode 100644
 1737   1373   
index 0000000..d837e67
 1738         -
-- /dev/null
        1374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/query-string-to-sign.txt
 1739   1375   
@@ -0,0 +1,4 @@
        1376  +
AWS4-HMAC-SHA256
        1377  +
20150830T123600Z
        1378  +
20150830/us-east-1/service/aws4_request
        1379  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 1740   1380   
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
 1741   1381   
similarity index 100%
 1742   1382   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/request.txt
 1743   1383   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-normalized/request.txt
 1744   1384   
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
 1745   1385   
new file mode 100644
 1746   1386   
index 0000000..0468d80
 1747         -
-- /dev/null
        1387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/context.json
 1748   1388   
@@ -0,0 +1,12 @@
        1389  +
{
        1390  +
    "credentials": {
        1391  +
        "access_key_id": "AKIDEXAMPLE",
        1392  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1393  +
    },
        1394  +
    "expiration_in_seconds": 3600,
        1395  +
    "normalize": true,
        1396  +
    "region": "us-east-1",
        1397  +
    "service": "service",
        1398  +
    "sign_body": false,
        1399  +
    "timestamp": "2015-08-30T12:36:00Z"
        1400  +
}
              \
 No newline at end of file
 1749   1401   
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
 1750   1402   
similarity index 100%
 1751   1403   
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
 1752   1404   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-canonical-request.txt
 1753   1405   
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
 1754   1406   
new file mode 100644
 1755   1407   
index 0000000..8f892bf
 1756         -
-- /dev/null
        1408  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signature.txt
 1757   1409   
@@ -0,0 +1 @@
        1410  +
ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
              \
 No newline at end of file
 1758   1411   
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
 1759   1412   
new file mode 100644
 1760   1413   
index 0000000..2a1895c
 1761         -
-- /dev/null
        1414  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/header-signed-request.txt
 1762   1415   
@@ -0,0 +1,5 @@
        1416  +
GET /./example HTTP/1.1
        1417  +
Host:example.amazonaws.com
        1418  +
X-Amz-Date:20150830T123600Z
        1419  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=ef75d96142cf21edca26f06005da7988e4f8dc83a165a80865db7089db637ec5
        1420  +
 1763   1421   
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
 1764   1422   
similarity index 100%
 1765   1423   
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
 1766   1424   
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
 1767   1425   
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
 1768   1426   
new file mode 100644
 1769   1427   
index 0000000..99dfc2a
 1770         -
-- /dev/null
        1428  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-canonical-request.txt
 1771   1429   
@@ -0,0 +1,7 @@
        1430  +
GET
        1431  +
/example
        1432  +
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
        1433  +
host:example.amazonaws.com
        1434  +
        1435  +
host
        1436  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1772   1437   
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
 1773   1438   
new file mode 100644
 1774   1439   
index 0000000..fcd7a17
 1775         -
-- /dev/null
        1440  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signature.txt
 1776   1441   
@@ -0,0 +1 @@
        1442  +
35034b1a0bdd969f346975386daf8aedfd4976573b8348cf4f67eaa41c5857de
              \
 No newline at end of file
 1777   1443   
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
 1778   1444   
new file mode 100644
 1779   1445   
index 0000000..f671de2
 1780         -
-- /dev/null
        1446  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-signed-request.txt
 1781   1447   
@@ -0,0 +1,3 @@
        1448  +
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
        1449  +
Host:example.amazonaws.com
        1450  +
 1782   1451   
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
 1783   1452   
new file mode 100644
 1784   1453   
index 0000000..f8456dc
 1785         -
-- /dev/null
        1454  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/query-string-to-sign.txt
 1786   1455   
@@ -0,0 +1,4 @@
        1456  +
AWS4-HMAC-SHA256
        1457  +
20150830T123600Z
        1458  +
20150830/us-east-1/service/aws4_request
        1459  +
88dd73bb06de69cb042dbb82cadbb4fce1a2623615d94520c271614abf94e738
              \
 No newline at end of file
 1787   1460   
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
 1788   1461   
similarity index 100%
 1789   1462   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/request.txt
 1790   1463   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-normalized/request.txt
 1791   1464   
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
 1792   1465   
similarity index 99%
 1793   1466   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/context.json
 1794   1467   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/context.json
 1795   1468   
index afe367b..7bee5c7 100644
 1796   1469   
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
 1797   1470   
new file mode 100644
 1798   1471   
index 0000000..36698c7
 1799         -
-- /dev/null
        1472  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 1800   1473   
@@ -0,0 +1,8 @@
        1474  +
GET
        1475  +
/./example
        1476  +
        1477  +
host:example.amazonaws.com
        1478  +
x-amz-date:20150830T123600Z
        1479  +
        1480  +
host;x-amz-date
        1481  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1801   1482   
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
 1802   1483   
new file mode 100644
 1803   1484   
index 0000000..4a4b8f2
 1804         -
-- /dev/null
        1485  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signature.txt
 1805   1486   
@@ -0,0 +1 @@
        1487  +
beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
              \
 No newline at end of file
 1806   1488   
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
 1807   1489   
new file mode 100644
 1808   1490   
index 0000000..d462bcd
 1809         -
-- /dev/null
        1491  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 1810   1492   
@@ -0,0 +1,5 @@
        1493  +
GET /./example HTTP/1.1
        1494  +
Host:example.amazonaws.com
        1495  +
X-Amz-Date:20150830T123600Z
        1496  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=beb03f223f7deae4146464f06e29eebbee9c8afbe15c290cf07aa8b119e14cff
        1497  +
 1811   1498   
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
 1812   1499   
new file mode 100644
 1813   1500   
index 0000000..8be78c9
 1814         -
-- /dev/null
        1501  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/header-string-to-sign.txt
 1815   1502   
@@ -0,0 +1,4 @@
        1503  +
AWS4-HMAC-SHA256
        1504  +
20150830T123600Z
        1505  +
20150830/us-east-1/service/aws4_request
        1506  +
73895e0e829507e28e39fd24669aedc2434a8e179e547e3c075b42921f952cdb
              \
 No newline at end of file
 1816   1507   
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
 1817   1508   
new file mode 100644
 1818   1509   
index 0000000..fe1103c
 1819         -
-- /dev/null
        1510  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 1820   1511   
@@ -0,0 +1,7 @@
        1512  +
GET
        1513  +
/./example
        1514  +
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
        1515  +
host:example.amazonaws.com
        1516  +
        1517  +
host
        1518  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1821   1519   
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
 1822   1520   
new file mode 100644
 1823   1521   
index 0000000..ce80762
 1824         -
-- /dev/null
        1522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signature.txt
 1825   1523   
@@ -0,0 +1 @@
        1524  +
72b11f16d9530b18204bfb71f2d6ab085894c0ed8d352730a6e76234c58b5e10
              \
 No newline at end of file
 1826   1525   
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
 1827   1526   
new file mode 100644
 1828   1527   
index 0000000..30841a6
 1829         -
-- /dev/null
        1528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 1830   1529   
@@ -0,0 +1,3 @@
        1530  +
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
        1531  +
Host:example.amazonaws.com
        1532  +
 1831   1533   
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
 1832   1534   
new file mode 100644
 1833   1535   
index 0000000..5c66509
 1834         -
-- /dev/null
        1536  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/query-string-to-sign.txt
 1835   1537   
@@ -0,0 +1,4 @@
        1538  +
AWS4-HMAC-SHA256
        1539  +
20150830T123600Z
        1540  +
20150830/us-east-1/service/aws4_request
        1541  +
cb23444939471187ac1f0fb25d437337af0d5f48b5ae0ede5baa3727c8c6af92
              \
 No newline at end of file
 1836   1542   
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
 1837   1543   
similarity index 100%
 1838   1544   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/request.txt
 1839   1545   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-pointless-dot-unnormalized/request.txt
 1840   1546   
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
 1841   1547   
new file mode 100644
 1842   1548   
index 0000000..7bee5c7
 1843         -
-- /dev/null
        1549  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/context.json
 1844   1550   
@@ -0,0 +1,12 @@
        1551  +
{
        1552  +
    "credentials": {
        1553  +
        "access_key_id": "AKIDEXAMPLE",
        1554  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1555  +
    },
        1556  +
    "expiration_in_seconds": 3600,
        1557  +
    "normalize": false,
        1558  +
    "region": "us-east-1",
        1559  +
    "service": "service",
        1560  +
    "sign_body": false,
        1561  +
    "timestamp": "2015-08-30T12:36:00Z"
        1562  +
}
              \
 No newline at end of file
 1845   1563   
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
 1846   1564   
new file mode 100644
 1847   1565   
index 0000000..5860c8a
 1848         -
-- /dev/null
        1566  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-canonical-request.txt
 1849   1567   
@@ -0,0 +1,8 @@
        1568  +
GET
        1569  +
//
        1570  +
        1571  +
host:example.amazonaws.com
        1572  +
x-amz-date:20150830T123600Z
        1573  +
        1574  +
host;x-amz-date
        1575  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1850   1576   
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
 1851   1577   
new file mode 100644
 1852   1578   
index 0000000..8310471
 1853         -
-- /dev/null
        1579  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signature.txt
 1854   1580   
@@ -0,0 +1 @@
        1581  +
c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
              \
 No newline at end of file
 1855   1582   
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
 1856   1583   
new file mode 100644
 1857   1584   
index 0000000..2a7afef
 1858         -
-- /dev/null
        1585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-signed-request.txt
 1859   1586   
@@ -0,0 +1,5 @@
        1587  +
GET // HTTP/1.1
        1588  +
Host:example.amazonaws.com
        1589  +
X-Amz-Date:20150830T123600Z
        1590  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=c88bcd3d312d75078c0cd961d6deae3f4c754924b01669efcfcb439fd5e5b76e
        1591  +
 1860   1592   
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
 1861   1593   
new file mode 100644
 1862   1594   
index 0000000..06059dd
 1863         -
-- /dev/null
        1595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/header-string-to-sign.txt
 1864   1596   
@@ -0,0 +1,4 @@
        1597  +
AWS4-HMAC-SHA256
        1598  +
20150830T123600Z
        1599  +
20150830/us-east-1/service/aws4_request
        1600  +
80cb39203d058af815de2b79250ff56e1b73eb9b4718c86556cdc6f150c5d209
              \
 No newline at end of file
 1865   1601   
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
 1866   1602   
new file mode 100644
 1867   1603   
index 0000000..6d63aef
 1868         -
-- /dev/null
        1604  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-canonical-request.txt
 1869   1605   
@@ -0,0 +1,7 @@
        1606  +
GET
        1607  +
//
        1608  +
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
        1609  +
host:example.amazonaws.com
        1610  +
        1611  +
host
        1612  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1870   1613   
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
 1871   1614   
new file mode 100644
 1872   1615   
index 0000000..e5b7b6c
 1873         -
-- /dev/null
        1616  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signature.txt
 1874   1617   
@@ -0,0 +1 @@
        1618  +
b2a9542809db687769200f56a844a03f2bd0291d6eb90232d5101c6a579446cd
              \
 No newline at end of file
 1875   1619   
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
 1876   1620   
new file mode 100644
 1877   1621   
index 0000000..46fe3fd
 1878         -
-- /dev/null
        1622  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-signed-request.txt
 1879   1623   
@@ -0,0 +1,3 @@
        1624  +
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
        1625  +
Host:example.amazonaws.com
        1626  +
 1880   1627   
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
 1881   1628   
new file mode 100644
 1882   1629   
index 0000000..ea79940
 1883         -
-- /dev/null
        1630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/query-string-to-sign.txt
 1884   1631   
@@ -0,0 +1,4 @@
        1632  +
AWS4-HMAC-SHA256
        1633  +
20150830T123600Z
        1634  +
20150830/us-east-1/service/aws4_request
        1635  +
e10a01494cafa1f2207c4de80c69b7a36d6f2d282aa63ee64a5ca50e175cf730
              \
 No newline at end of file
 1885   1636   
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
 1886   1637   
similarity index 100%
 1887   1638   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/request.txt
 1888   1639   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slash-unnormalized/request.txt
 1889   1640   
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
 1890   1641   
new file mode 100644
 1891   1642   
index 0000000..0468d80
 1892         -
-- /dev/null
        1643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/context.json
 1893   1644   
@@ -0,0 +1,12 @@
        1645  +
{
        1646  +
    "credentials": {
        1647  +
        "access_key_id": "AKIDEXAMPLE",
        1648  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1649  +
    },
        1650  +
    "expiration_in_seconds": 3600,
        1651  +
    "normalize": true,
        1652  +
    "region": "us-east-1",
        1653  +
    "service": "service",
        1654  +
    "sign_body": false,
        1655  +
    "timestamp": "2015-08-30T12:36:00Z"
        1656  +
}
              \
 No newline at end of file
 1894   1657   
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
 1895   1658   
similarity index 100%
 1896   1659   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.creq
 1897   1660   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-canonical-request.txt
 1898   1661   
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
 1899   1662   
new file mode 100644
 1900   1663   
index 0000000..71c7bac
 1901         -
-- /dev/null
        1664  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signature.txt
 1902   1665   
@@ -0,0 +1 @@
        1666  +
9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
              \
 No newline at end of file
 1903   1667   
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
 1904   1668   
new file mode 100644
 1905   1669   
index 0000000..0add1f1
 1906         -
-- /dev/null
        1670  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-signed-request.txt
 1907   1671   
@@ -0,0 +1,5 @@
        1672  +
GET //example// HTTP/1.1
        1673  +
Host:example.amazonaws.com
        1674  +
X-Amz-Date:20150830T123600Z
        1675  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9a624bd73a37c9a373b5312afbebe7a714a789de108f0bdfe846570885f57e84
        1676  +
 1908   1677   
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
 1909   1678   
similarity index 100%
 1910   1679   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.sts
 1911   1680   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/header-string-to-sign.txt
 1912   1681   
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
 1913   1682   
new file mode 100644
 1914   1683   
index 0000000..ce72510
 1915         -
-- /dev/null
        1684  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-canonical-request.txt
 1916   1685   
@@ -0,0 +1,7 @@
        1686  +
GET
        1687  +
/example/
        1688  +
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
        1689  +
host:example.amazonaws.com
        1690  +
        1691  +
host
        1692  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1917   1693   
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
 1918   1694   
new file mode 100644
 1919   1695   
index 0000000..265f387
 1920         -
-- /dev/null
        1696  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signature.txt
 1921   1697   
@@ -0,0 +1 @@
        1698  +
c1834e8fb0307243711f0f907f6ab7311ed300d87f13792d7ee4da89ab93e082
              \
 No newline at end of file
 1922   1699   
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
 1923   1700   
new file mode 100644
 1924   1701   
index 0000000..e1fcb2e
 1925         -
-- /dev/null
        1702  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-signed-request.txt
 1926   1703   
@@ -0,0 +1,3 @@
        1704  +
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
        1705  +
Host:example.amazonaws.com
        1706  +
 1927   1707   
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
 1928   1708   
new file mode 100644
 1929   1709   
index 0000000..a14de61
 1930         -
-- /dev/null
        1710  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/query-string-to-sign.txt
 1931   1711   
@@ -0,0 +1,4 @@
        1712  +
AWS4-HMAC-SHA256
        1713  +
20150830T123600Z
        1714  +
20150830/us-east-1/service/aws4_request
        1715  +
1a3e3fe19998c62136ed2ff9c8531973a46d4a21b336f58e8fcad185ec64d642
              \
 No newline at end of file
 1932   1716   
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
 1933   1717   
similarity index 100%
 1934   1718   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/request.txt
 1935   1719   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-normalized/request.txt
 1936   1720   
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
 1937   1721   
new file mode 100644
 1938   1722   
index 0000000..7bee5c7
 1939         -
-- /dev/null
        1723  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/context.json
 1940   1724   
@@ -0,0 +1,12 @@
        1725  +
{
        1726  +
    "credentials": {
        1727  +
        "access_key_id": "AKIDEXAMPLE",
        1728  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1729  +
    },
        1730  +
    "expiration_in_seconds": 3600,
        1731  +
    "normalize": false,
        1732  +
    "region": "us-east-1",
        1733  +
    "service": "service",
        1734  +
    "sign_body": false,
        1735  +
    "timestamp": "2015-08-30T12:36:00Z"
        1736  +
}
              \
 No newline at end of file
 1941   1737   
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
 1942   1738   
new file mode 100644
 1943   1739   
index 0000000..dfffaaf
 1944         -
-- /dev/null
        1740  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-canonical-request.txt
 1945   1741   
@@ -0,0 +1,8 @@
        1742  +
GET
        1743  +
//example//
        1744  +
        1745  +
host:example.amazonaws.com
        1746  +
x-amz-date:20150830T123600Z
        1747  +
        1748  +
host;x-amz-date
        1749  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1946   1750   
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
 1947   1751   
new file mode 100644
 1948   1752   
index 0000000..edbcc0d
 1949         -
-- /dev/null
        1753  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signature.txt
 1950   1754   
@@ -0,0 +1 @@
        1755  +
87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
              \
 No newline at end of file
 1951   1756   
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
 1952   1757   
new file mode 100644
 1953   1758   
index 0000000..4cc12dd
 1954         -
-- /dev/null
        1759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-signed-request.txt
 1955   1760   
@@ -0,0 +1,5 @@
        1761  +
GET //example// HTTP/1.1
        1762  +
Host:example.amazonaws.com
        1763  +
X-Amz-Date:20150830T123600Z
        1764  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=87cca117541a147f6df867677d98a7d80dff226d2bfca9e4ffa899665623c7e5
        1765  +
 1956   1766   
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
 1957   1767   
new file mode 100644
 1958   1768   
index 0000000..3eba390
 1959         -
-- /dev/null
        1769  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/header-string-to-sign.txt
 1960   1770   
@@ -0,0 +1,4 @@
        1771  +
AWS4-HMAC-SHA256
        1772  +
20150830T123600Z
        1773  +
20150830/us-east-1/service/aws4_request
        1774  +
528ec3105ee1f34ab014bb0a1a45da0ed2742a4fea3555149e5b4d5d201eb240
              \
 No newline at end of file
 1961   1775   
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
 1962   1776   
new file mode 100644
 1963   1777   
index 0000000..f7844e3
 1964         -
-- /dev/null
        1778  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-canonical-request.txt
 1965   1779   
@@ -0,0 +1,7 @@
        1780  +
GET
        1781  +
//example//
        1782  +
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
        1783  +
host:example.amazonaws.com
        1784  +
        1785  +
host
        1786  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 1966   1787   
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
 1967   1788   
new file mode 100644
 1968   1789   
index 0000000..a8d6b96
 1969         -
-- /dev/null
        1790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signature.txt
 1970   1791   
@@ -0,0 +1 @@
        1792  +
822a5a9ba28072c5ab2bb4a6307d0c88276d40e49fec6b724c03fb4d4ba60fc2
              \
 No newline at end of file
 1971   1793   
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
 1972   1794   
new file mode 100644
 1973   1795   
index 0000000..a8322c6
 1974         -
-- /dev/null
        1796  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-signed-request.txt
 1975   1797   
@@ -0,0 +1,3 @@
        1798  +
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
        1799  +
Host:example.amazonaws.com
        1800  +
 1976   1801   
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
 1977   1802   
new file mode 100644
 1978   1803   
index 0000000..068724d
 1979         -
-- /dev/null
        1804  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/query-string-to-sign.txt
 1980   1805   
@@ -0,0 +1,4 @@
        1806  +
AWS4-HMAC-SHA256
        1807  +
20150830T123600Z
        1808  +
20150830/us-east-1/service/aws4_request
        1809  +
82241114f9a6320f054333c890952474aa7a0069d28a4326c3a8d95bbecc69ee
              \
 No newline at end of file
 1981   1810   
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
 1982   1811   
similarity index 100%
 1983   1812   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/request.txt
 1984   1813   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-slashes-unnormalized/request.txt
 1985   1814   
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
 1986   1815   
new file mode 100644
 1987   1816   
index 0000000..0468d80
 1988         -
-- /dev/null
        1817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/context.json
 1989   1818   
@@ -0,0 +1,12 @@
        1819  +
{
        1820  +
    "credentials": {
        1821  +
        "access_key_id": "AKIDEXAMPLE",
        1822  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1823  +
    },
        1824  +
    "expiration_in_seconds": 3600,
        1825  +
    "normalize": true,
        1826  +
    "region": "us-east-1",
        1827  +
    "service": "service",
        1828  +
    "sign_body": false,
        1829  +
    "timestamp": "2015-08-30T12:36:00Z"
        1830  +
}
              \
 No newline at end of file
 1990   1831   
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
 1991   1832   
similarity index 100%
 1992   1833   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.creq
 1993   1834   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-canonical-request.txt
 1994   1835   
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
 1995   1836   
new file mode 100644
 1996   1837   
index 0000000..f63892b
 1997         -
-- /dev/null
        1838  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signature.txt
 1998   1839   
@@ -0,0 +1 @@
        1840  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 1999   1841   
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
 2000   1842   
new file mode 100644
 2001   1843   
index 0000000..19cd5cb
 2002         -
-- /dev/null
        1844  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-signed-request.txt
 2003   1845   
@@ -0,0 +1,5 @@
        1846  +
GET /example space/ HTTP/1.1
        1847  +
Host:example.amazonaws.com
        1848  +
X-Amz-Date:20150830T123600Z
        1849  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1850  +
 2004   1851   
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
 2005   1852   
similarity index 100%
 2006   1853   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.sts
 2007   1854   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/header-string-to-sign.txt
 2008   1855   
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
 2009   1856   
new file mode 100644
 2010   1857   
index 0000000..fa3d3e2
 2011         -
-- /dev/null
        1858  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-canonical-request.txt
 2012   1859   
@@ -0,0 +1,7 @@
        1860  +
GET
        1861  +
/example%20space/
        1862  +
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
        1863  +
host:example.amazonaws.com
        1864  +
        1865  +
host
        1866  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2013   1867   
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
 2014   1868   
new file mode 100644
 2015   1869   
index 0000000..5b2e204
 2016         -
-- /dev/null
        1870  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signature.txt
 2017   1871   
@@ -0,0 +1 @@
        1872  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 2018   1873   
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
 2019   1874   
new file mode 100644
 2020   1875   
index 0000000..93ca1d0
 2021         -
-- /dev/null
        1876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-signed-request.txt
 2022   1877   
@@ -0,0 +1,3 @@
        1878  +
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
        1879  +
Host:example.amazonaws.com
        1880  +
 2023   1881   
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
 2024   1882   
new file mode 100644
 2025   1883   
index 0000000..b4cb789
 2026         -
-- /dev/null
        1884  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/query-string-to-sign.txt
 2027   1885   
@@ -0,0 +1,4 @@
        1886  +
AWS4-HMAC-SHA256
        1887  +
20150830T123600Z
        1888  +
20150830/us-east-1/service/aws4_request
        1889  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 2028   1890   
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
 2029   1891   
new file mode 100644
 2030   1892   
index 0000000..860a277
 2031         -
-- /dev/null
        1893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-normalized/request.txt
 2032   1894   
@@ -0,0 +1,2 @@
        1895  +
GET /example%20space/ HTTP/1.1
        1896  +
Host:example.amazonaws.com
 2033   1897   
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
 2034   1898   
new file mode 100644
 2035   1899   
index 0000000..7bee5c7
 2036         -
-- /dev/null
        1900  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/context.json
 2037   1901   
@@ -0,0 +1,12 @@
        1902  +
{
        1903  +
    "credentials": {
        1904  +
        "access_key_id": "AKIDEXAMPLE",
        1905  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        1906  +
    },
        1907  +
    "expiration_in_seconds": 3600,
        1908  +
    "normalize": false,
        1909  +
    "region": "us-east-1",
        1910  +
    "service": "service",
        1911  +
    "sign_body": false,
        1912  +
    "timestamp": "2015-08-30T12:36:00Z"
        1913  +
}
              \
 No newline at end of file
 2038   1914   
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
 2039   1915   
similarity index 66%
 2040   1916   
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
 2041   1917   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 2042   1918   
index 71dc981..124a709 100644
 2043         -
-- 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
        1919  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-canonical-request.txt
 2044   1920   
@@ -1,9 +1,8 @@
 2045         -
POST
 2046         -
/
        1921  +
GET
        1922  +
/example%20space/
 2047   1923   
 2048         -
content-type:application/x-www-form-urlencoded; charset=utf-8
 2049   1924   
host:example.amazonaws.com
 2050   1925   
x-amz-date:20150830T123600Z
 2051   1926   
 2052   1927   
host;x-amz-date
 2053   1928   
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2054   1929   
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
 2055   1930   
new file mode 100644
 2056   1931   
index 0000000..f63892b
 2057         -
-- /dev/null
        1932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signature.txt
 2058   1933   
@@ -0,0 +1 @@
        1934  +
652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
              \
 No newline at end of file
 2059   1935   
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
 2060   1936   
new file mode 100644
 2061   1937   
index 0000000..19cd5cb
 2062         -
-- /dev/null
        1938  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-signed-request.txt
 2063   1939   
@@ -0,0 +1,5 @@
        1940  +
GET /example space/ HTTP/1.1
        1941  +
Host:example.amazonaws.com
        1942  +
X-Amz-Date:20150830T123600Z
        1943  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=652487583200325589f1fba4c7e578f72c47cb61beeca81406b39ddec1366741
        1944  +
 2064   1945   
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
 2065   1946   
new file mode 100644
 2066   1947   
index 0000000..a633f0c
 2067         -
-- /dev/null
        1948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/header-string-to-sign.txt
 2068   1949   
@@ -0,0 +1,4 @@
        1950  +
AWS4-HMAC-SHA256
        1951  +
20150830T123600Z
        1952  +
20150830/us-east-1/service/aws4_request
        1953  +
63ee75631ed7234ae61b5f736dfc7754cdccfedbff4b5128a915706ee9390d86
              \
 No newline at end of file
 2069   1954   
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
 2070   1955   
new file mode 100644
 2071   1956   
index 0000000..fa3d3e2
 2072         -
-- /dev/null
        1957  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-canonical-request.txt
 2073   1958   
@@ -0,0 +1,7 @@
        1959  +
GET
        1960  +
/example%20space/
        1961  +
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
        1962  +
host:example.amazonaws.com
        1963  +
        1964  +
host
        1965  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2074   1966   
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
 2075   1967   
new file mode 100644
 2076   1968   
index 0000000..5b2e204
 2077         -
-- /dev/null
        1969  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signature.txt
 2078   1970   
@@ -0,0 +1 @@
        1971  +
7a1f416954786484c9824d93c1f26ef64acb9b1b6c9154d08c9f07d0e394abf6
              \
 No newline at end of file
 2079   1972   
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
 2080   1973   
new file mode 100644
 2081   1974   
index 0000000..93ca1d0
 2082         -
-- /dev/null
        1975  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-signed-request.txt
 2083   1976   
@@ -0,0 +1,3 @@
        1977  +
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
        1978  +
Host:example.amazonaws.com
        1979  +
 2084   1980   
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
 2085   1981   
new file mode 100644
 2086   1982   
index 0000000..b4cb789
 2087         -
-- /dev/null
        1983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/query-string-to-sign.txt
 2088   1984   
@@ -0,0 +1,4 @@
        1985  +
AWS4-HMAC-SHA256
        1986  +
20150830T123600Z
        1987  +
20150830/us-east-1/service/aws4_request
        1988  +
cc3dd817bd405e51225826ec4934a96d065d6af5b6b0163c7a5abbd26a84519e
              \
 No newline at end of file
 2089   1989   
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
 2090   1990   
similarity index 67%
 2091   1991   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
 2092   1992   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2093   1993   
index b7d5e8b..ab509ab 100644
 2094         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-space/get-space.req
        1994  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-space-unnormalized/request.txt
 2095   1995   
@@ -1,3 +1,2 @@
 2096   1996   
GET /example space/ HTTP/1.1
 2097   1997   
Host:example.amazonaws.com
 2098         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2099   1998   
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
 2100   1999   
new file mode 100644
 2101   2000   
index 0000000..0468d80
 2102         -
-- /dev/null
        2001  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/context.json
 2103   2002   
@@ -0,0 +1,12 @@
        2003  +
{
        2004  +
    "credentials": {
        2005  +
        "access_key_id": "AKIDEXAMPLE",
        2006  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2007  +
    },
        2008  +
    "expiration_in_seconds": 3600,
        2009  +
    "normalize": true,
        2010  +
    "region": "us-east-1",
        2011  +
    "service": "service",
        2012  +
    "sign_body": false,
        2013  +
    "timestamp": "2015-08-30T12:36:00Z"
        2014  +
}
              \
 No newline at end of file
 2104   2015   
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
 2105   2016   
similarity index 100%
 2106   2017   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.creq
 2107   2018   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-canonical-request.txt
 2108   2019   
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
 2109   2020   
new file mode 100644
 2110   2021   
index 0000000..e503354
 2111         -
-- /dev/null
        2022  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signature.txt
 2112   2023   
@@ -0,0 +1 @@
        2024  +
07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
              \
 No newline at end of file
 2113   2025   
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
 2114   2026   
new file mode 100644
 2115   2027   
index 0000000..4367892
 2116         -
-- /dev/null
        2028  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-signed-request.txt
 2117   2029   
@@ -0,0 +1,5 @@
        2030  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        2031  +
Host:example.amazonaws.com
        2032  +
X-Amz-Date:20150830T123600Z
        2033  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=07ef7494c76fa4850883e2b006601f940f8a34d404d0cfa977f52a65bbf5f24f
        2034  +
 2118   2035   
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
 2119   2036   
similarity index 100%
 2120   2037   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.sts
 2121   2038   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/header-string-to-sign.txt
 2122   2039   
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
 2123   2040   
new file mode 100644
 2124   2041   
index 0000000..d7f0696
 2125         -
-- /dev/null
        2042  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-canonical-request.txt
 2126   2043   
@@ -0,0 +1,7 @@
        2044  +
GET
        2045  +
/-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
        2046  +
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
        2047  +
host:example.amazonaws.com
        2048  +
        2049  +
host
        2050  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2127   2051   
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
 2128   2052   
new file mode 100644
 2129   2053   
index 0000000..509e972
 2130         -
-- /dev/null
        2054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signature.txt
 2131   2055   
@@ -0,0 +1 @@
        2056  +
95968482db1b9e0fadef6efc1bd24689f77c77d9ef56919c96a28cc92e0d6005
              \
 No newline at end of file
 2132   2057   
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
 2133   2058   
new file mode 100644
 2134   2059   
index 0000000..79aad36
 2135         -
-- /dev/null
        2060  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-signed-request.txt
 2136   2061   
@@ -0,0 +1,3 @@
        2062  +
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
        2063  +
Host:example.amazonaws.com
        2064  +
 2137   2065   
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
 2138   2066   
new file mode 100644
 2139   2067   
index 0000000..e8068b3
 2140         -
-- /dev/null
        2068  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/query-string-to-sign.txt
 2141   2069   
@@ -0,0 +1,4 @@
        2070  +
AWS4-HMAC-SHA256
        2071  +
20150830T123600Z
        2072  +
20150830/us-east-1/service/aws4_request
        2073  +
3134f2fbc6ef58f34b74b01643a159bfccbc121ea4288a4b75e65bc805d08219
              \
 No newline at end of file
 2142   2074   
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
 2143   2075   
similarity index 100%
 2144   2076   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/request.txt
 2145   2077   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-unreserved/request.txt
 2146   2078   
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
 2147   2079   
new file mode 100644
 2148   2080   
index 0000000..0468d80
 2149         -
-- /dev/null
        2081  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/context.json
 2150   2082   
@@ -0,0 +1,12 @@
        2083  +
{
        2084  +
    "credentials": {
        2085  +
        "access_key_id": "AKIDEXAMPLE",
        2086  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2087  +
    },
        2088  +
    "expiration_in_seconds": 3600,
        2089  +
    "normalize": true,
        2090  +
    "region": "us-east-1",
        2091  +
    "service": "service",
        2092  +
    "sign_body": false,
        2093  +
    "timestamp": "2015-08-30T12:36:00Z"
        2094  +
}
              \
 No newline at end of file
 2151   2095   
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
 2152   2096   
similarity index 100%
 2153   2097   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.creq
 2154   2098   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-canonical-request.txt
 2155   2099   
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
 2156   2100   
new file mode 100644
 2157   2101   
index 0000000..9a13676
 2158         -
-- /dev/null
        2102  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signature.txt
 2159   2103   
@@ -0,0 +1 @@
        2104  +
8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
              \
 No newline at end of file
 2160   2105   
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
 2161   2106   
new file mode 100644
 2162   2107   
index 0000000..5aaf47c
 2163         -
-- /dev/null
        2108  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-signed-request.txt
 2164   2109   
@@ -0,0 +1,5 @@
        2110  +
GET /ሴ HTTP/1.1
        2111  +
Host:example.amazonaws.com
        2112  +
X-Amz-Date:20150830T123600Z
        2113  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=8318018e0b0f223aa2bbf98705b62bb787dc9c0e678f255a891fd03141be5d85
        2114  +
 2165   2115   
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
 2166   2116   
similarity index 100%
 2167   2117   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.sts
 2168   2118   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/header-string-to-sign.txt
 2169   2119   
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
 2170   2120   
new file mode 100644
 2171   2121   
index 0000000..bdb77c9
 2172         -
-- /dev/null
        2122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-canonical-request.txt
 2173   2123   
@@ -0,0 +1,7 @@
        2124  +
GET
        2125  +
/%E1%88%B4
        2126  +
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
        2127  +
host:example.amazonaws.com
        2128  +
        2129  +
host
        2130  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2174   2131   
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
 2175   2132   
new file mode 100644
 2176   2133   
index 0000000..21342b3
 2177         -
-- /dev/null
        2134  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signature.txt
 2178   2135   
@@ -0,0 +1 @@
        2136  +
10eae3f14a260bd3911cc6d008d3c576d143b05b62f09782a7a4b37f52178e44
              \
 No newline at end of file
 2179   2137   
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
 2180   2138   
new file mode 100644
 2181   2139   
index 0000000..368c2ff
 2182         -
-- /dev/null
        2140  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-signed-request.txt
 2183   2141   
@@ -0,0 +1,3 @@
        2142  +
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
        2143  +
Host:example.amazonaws.com
        2144  +
 2184   2145   
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
 2185   2146   
new file mode 100644
 2186   2147   
index 0000000..56b8fbf
 2187         -
-- /dev/null
        2148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/query-string-to-sign.txt
 2188   2149   
@@ -0,0 +1,4 @@
        2150  +
AWS4-HMAC-SHA256
        2151  +
20150830T123600Z
        2152  +
20150830/us-east-1/service/aws4_request
        2153  +
d8f78e05d0d9bb1c16ae1e60ed405de76cfb8fdcd3e414ffe65fad563b996d66
              \
 No newline at end of file
 2189   2154   
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
 2190   2155   
similarity index 62%
 2191   2156   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
 2192   2157   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2193   2158   
index da4808d..9e273f6 100644
 2194         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-utf8/get-utf8.req
        2159  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-utf8/request.txt
 2195   2160   
@@ -1,3 +1,2 @@
 2196   2161   
GET /ሴ HTTP/1.1
 2197   2162   
Host:example.amazonaws.com
 2198         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2199   2163   
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
 2200   2164   
new file mode 100644
 2201   2165   
index 0000000..0468d80
 2202         -
-- /dev/null
        2166  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/context.json
 2203   2167   
@@ -0,0 +1,12 @@
        2168  +
{
        2169  +
    "credentials": {
        2170  +
        "access_key_id": "AKIDEXAMPLE",
        2171  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2172  +
    },
        2173  +
    "expiration_in_seconds": 3600,
        2174  +
    "normalize": true,
        2175  +
    "region": "us-east-1",
        2176  +
    "service": "service",
        2177  +
    "sign_body": false,
        2178  +
    "timestamp": "2015-08-30T12:36:00Z"
        2179  +
}
              \
 No newline at end of file
 2204   2180   
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
 2205   2181   
similarity index 100%
 2206   2182   
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
 2207   2183   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-canonical-request.txt
 2208   2184   
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
 2209   2185   
new file mode 100644
 2210   2186   
index 0000000..d7f1c1c
 2211         -
-- /dev/null
        2187  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signature.txt
 2212   2188   
@@ -0,0 +1 @@
        2189  +
a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
              \
 No newline at end of file
 2213   2190   
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
 2214   2191   
new file mode 100644
 2215   2192   
index 0000000..1c60790
 2216         -
-- /dev/null
        2193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/header-signed-request.txt
 2217   2194   
@@ -0,0 +1,5 @@
        2195  +
GET /?Param1=value1 HTTP/1.1
        2196  +
Host:example.amazonaws.com
        2197  +
X-Amz-Date:20150830T123600Z
        2198  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=a67d582fa61cc504c4bae71f336f98b97f1ea3c7a6bfe1b6e45aec72011b9aeb
        2199  +
 2218   2200   
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
 2219   2201   
similarity index 100%
 2220   2202   
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
 2221   2203   
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
 2222   2204   
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
 2223   2205   
new file mode 100644
 2224   2206   
index 0000000..6a823ed
 2225         -
-- /dev/null
        2207  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-canonical-request.txt
 2226   2208   
@@ -0,0 +1,7 @@
        2209  +
GET
        2210  +
/
        2211  +
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
        2212  +
host:example.amazonaws.com
        2213  +
        2214  +
host
        2215  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2227   2216   
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
 2228   2217   
new file mode 100644
 2229   2218   
index 0000000..8c77136
 2230         -
-- /dev/null
        2219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signature.txt
 2231   2220   
@@ -0,0 +1 @@
        2221  +
49096700cbbaa5753443850f40df10f904fc2fdb544dc9512203cc77c471a9de
              \
 No newline at end of file
 2232   2222   
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
 2233   2223   
new file mode 100644
 2234   2224   
index 0000000..2d337d8
 2235         -
-- /dev/null
        2225  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-signed-request.txt
 2236   2226   
@@ -0,0 +1,3 @@
        2227  +
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
        2228  +
Host:example.amazonaws.com
        2229  +
 2237   2230   
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
 2238   2231   
new file mode 100644
 2239   2232   
index 0000000..191a484
 2240         -
-- /dev/null
        2233  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/query-string-to-sign.txt
 2241   2234   
@@ -0,0 +1,4 @@
        2235  +
AWS4-HMAC-SHA256
        2236  +
20150830T123600Z
        2237  +
20150830/us-east-1/service/aws4_request
        2238  +
74828b608f939673ed5a839190452a943b0178760f258da766209b21f8ca3f86
              \
 No newline at end of file
 2242   2239   
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
 2243   2240   
similarity index 100%
 2244   2241   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/request.txt
 2245   2242   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-empty-query-key/request.txt
 2246   2243   
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
 2247   2244   
new file mode 100644
 2248   2245   
index 0000000..0468d80
 2249         -
-- /dev/null
        2246  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/context.json
 2250   2247   
@@ -0,0 +1,12 @@
        2248  +
{
        2249  +
    "credentials": {
        2250  +
        "access_key_id": "AKIDEXAMPLE",
        2251  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2252  +
    },
        2253  +
    "expiration_in_seconds": 3600,
        2254  +
    "normalize": true,
        2255  +
    "region": "us-east-1",
        2256  +
    "service": "service",
        2257  +
    "sign_body": false,
        2258  +
    "timestamp": "2015-08-30T12:36:00Z"
        2259  +
}
              \
 No newline at end of file
 2251   2260   
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
 2252   2261   
new file mode 100644
 2253   2262   
index 0000000..0c8ba21
 2254         -
-- /dev/null
        2263  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-canonical-request.txt
 2255   2264   
@@ -0,0 +1,8 @@
        2265  +
GET
        2266  +
/
        2267  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        2268  +
host:example.amazonaws.com
        2269  +
x-amz-date:20150830T123600Z
        2270  +
        2271  +
host;x-amz-date
        2272  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2256   2273   
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
 2257   2274   
new file mode 100644
 2258   2275   
index 0000000..9ab65ed
 2259         -
-- /dev/null
        2276  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signature.txt
 2260   2277   
@@ -0,0 +1 @@
        2278  +
371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
              \
 No newline at end of file
 2261   2279   
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
 2262   2280   
new file mode 100644
 2263   2281   
index 0000000..0bcdf98
 2264         -
-- /dev/null
        2282  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-signed-request.txt
 2265   2283   
@@ -0,0 +1,5 @@
        2284  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2285  +
Host:example.amazonaws.com
        2286  +
X-Amz-Date:20150830T123600Z
        2287  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=371d3713e185cc334048618a97f809c9ffe339c62934c032af5a0e595648fcac
        2288  +
 2266   2289   
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
 2267   2290   
new file mode 100644
 2268   2291   
index 0000000..bf674ad
 2269         -
-- /dev/null
        2292  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/header-string-to-sign.txt
 2270   2293   
@@ -0,0 +1,4 @@
        2294  +
AWS4-HMAC-SHA256
        2295  +
20150830T123600Z
        2296  +
20150830/us-east-1/service/aws4_request
        2297  +
868294f5c38bd141c4972a373a76654f1418a8e4fc18b2e7903ae45e8ae0ec71
              \
 No newline at end of file
 2271   2298   
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
 2272   2299   
new file mode 100644
 2273   2300   
index 0000000..3f590a4
 2274         -
-- /dev/null
        2301  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-canonical-request.txt
 2275   2302   
@@ -0,0 +1,7 @@
        2303  +
GET
        2304  +
/
        2305  +
%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
        2306  +
host:example.amazonaws.com
        2307  +
        2308  +
host
        2309  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2276   2310   
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
 2277   2311   
new file mode 100644
 2278   2312   
index 0000000..e225eab
 2279         -
-- /dev/null
        2313  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signature.txt
 2280   2314   
@@ -0,0 +1 @@
        2315  +
c5f1848ceec943ac2ca68ee720460c23aaae30a2300586597ada94c4a65e4787
              \
 No newline at end of file
 2281   2316   
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
 2282   2317   
new file mode 100644
 2283   2318   
index 0000000..6206719
 2284         -
-- /dev/null
        2319  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-signed-request.txt
 2285   2320   
@@ -0,0 +1,3 @@
        2321  +
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
        2322  +
Host:example.amazonaws.com
        2323  +
 2286   2324   
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
 2287   2325   
new file mode 100644
 2288   2326   
index 0000000..81a4210
 2289         -
-- /dev/null
        2327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/query-string-to-sign.txt
 2290   2328   
@@ -0,0 +1,4 @@
        2329  +
AWS4-HMAC-SHA256
        2330  +
20150830T123600Z
        2331  +
20150830/us-east-1/service/aws4_request
        2332  +
9808d6cdc8245c74e705c68350fc6a62b91778cdd613890e5d177998c02c6f53
              \
 No newline at end of file
 2291   2333   
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
 2292   2334   
new file mode 100644
 2293   2335   
index 0000000..368c6e3
 2294         -
-- /dev/null
        2336  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-encoded/request.txt
 2295   2337   
@@ -0,0 +1,2 @@
        2338  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        2339  +
Host:example.amazonaws.com
 2296   2340   
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
 2297   2341   
new file mode 100644
 2298   2342   
index 0000000..0468d80
 2299         -
-- /dev/null
        2343  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/context.json
 2300   2344   
@@ -0,0 +1,12 @@
        2345  +
{
        2346  +
    "credentials": {
        2347  +
        "access_key_id": "AKIDEXAMPLE",
        2348  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2349  +
    },
        2350  +
    "expiration_in_seconds": 3600,
        2351  +
    "normalize": true,
        2352  +
    "region": "us-east-1",
        2353  +
    "service": "service",
        2354  +
    "sign_body": false,
        2355  +
    "timestamp": "2015-08-30T12:36:00Z"
        2356  +
}
              \
 No newline at end of file
 2301   2357   
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
 2302   2358   
similarity index 100%
 2303   2359   
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
 2304   2360   
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
 2305   2361   
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
 2306   2362   
new file mode 100644
 2307   2363   
index 0000000..6a8cb9d
 2308         -
-- /dev/null
        2364  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signature.txt
 2309   2365   
@@ -0,0 +1 @@
        2366  +
b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
              \
 No newline at end of file
 2310   2367   
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
 2311   2368   
new file mode 100644
 2312   2369   
index 0000000..f78a9d2
 2313         -
-- /dev/null
        2370  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/header-signed-request.txt
 2314   2371   
@@ -0,0 +1,5 @@
        2372  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        2373  +
Host:example.amazonaws.com
        2374  +
X-Amz-Date:20150830T123600Z
        2375  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=b97d918cfa904a5beff61c982a1b6f458b799221646efd99d3219ec94cdf2500
        2376  +
 2315   2377   
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
 2316   2378   
similarity index 100%
 2317   2379   
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
 2318   2380   
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
 2319   2381   
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
 2320   2382   
new file mode 100644
 2321   2383   
index 0000000..a6e1bc7
 2322         -
-- /dev/null
        2384  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-canonical-request.txt
 2323   2385   
@@ -0,0 +1,7 @@
        2386  +
GET
        2387  +
/
        2388  +
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
        2389  +
host:example.amazonaws.com
        2390  +
        2391  +
host
        2392  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2324   2393   
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
 2325   2394   
new file mode 100644
 2326   2395   
index 0000000..d6e6a88
 2327         -
-- /dev/null
        2396  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signature.txt
 2328   2397   
@@ -0,0 +1 @@
        2398  +
86012e2c9ad4d77369f5d81c11f75158aae4f895a085212cc6d3f923d300bed5
              \
 No newline at end of file
 2329   2399   
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
 2330   2400   
new file mode 100644
 2331   2401   
index 0000000..538e2f0
 2332         -
-- /dev/null
        2402  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/query-signed-request.txt
 2333   2403   
@@ -0,0 +1,3 @@
        2404  +
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
        2405  +
Host:example.amazonaws.com
        2406  +
 2334   2407   
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
 2335   2408   
new file mode 100644
 2336   2409   
index 0000000..e696085
 2337         -
-- /dev/null
        2410  +
++ 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
 2338   2411   
@@ -0,0 +1,4 @@
        2412  +
AWS4-HMAC-SHA256
        2413  +
20150830T123600Z
        2414  +
20150830/us-east-1/service/aws4_request
        2415  +
b82878ecb2ab7ad194b9fe79b2946c2a36ee1627a219408089b2d774c1a0cedb
              \
 No newline at end of file
 2339   2416   
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
 2340   2417   
similarity index 100%
 2341   2418   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-order-key-case/request.txt
 2342   2419   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-order-key-case/request.txt
 2343   2420   
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
 2344   2421   
new file mode 100644
 2345   2422   
index 0000000..0468d80
 2346         -
-- /dev/null
        2423  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/context.json
 2347   2424   
@@ -0,0 +1,12 @@
        2425  +
{
        2426  +
    "credentials": {
        2427  +
        "access_key_id": "AKIDEXAMPLE",
        2428  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2429  +
    },
        2430  +
    "expiration_in_seconds": 3600,
        2431  +
    "normalize": true,
        2432  +
    "region": "us-east-1",
        2433  +
    "service": "service",
        2434  +
    "sign_body": false,
        2435  +
    "timestamp": "2015-08-30T12:36:00Z"
        2436  +
}
              \
 No newline at end of file
 2348   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2349   2438   
similarity index 100%
 2350   2439   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.creq
 2351   2440   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-canonical-request.txt
 2352   2441   
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
 2353   2442   
new file mode 100644
 2354   2443   
index 0000000..876a64b
 2355         -
-- /dev/null
        2444  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signature.txt
 2356   2445   
@@ -0,0 +1 @@
        2446  +
9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
              \
 No newline at end of file
 2357   2447   
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
 2358   2448   
similarity index 50%
 2359   2449   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
 2360   2450   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2361   2451   
index ba1ef40..9d0d993 100644
 2362         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sreq
        2452  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-signed-request.txt
 2363   2453   
@@ -1,4 +1,5 @@
 2364   2454   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 2365   2455   
Host:example.amazonaws.com
 2366   2456   
X-Amz-Date:20150830T123600Z
 2367         -
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
        2457  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=9c3e54bfcdf0b19771a7f523ee5669cdf59bc7cc0884027167c21bb143a40197
        2458  +
 2368   2459   
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
 2369   2460   
similarity index 100%
 2370   2461   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.sts
 2371   2462   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/header-string-to-sign.txt
 2372   2463   
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
 2373   2464   
new file mode 100644
 2374   2465   
index 0000000..a1bac59
 2375         -
-- /dev/null
        2466  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-canonical-request.txt
 2376   2467   
@@ -0,0 +1,7 @@
        2468  +
GET
        2469  +
/
        2470  +
-._~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
        2471  +
host:example.amazonaws.com
        2472  +
        2473  +
host
        2474  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2377   2475   
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
 2378   2476   
new file mode 100644
 2379   2477   
index 0000000..41881e9
 2380         -
-- /dev/null
        2478  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signature.txt
 2381   2479   
@@ -0,0 +1 @@
        2480  +
8e76a88a7433637b12778d5592799b29ad21ecd6cf6325051c21d86f0acda2bf
              \
 No newline at end of file
 2382   2481   
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
 2383   2482   
new file mode 100644
 2384   2483   
index 0000000..3179076
 2385         -
-- /dev/null
        2484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-signed-request.txt
 2386   2485   
@@ -0,0 +1,3 @@
        2486  +
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
        2487  +
Host:example.amazonaws.com
        2488  +
 2387   2489   
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
 2388   2490   
new file mode 100644
 2389   2491   
index 0000000..6d675fc
 2390         -
-- /dev/null
        2492  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/query-string-to-sign.txt
 2391   2493   
@@ -0,0 +1,4 @@
        2494  +
AWS4-HMAC-SHA256
        2495  +
20150830T123600Z
        2496  +
20150830/us-east-1/service/aws4_request
        2497  +
c77f27ef2b499fbfee3f0b3c88bba7057b2b31ee9b62047078a5e0d6be91fd58
              \
 No newline at end of file
 2392   2498   
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
 2393   2499   
similarity index 100%
 2394   2500   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/request.txt
 2395   2501   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query-unreserved/request.txt
 2396   2502   
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
 2397   2503   
new file mode 100644
 2398   2504   
index 0000000..0468d80
 2399         -
-- /dev/null
        2505  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/context.json
 2400   2506   
@@ -0,0 +1,12 @@
        2507  +
{
        2508  +
    "credentials": {
        2509  +
        "access_key_id": "AKIDEXAMPLE",
        2510  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2511  +
    },
        2512  +
    "expiration_in_seconds": 3600,
        2513  +
    "normalize": true,
        2514  +
    "region": "us-east-1",
        2515  +
    "service": "service",
        2516  +
    "sign_body": false,
        2517  +
    "timestamp": "2015-08-30T12:36:00Z"
        2518  +
}
              \
 No newline at end of file
 2401   2519   
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
 2402   2520   
similarity index 100%
 2403   2521   
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
 2404   2522   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-canonical-request.txt
 2405   2523   
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
 2406   2524   
new file mode 100644
 2407   2525   
index 0000000..87f295f
 2408         -
-- /dev/null
        2526  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signature.txt
 2409   2527   
@@ -0,0 +1 @@
        2528  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2410   2529   
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
 2411   2530   
new file mode 100644
 2412   2531   
index 0000000..36b86e7
 2413         -
-- /dev/null
        2532  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-signed-request.txt
 2414   2533   
@@ -0,0 +1,5 @@
        2534  +
GET / HTTP/1.1
        2535  +
Host:example.amazonaws.com
        2536  +
X-Amz-Date:20150830T123600Z
        2537  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2538  +
 2415   2539   
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
 2416   2540   
similarity index 100%
 2417   2541   
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
 2418   2542   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/header-string-to-sign.txt
 2419   2543   
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
 2420   2544   
new file mode 100644
 2421   2545   
index 0000000..fb2420d
 2422         -
-- /dev/null
        2546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-canonical-request.txt
 2423   2547   
@@ -0,0 +1,7 @@
        2548  +
GET
        2549  +
/
        2550  +
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
        2551  +
host:example.amazonaws.com
        2552  +
        2553  +
host
        2554  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2424   2555   
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
 2425   2556   
new file mode 100644
 2426   2557   
index 0000000..da5c905
 2427         -
-- /dev/null
        2558  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signature.txt
 2428   2559   
@@ -0,0 +1 @@
        2560  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2429   2561   
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
 2430   2562   
new file mode 100644
 2431   2563   
index 0000000..eeb7a8f
 2432         -
-- /dev/null
        2564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-signed-request.txt
 2433   2565   
@@ -0,0 +1,3 @@
        2566  +
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
        2567  +
Host:example.amazonaws.com
        2568  +
 2434   2569   
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
 2435   2570   
new file mode 100644
 2436   2571   
index 0000000..d837e67
 2437         -
-- /dev/null
        2572  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/query-string-to-sign.txt
 2438   2573   
@@ -0,0 +1,4 @@
        2574  +
AWS4-HMAC-SHA256
        2575  +
20150830T123600Z
        2576  +
20150830/us-east-1/service/aws4_request
        2577  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2439   2578   
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
 2440   2579   
similarity index 100%
 2441   2580   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query/request.txt
 2442   2581   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-query/request.txt
 2443   2582   
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
 2444   2583   
new file mode 100644
 2445   2584   
index 0000000..0468d80
 2446         -
-- /dev/null
        2585  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/context.json
 2447   2586   
@@ -0,0 +1,12 @@
        2587  +
{
        2588  +
    "credentials": {
        2589  +
        "access_key_id": "AKIDEXAMPLE",
        2590  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2591  +
    },
        2592  +
    "expiration_in_seconds": 3600,
        2593  +
    "normalize": true,
        2594  +
    "region": "us-east-1",
        2595  +
    "service": "service",
        2596  +
    "sign_body": false,
        2597  +
    "timestamp": "2015-08-30T12:36:00Z"
        2598  +
}
              \
 No newline at end of file
 2448   2599   
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
 2449   2600   
similarity index 100%
 2450   2601   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.creq
 2451   2602   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-canonical-request.txt
 2452   2603   
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
 2453   2604   
new file mode 100644
 2454   2605   
index 0000000..19a2cc9
 2455         -
-- /dev/null
        2606  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signature.txt
 2456   2607   
@@ -0,0 +1 @@
        2608  +
2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
              \
 No newline at end of file
 2457   2609   
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
 2458   2610   
new file mode 100644
 2459   2611   
index 0000000..acb13ee
 2460         -
-- /dev/null
        2612  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-signed-request.txt
 2461   2613   
@@ -0,0 +1,5 @@
        2614  +
GET /?ሴ=bar HTTP/1.1
        2615  +
Host:example.amazonaws.com
        2616  +
X-Amz-Date:20150830T123600Z
        2617  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=2cdec8eed098649ff3a119c94853b13c643bcf08f8b0a1d91e12c9027818dd04
        2618  +
 2462   2619   
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
 2463   2620   
similarity index 100%
 2464   2621   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.sts
 2465   2622   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/header-string-to-sign.txt
 2466   2623   
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
 2467   2624   
new file mode 100644
 2468   2625   
index 0000000..92cee62
 2469         -
-- /dev/null
        2626  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-canonical-request.txt
 2470   2627   
@@ -0,0 +1,7 @@
        2628  +
GET
        2629  +
/
        2630  +
%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
        2631  +
host:example.amazonaws.com
        2632  +
        2633  +
host
        2634  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2471   2635   
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
 2472   2636   
new file mode 100644
 2473   2637   
index 0000000..c9e49de
 2474         -
-- /dev/null
        2638  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signature.txt
 2475   2639   
@@ -0,0 +1 @@
        2640  +
0bdd809b1519ac4f0c1dc3540e2cc46bd0c7f778eda408b2ebf3b913d21ff600
              \
 No newline at end of file
 2476   2641   
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
 2477   2642   
new file mode 100644
 2478   2643   
index 0000000..8f4d8d0
 2479         -
-- /dev/null
        2644  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-signed-request.txt
 2480   2645   
@@ -0,0 +1,3 @@
        2646  +
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
        2647  +
Host:example.amazonaws.com
        2648  +
 2481   2649   
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
 2482   2650   
new file mode 100644
 2483   2651   
index 0000000..a6181dc
 2484         -
-- /dev/null
        2652  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/query-string-to-sign.txt
 2485   2653   
@@ -0,0 +1,4 @@
        2654  +
AWS4-HMAC-SHA256
        2655  +
20150830T123600Z
        2656  +
20150830/us-east-1/service/aws4_request
        2657  +
b2e8ae8e48ec880defebc6f6dc1d9fbc9f1856b33146f2943060ca71a50a7a77
              \
 No newline at end of file
 2486   2658   
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
 2487   2659   
similarity index 64%
 2488   2660   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
 2489   2661   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2490   2662   
index cc2757e..aff333a 100644
 2491         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-utf8-query/get-vanilla-utf8-query.req
        2663  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-utf8-query/request.txt
 2492   2664   
@@ -1,3 +1,2 @@
 2493   2665   
GET /?ሴ=bar HTTP/1.1
 2494   2666   
Host:example.amazonaws.com
 2495         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 2496   2667   
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
 2497   2668   
similarity index 99%
 2498   2669   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/context.json
 2499   2670   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/context.json
 2500   2671   
index a457c8a..a334e18 100644
 2501   2672   
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
 2502   2673   
new file mode 100644
 2503   2674   
index 0000000..ccacdeb
 2504         -
-- /dev/null
        2675  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-canonical-request.txt
 2505   2676   
@@ -0,0 +1,9 @@
        2677  +
GET
        2678  +
/
        2679  +
        2680  +
host:example.amazonaws.com
        2681  +
x-amz-date:20150830T123600Z
        2682  +
x-amz-security-token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2683  +
        2684  +
host;x-amz-date;x-amz-security-token
        2685  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2506   2686   
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
 2507   2687   
new file mode 100644
 2508   2688   
index 0000000..083e30d
 2509         -
-- /dev/null
        2689  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signature.txt
 2510   2690   
@@ -0,0 +1 @@
        2691  +
07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
              \
 No newline at end of file
 2511   2692   
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
 2512   2693   
new file mode 100644
 2513   2694   
index 0000000..5287932
 2514         -
-- /dev/null
        2695  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-signed-request.txt
 2515   2696   
@@ -0,0 +1,6 @@
        2697  +
GET / HTTP/1.1
        2698  +
Host:example.amazonaws.com
        2699  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        2700  +
X-Amz-Date:20150830T123600Z
        2701  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=07ec1639c89043aa0e3e2de82b96708f198cceab042d4a97044c66dd9f74e7f8
        2702  +
 2516   2703   
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
 2517   2704   
new file mode 100644
 2518   2705   
index 0000000..742b880
 2519         -
-- /dev/null
        2706  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/header-string-to-sign.txt
 2520   2707   
@@ -0,0 +1,4 @@
        2708  +
AWS4-HMAC-SHA256
        2709  +
20150830T123600Z
        2710  +
20150830/us-east-1/service/aws4_request
        2711  +
067b36aa60031588cea4a4cde1f21215227a047690c72247f1d70b32fbbfad2b
              \
 No newline at end of file
 2521   2712   
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
 2522   2713   
new file mode 100644
 2523   2714   
index 0000000..5e75179
 2524         -
-- /dev/null
        2715  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-canonical-request.txt
 2525   2716   
@@ -0,0 +1,7 @@
        2717  +
GET
        2718  +
/
        2719  +
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
        2720  +
host:example.amazonaws.com
        2721  +
        2722  +
host
        2723  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2526   2724   
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
 2527   2725   
new file mode 100644
 2528   2726   
index 0000000..50b947f
 2529         -
-- /dev/null
        2727  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signature.txt
 2530   2728   
@@ -0,0 +1 @@
        2729  +
7ff2b50b376cb4d151970630573d6291dc128cc5c2a12ffb237f73cc53f67b6c
              \
 No newline at end of file
 2531   2730   
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
 2532   2731   
new file mode 100644
 2533   2732   
index 0000000..aee910b
 2534         -
-- /dev/null
        2733  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-signed-request.txt
 2535   2734   
@@ -0,0 +1,3 @@
        2735  +
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
        2736  +
Host:example.amazonaws.com
        2737  +
 2536   2738   
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
 2537   2739   
new file mode 100644
 2538   2740   
index 0000000..04a6c17
 2539         -
-- /dev/null
        2741  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/query-string-to-sign.txt
 2540   2742   
@@ -0,0 +1,4 @@
        2743  +
AWS4-HMAC-SHA256
        2744  +
20150830T123600Z
        2745  +
20150830/us-east-1/service/aws4_request
        2746  +
cb30434103085aa9e73780fc60dc9a9df818fd2a7b1de12a9f6f4d791f898761
              \
 No newline at end of file
 2541   2747   
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
 2542   2748   
similarity index 100%
 2543   2749   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/request.txt
 2544   2750   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla-with-session-token/request.txt
 2545   2751   
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
 2546   2752   
new file mode 100644
 2547   2753   
index 0000000..0468d80
 2548         -
-- /dev/null
        2754  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/context.json
 2549   2755   
@@ -0,0 +1,12 @@
        2756  +
{
        2757  +
    "credentials": {
        2758  +
        "access_key_id": "AKIDEXAMPLE",
        2759  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2760  +
    },
        2761  +
    "expiration_in_seconds": 3600,
        2762  +
    "normalize": true,
        2763  +
    "region": "us-east-1",
        2764  +
    "service": "service",
        2765  +
    "sign_body": false,
        2766  +
    "timestamp": "2015-08-30T12:36:00Z"
        2767  +
}
              \
 No newline at end of file
 2550   2768   
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
 2551   2769   
similarity index 100%
 2552   2770   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.creq
 2553   2771   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-canonical-request.txt
 2554   2772   
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
 2555   2773   
new file mode 100644
 2556   2774   
index 0000000..87f295f
 2557         -
-- /dev/null
        2775  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signature.txt
 2558   2776   
@@ -0,0 +1 @@
        2777  +
5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
              \
 No newline at end of file
 2559   2778   
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
 2560   2779   
new file mode 100644
 2561   2780   
index 0000000..36b86e7
 2562         -
-- /dev/null
        2781  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-signed-request.txt
 2563   2782   
@@ -0,0 +1,5 @@
        2783  +
GET / HTTP/1.1
        2784  +
Host:example.amazonaws.com
        2785  +
X-Amz-Date:20150830T123600Z
        2786  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5fa00fa31553b73ebf1942676e86291e8372ff2a2260956d9b8aae1d763fbf31
        2787  +
 2564   2788   
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
 2565   2789   
similarity index 100%
 2566   2790   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.sts
 2567   2791   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/header-string-to-sign.txt
 2568   2792   
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
 2569   2793   
new file mode 100644
 2570   2794   
index 0000000..fb2420d
 2571         -
-- /dev/null
        2795  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-canonical-request.txt
 2572   2796   
@@ -0,0 +1,7 @@
        2797  +
GET
        2798  +
/
        2799  +
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
        2800  +
host:example.amazonaws.com
        2801  +
        2802  +
host
        2803  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2573   2804   
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
 2574   2805   
new file mode 100644
 2575   2806   
index 0000000..da5c905
 2576         -
-- /dev/null
        2807  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signature.txt
 2577   2808   
@@ -0,0 +1 @@
        2809  +
e93c787ed7f371d5c6b165c1b38ede9550f4dce4144713e844b25b7192d3865d
              \
 No newline at end of file
 2578   2810   
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
 2579   2811   
new file mode 100644
 2580   2812   
index 0000000..eeb7a8f
 2581         -
-- /dev/null
        2813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-signed-request.txt
 2582   2814   
@@ -0,0 +1,3 @@
        2815  +
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
        2816  +
Host:example.amazonaws.com
        2817  +
 2583   2818   
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
 2584   2819   
new file mode 100644
 2585   2820   
index 0000000..d837e67
 2586         -
-- /dev/null
        2821  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/query-string-to-sign.txt
 2587   2822   
@@ -0,0 +1,4 @@
        2823  +
AWS4-HMAC-SHA256
        2824  +
20150830T123600Z
        2825  +
20150830/us-east-1/service/aws4_request
        2826  +
bb7705b4aa3cb8e8f5e1e0b3d4c0b64030797a313c8ceee43e33117cc43eadc5
              \
 No newline at end of file
 2588   2827   
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
 2589   2828   
similarity index 100%
 2590   2829   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla/request.txt
 2591   2830   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/get-vanilla/request.txt
 2592   2831   
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
 2593   2832   
new file mode 100644
 2594   2833   
index 0000000..0468d80
 2595         -
-- /dev/null
        2834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/context.json
 2596   2835   
@@ -0,0 +1,12 @@
        2836  +
{
        2837  +
    "credentials": {
        2838  +
        "access_key_id": "AKIDEXAMPLE",
        2839  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2840  +
    },
        2841  +
    "expiration_in_seconds": 3600,
        2842  +
    "normalize": true,
        2843  +
    "region": "us-east-1",
        2844  +
    "service": "service",
        2845  +
    "sign_body": false,
        2846  +
    "timestamp": "2015-08-30T12:36:00Z"
        2847  +
}
              \
 No newline at end of file
 2597   2848   
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
 2598   2849   
similarity index 100%
 2599   2850   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.creq
 2600   2851   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-canonical-request.txt
 2601   2852   
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
 2602   2853   
new file mode 100644
 2603   2854   
index 0000000..629487f
 2604         -
-- /dev/null
        2855  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signature.txt
 2605   2856   
@@ -0,0 +1 @@
        2857  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2606   2858   
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
 2607   2859   
new file mode 100644
 2608   2860   
index 0000000..0d99b1c
 2609         -
-- /dev/null
        2861  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-signed-request.txt
 2610   2862   
@@ -0,0 +1,5 @@
        2863  +
POST / HTTP/1.1
        2864  +
Host:example.amazonaws.com
        2865  +
X-Amz-Date:20150830T123600Z
        2866  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        2867  +
 2611   2868   
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
 2612   2869   
similarity index 100%
 2613   2870   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.sts
 2614   2871   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/header-string-to-sign.txt
 2615   2872   
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
 2616   2873   
new file mode 100644
 2617   2874   
index 0000000..d3341e7
 2618         -
-- /dev/null
        2875  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-canonical-request.txt
 2619   2876   
@@ -0,0 +1,7 @@
        2877  +
POST
        2878  +
/
        2879  +
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
        2880  +
host:example.amazonaws.com
        2881  +
        2882  +
host
        2883  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2620   2884   
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
 2621   2885   
new file mode 100644
 2622   2886   
index 0000000..79f7e0d
 2623         -
-- /dev/null
        2887  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signature.txt
 2624   2888   
@@ -0,0 +1 @@
        2889  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2625   2890   
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
 2626   2891   
new file mode 100644
 2627   2892   
index 0000000..94f1b21
 2628         -
-- /dev/null
        2893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-signed-request.txt
 2629   2894   
@@ -0,0 +1,3 @@
        2895  +
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
        2896  +
Host:example.amazonaws.com
        2897  +
 2630   2898   
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
 2631   2899   
new file mode 100644
 2632   2900   
index 0000000..e8f335b
 2633         -
-- /dev/null
        2901  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/query-string-to-sign.txt
 2634   2902   
@@ -0,0 +1,4 @@
        2903  +
AWS4-HMAC-SHA256
        2904  +
20150830T123600Z
        2905  +
20150830/us-east-1/service/aws4_request
        2906  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2635   2907   
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
 2636   2908   
similarity index 100%
 2637   2909   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/request.txt
 2638   2910   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-case/request.txt
 2639   2911   
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
 2640   2912   
new file mode 100644
 2641   2913   
index 0000000..0468d80
 2642         -
-- /dev/null
        2914  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/context.json
 2643   2915   
@@ -0,0 +1,12 @@
        2916  +
{
        2917  +
    "credentials": {
        2918  +
        "access_key_id": "AKIDEXAMPLE",
        2919  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        2920  +
    },
        2921  +
    "expiration_in_seconds": 3600,
        2922  +
    "normalize": true,
        2923  +
    "region": "us-east-1",
        2924  +
    "service": "service",
        2925  +
    "sign_body": false,
        2926  +
    "timestamp": "2015-08-30T12:36:00Z"
        2927  +
}
              \
 No newline at end of file
 2644   2928   
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
 2645   2929   
similarity index 100%
 2646   2930   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.creq
 2647   2931   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-canonical-request.txt
 2648   2932   
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
 2649   2933   
new file mode 100644
 2650   2934   
index 0000000..e4e6428
 2651         -
-- /dev/null
        2935  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signature.txt
 2652   2936   
@@ -0,0 +1 @@
        2937  +
c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
              \
 No newline at end of file
 2653   2938   
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
 2654   2939   
new file mode 100644
 2655   2940   
index 0000000..e3778f5
 2656         -
-- /dev/null
        2941  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-signed-request.txt
 2657   2942   
@@ -0,0 +1,6 @@
        2943  +
POST / HTTP/1.1
        2944  +
Host:example.amazonaws.com
        2945  +
My-Header1:value1
        2946  +
X-Amz-Date:20150830T123600Z
        2947  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=c5410059b04c1ee005303aed430f6e6645f61f4dc9e1461ec8f8916fdf18852c
        2948  +
 2658   2949   
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
 2659   2950   
similarity index 100%
 2660   2951   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.sts
 2661   2952   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/header-string-to-sign.txt
 2662   2953   
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
 2663   2954   
new file mode 100644
 2664   2955   
index 0000000..bd7c937
 2665         -
-- /dev/null
        2956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-canonical-request.txt
 2666   2957   
@@ -0,0 +1,8 @@
        2958  +
POST
        2959  +
/
        2960  +
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
        2961  +
host:example.amazonaws.com
        2962  +
my-header1:value1
        2963  +
        2964  +
host;my-header1
        2965  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2667   2966   
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
 2668   2967   
new file mode 100644
 2669   2968   
index 0000000..0416f13
 2670         -
-- /dev/null
        2969  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signature.txt
 2671   2970   
@@ -0,0 +1 @@
        2971  +
c09d07e0d55871f10f2a6d350d994acf6825a3cae70673d7def55616e6119dd7
              \
 No newline at end of file
 2672   2972   
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
 2673   2973   
new file mode 100644
 2674   2974   
index 0000000..5e6522f
 2675         -
-- /dev/null
        2975  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-signed-request.txt
 2676   2976   
@@ -0,0 +1,4 @@
        2977  +
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
        2978  +
Host:example.amazonaws.com
        2979  +
My-Header1:value1
        2980  +
 2677   2981   
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
 2678   2982   
new file mode 100644
 2679   2983   
index 0000000..d06d1df
 2680         -
-- /dev/null
        2984  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/query-string-to-sign.txt
 2681   2985   
@@ -0,0 +1,4 @@
        2986  +
AWS4-HMAC-SHA256
        2987  +
20150830T123600Z
        2988  +
20150830/us-east-1/service/aws4_request
        2989  +
1295ed77e4ef8b18b32815e493e0b0f78ee47615c0ecbebfec7c75709eb58c88
              \
 No newline at end of file
 2682   2990   
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
 2683   2991   
similarity index 100%
 2684   2992   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/request.txt
 2685   2993   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-key-sort/request.txt
 2686   2994   
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
 2687   2995   
new file mode 100644
 2688   2996   
index 0000000..0468d80
 2689         -
-- /dev/null
        2997  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/context.json
 2690   2998   
@@ -0,0 +1,12 @@
        2999  +
{
        3000  +
    "credentials": {
        3001  +
        "access_key_id": "AKIDEXAMPLE",
        3002  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3003  +
    },
        3004  +
    "expiration_in_seconds": 3600,
        3005  +
    "normalize": true,
        3006  +
    "region": "us-east-1",
        3007  +
    "service": "service",
        3008  +
    "sign_body": false,
        3009  +
    "timestamp": "2015-08-30T12:36:00Z"
        3010  +
}
              \
 No newline at end of file
 2691   3011   
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
 2692   3012   
similarity index 100%
 2693   3013   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.creq
 2694   3014   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-canonical-request.txt
 2695   3015   
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
 2696   3016   
new file mode 100644
 2697   3017   
index 0000000..bb3809c
 2698         -
-- /dev/null
        3018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signature.txt
 2699   3019   
@@ -0,0 +1 @@
        3020  +
cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
              \
 No newline at end of file
 2700   3021   
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
 2701   3022   
new file mode 100644
 2702   3023   
index 0000000..10f6761
 2703         -
-- /dev/null
        3024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-signed-request.txt
 2704   3025   
@@ -0,0 +1,6 @@
        3026  +
POST / HTTP/1.1
        3027  +
Host:example.amazonaws.com
        3028  +
My-Header1:VALUE1
        3029  +
X-Amz-Date:20150830T123600Z
        3030  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date, Signature=cdbc9802e29d2942e5e10b5bccfdd67c5f22c7c4e8ae67b53629efa58b974b7d
        3031  +
 2705   3032   
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
 2706   3033   
similarity index 100%
 2707   3034   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.sts
 2708   3035   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/header-string-to-sign.txt
 2709   3036   
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
 2710   3037   
new file mode 100644
 2711   3038   
index 0000000..f84856f
 2712         -
-- /dev/null
        3039  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-canonical-request.txt
 2713   3040   
@@ -0,0 +1,8 @@
        3041  +
POST
        3042  +
/
        3043  +
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
        3044  +
host:example.amazonaws.com
        3045  +
my-header1:VALUE1
        3046  +
        3047  +
host;my-header1
        3048  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2714   3049   
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
 2715   3050   
new file mode 100644
 2716   3051   
index 0000000..a9d3cac
 2717         -
-- /dev/null
        3052  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signature.txt
 2718   3053   
@@ -0,0 +1 @@
        3054  +
0698bc9e4f7f9139065ba2909c0e99da257e8e2a42492a097bcd46d792391fed
              \
 No newline at end of file
 2719   3055   
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
 2720   3056   
new file mode 100644
 2721   3057   
index 0000000..cf96c7c
 2722         -
-- /dev/null
        3058  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-signed-request.txt
 2723   3059   
@@ -0,0 +1,4 @@
        3060  +
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
        3061  +
Host:example.amazonaws.com
        3062  +
My-Header1:VALUE1
        3063  +
 2724   3064   
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
 2725   3065   
new file mode 100644
 2726   3066   
index 0000000..47ef566
 2727         -
-- /dev/null
        3067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/query-string-to-sign.txt
 2728   3068   
@@ -0,0 +1,4 @@
        3069  +
AWS4-HMAC-SHA256
        3070  +
20150830T123600Z
        3071  +
20150830/us-east-1/service/aws4_request
        3072  +
9d4d1de88f0149695a91a01275fc72dc00fb50bdc78e424f012ec860d5f8c41d
              \
 No newline at end of file
 2729   3073   
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
 2730   3074   
similarity index 100%
 2731   3075   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/request.txt
 2732   3076   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-header-value-case/request.txt
 2733   3077   
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
 2734   3078   
similarity index 100%
 2735   3079   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/context.json
 2736   3080   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/context.json
 2737   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2738   3082   
similarity index 100%
 2739   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.creq
 2740   3084   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-canonical-request.txt
 2741   3085   
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
 2742   3086   
new file mode 100644
 2743   3087   
index 0000000..629487f
 2744         -
-- /dev/null
        3088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signature.txt
 2745   3089   
@@ -0,0 +1 @@
        3090  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2746   3091   
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
 2747   3092   
similarity index 67%
 2748   3093   
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
 2749   3094   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2750   3095   
index 291ed07..f96ff9e 100644
 2751         -
-- 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
        3096  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-signed-request.txt
 2752   3097   
@@ -1,5 +1,6 @@
 2753   3098   
POST / HTTP/1.1
 2754   3099   
Host:example.amazonaws.com
 2755         -
X-Amz-Date:20150830T123600Z
 2756   3100   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2757         -
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
        3101  +
X-Amz-Date:20150830T123600Z
        3102  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3103  +
 2758   3104   
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
 2759   3105   
similarity index 100%
 2760   3106   
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
 2761   3107   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/header-string-to-sign.txt
 2762   3108   
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
 2763   3109   
new file mode 100644
 2764   3110   
index 0000000..d3341e7
 2765         -
-- /dev/null
        3111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-canonical-request.txt
 2766   3112   
@@ -0,0 +1,7 @@
        3113  +
POST
        3114  +
/
        3115  +
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
        3116  +
host:example.amazonaws.com
        3117  +
        3118  +
host
        3119  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2767   3120   
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
 2768   3121   
new file mode 100644
 2769   3122   
index 0000000..79f7e0d
 2770         -
-- /dev/null
        3123  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signature.txt
 2771   3124   
@@ -0,0 +1 @@
        3125  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2772   3126   
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
 2773   3127   
new file mode 100644
 2774   3128   
index 0000000..4983268
 2775         -
-- /dev/null
        3129  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-signed-request.txt
 2776   3130   
@@ -0,0 +1,3 @@
        3131  +
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
        3132  +
Host:example.amazonaws.com
        3133  +
 2777   3134   
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
 2778   3135   
new file mode 100644
 2779   3136   
index 0000000..e8f335b
 2780         -
-- /dev/null
        3137  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/query-string-to-sign.txt
 2781   3138   
@@ -0,0 +1,4 @@
        3139  +
AWS4-HMAC-SHA256
        3140  +
20150830T123600Z
        3141  +
20150830/us-east-1/service/aws4_request
        3142  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2782   3143   
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
 2783   3144   
similarity index 100%
 2784   3145   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/request.txt
 2785   3146   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-after/request.txt
 2786   3147   
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
 2787   3148   
similarity index 100%
 2788   3149   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/context.json
 2789   3150   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/context.json
 2790   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.creq b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2791   3152   
similarity index 100%
 2792   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.creq
 2793   3154   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-canonical-request.txt
 2794   3155   
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
 2795   3156   
new file mode 100644
 2796   3157   
index 0000000..85a7c29
 2797         -
-- /dev/null
        3158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signature.txt
 2798   3159   
@@ -0,0 +1 @@
        3160  +
85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
              \
 No newline at end of file
 2799   3161   
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
 2800   3162   
similarity index 65%
 2801   3163   
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
 2802   3164   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2803   3165   
index 37b2f04..4d0b143 100644
 2804         -
-- 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
        3166  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-signed-request.txt
 2805   3167   
@@ -1,5 +1,6 @@
 2806   3168   
POST / HTTP/1.1
 2807   3169   
Host:example.amazonaws.com
 2808         -
X-Amz-Date:20150830T123600Z
 2809   3170   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
 2810         -
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
        3171  +
X-Amz-Date:20150830T123600Z
        3172  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-security-token, Signature=85d96828115b5dc0cfc3bd16ad9e210dd772bbebba041836c64533a82be05ead
        3173  +
 2811   3174   
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
 2812   3175   
similarity index 100%
 2813   3176   
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
 2814   3177   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/header-string-to-sign.txt
 2815   3178   
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
 2816   3179   
new file mode 100644
 2817   3180   
index 0000000..57a7bc3
 2818         -
-- /dev/null
        3181  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-canonical-request.txt
 2819   3182   
@@ -0,0 +1,7 @@
        3183  +
POST
        3184  +
/
        3185  +
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
        3186  +
host:example.amazonaws.com
        3187  +
        3188  +
host
        3189  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2820   3190   
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
 2821   3191   
new file mode 100644
 2822   3192   
index 0000000..eb905d2
 2823         -
-- /dev/null
        3193  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signature.txt
 2824   3194   
@@ -0,0 +1 @@
        3195  +
46c2e3c63c1dbe7d39f8ada16fe7f001c1f56c5791441565323677f96308871c
              \
 No newline at end of file
 2825   3196   
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
 2826   3197   
new file mode 100644
 2827   3198   
index 0000000..1d80ec0
 2828         -
-- /dev/null
        3199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-signed-request.txt
 2829   3200   
@@ -0,0 +1,3 @@
        3201  +
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
        3202  +
Host:example.amazonaws.com
        3203  +
 2830   3204   
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
 2831   3205   
new file mode 100644
 2832   3206   
index 0000000..bd0239a
 2833         -
-- /dev/null
        3207  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/query-string-to-sign.txt
 2834   3208   
@@ -0,0 +1,4 @@
        3209  +
AWS4-HMAC-SHA256
        3210  +
20150830T123600Z
        3211  +
20150830/us-east-1/service/aws4_request
        3212  +
37f7ba7a2ec89e8b29a0d637bcc70d8e8d0fdba854ddfc5bc06a12398cfe8605
              \
 No newline at end of file
 2835   3213   
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
 2836   3214   
similarity index 100%
 2837   3215   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/request.txt
 2838   3216   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-sts-header-before/request.txt
 2839   3217   
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
 2840   3218   
new file mode 100644
 2841   3219   
index 0000000..0468d80
 2842         -
-- /dev/null
        3220  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/context.json
 2843   3221   
@@ -0,0 +1,12 @@
        3222  +
{
        3223  +
    "credentials": {
        3224  +
        "access_key_id": "AKIDEXAMPLE",
        3225  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3226  +
    },
        3227  +
    "expiration_in_seconds": 3600,
        3228  +
    "normalize": true,
        3229  +
    "region": "us-east-1",
        3230  +
    "service": "service",
        3231  +
    "sign_body": false,
        3232  +
    "timestamp": "2015-08-30T12:36:00Z"
        3233  +
}
              \
 No newline at end of file
 2844   3234   
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
 2845   3235   
similarity index 100%
 2846   3236   
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
 2847   3237   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-canonical-request.txt
 2848   3238   
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
 2849   3239   
new file mode 100644
 2850   3240   
index 0000000..80ed433
 2851         -
-- /dev/null
        3241  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signature.txt
 2852   3242   
@@ -0,0 +1 @@
        3243  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2853   3244   
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
 2854   3245   
new file mode 100644
 2855   3246   
index 0000000..4e614f8
 2856         -
-- /dev/null
        3247  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/header-signed-request.txt
 2857   3248   
@@ -0,0 +1,5 @@
        3249  +
POST /?Param1=value1 HTTP/1.1
        3250  +
Host:example.amazonaws.com
        3251  +
X-Amz-Date:20150830T123600Z
        3252  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3253  +
 2858   3254   
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
 2859   3255   
similarity index 100%
 2860   3256   
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
 2861   3257   
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
 2862   3258   
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
 2863   3259   
new file mode 100644
 2864   3260   
index 0000000..be66403
 2865         -
-- /dev/null
        3261  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-canonical-request.txt
 2866   3262   
@@ -0,0 +1,7 @@
        3263  +
POST
        3264  +
/
        3265  +
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
        3266  +
host:example.amazonaws.com
        3267  +
        3268  +
host
        3269  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2867   3270   
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
 2868   3271   
new file mode 100644
 2869   3272   
index 0000000..20fd32b
 2870         -
-- /dev/null
        3273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signature.txt
 2871   3274   
@@ -0,0 +1 @@
        3275  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2872   3276   
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
 2873   3277   
new file mode 100644
 2874   3278   
index 0000000..d1148d0
 2875         -
-- /dev/null
        3279  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-signed-request.txt
 2876   3280   
@@ -0,0 +1,3 @@
        3281  +
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
        3282  +
Host:example.amazonaws.com
        3283  +
 2877   3284   
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
 2878   3285   
new file mode 100644
 2879   3286   
index 0000000..1a77103
 2880         -
-- /dev/null
        3287  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/query-string-to-sign.txt
 2881   3288   
@@ -0,0 +1,4 @@
        3289  +
AWS4-HMAC-SHA256
        3290  +
20150830T123600Z
        3291  +
20150830/us-east-1/service/aws4_request
        3292  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2882   3293   
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
 2883   3294   
similarity index 100%
 2884   3295   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/request.txt
 2885   3296   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-empty-query-value/request.txt
 2886   3297   
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
 2887   3298   
new file mode 100644
 2888   3299   
index 0000000..0468d80
 2889         -
-- /dev/null
        3300  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/context.json
 2890   3301   
@@ -0,0 +1,12 @@
        3302  +
{
        3303  +
    "credentials": {
        3304  +
        "access_key_id": "AKIDEXAMPLE",
        3305  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3306  +
    },
        3307  +
    "expiration_in_seconds": 3600,
        3308  +
    "normalize": true,
        3309  +
    "region": "us-east-1",
        3310  +
    "service": "service",
        3311  +
    "sign_body": false,
        3312  +
    "timestamp": "2015-08-30T12:36:00Z"
        3313  +
}
              \
 No newline at end of file
 2891   3314   
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
 2892   3315   
similarity index 100%
 2893   3316   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.creq
 2894   3317   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-canonical-request.txt
 2895   3318   
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
 2896   3319   
new file mode 100644
 2897   3320   
index 0000000..80ed433
 2898         -
-- /dev/null
        3321  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signature.txt
 2899   3322   
@@ -0,0 +1 @@
        3323  +
28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
              \
 No newline at end of file
 2900   3324   
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
 2901   3325   
new file mode 100644
 2902   3326   
index 0000000..4e614f8
 2903         -
-- /dev/null
        3327  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-signed-request.txt
 2904   3328   
@@ -0,0 +1,5 @@
        3329  +
POST /?Param1=value1 HTTP/1.1
        3330  +
Host:example.amazonaws.com
        3331  +
X-Amz-Date:20150830T123600Z
        3332  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=28038455d6de14eafc1f9222cf5aa6f1a96197d7deb8263271d420d138af7f11
        3333  +
 2905   3334   
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
 2906   3335   
similarity index 100%
 2907   3336   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.sts
 2908   3337   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/header-string-to-sign.txt
 2909   3338   
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
 2910   3339   
new file mode 100644
 2911   3340   
index 0000000..be66403
 2912         -
-- /dev/null
        3341  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-canonical-request.txt
 2913   3342   
@@ -0,0 +1,7 @@
        3343  +
POST
        3344  +
/
        3345  +
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
        3346  +
host:example.amazonaws.com
        3347  +
        3348  +
host
        3349  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2914   3350   
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
 2915   3351   
new file mode 100644
 2916   3352   
index 0000000..20fd32b
 2917         -
-- /dev/null
        3353  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signature.txt
 2918   3354   
@@ -0,0 +1 @@
        3355  +
a9ef26247f293bffe40eeff86a0480ba8c14d31503b2e0c3399e3a16bf1a3682
              \
 No newline at end of file
 2919   3356   
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
 2920   3357   
new file mode 100644
 2921   3358   
index 0000000..d1148d0
 2922         -
-- /dev/null
        3359  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-signed-request.txt
 2923   3360   
@@ -0,0 +1,3 @@
        3361  +
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
        3362  +
Host:example.amazonaws.com
        3363  +
 2924   3364   
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
 2925   3365   
new file mode 100644
 2926   3366   
index 0000000..1a77103
 2927         -
-- /dev/null
        3367  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/query-string-to-sign.txt
 2928   3368   
@@ -0,0 +1,4 @@
        3369  +
AWS4-HMAC-SHA256
        3370  +
20150830T123600Z
        3371  +
20150830/us-east-1/service/aws4_request
        3372  +
98241d1c6f938789d34b92e16e08b7fc8fdaa774c5437ba30d505eedae43dd2b
              \
 No newline at end of file
 2929   3373   
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
 2930   3374   
similarity index 100%
 2931   3375   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/request.txt
 2932   3376   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla-query/request.txt
 2933   3377   
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
 2934   3378   
new file mode 100644
 2935   3379   
index 0000000..0468d80
 2936         -
-- /dev/null
        3380  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/context.json
 2937   3381   
@@ -0,0 +1,12 @@
        3382  +
{
        3383  +
    "credentials": {
        3384  +
        "access_key_id": "AKIDEXAMPLE",
        3385  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3386  +
    },
        3387  +
    "expiration_in_seconds": 3600,
        3388  +
    "normalize": true,
        3389  +
    "region": "us-east-1",
        3390  +
    "service": "service",
        3391  +
    "sign_body": false,
        3392  +
    "timestamp": "2015-08-30T12:36:00Z"
        3393  +
}
              \
 No newline at end of file
 2938   3394   
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
 2939   3395   
similarity index 100%
 2940   3396   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.creq
 2941   3397   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-canonical-request.txt
 2942   3398   
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
 2943   3399   
new file mode 100644
 2944   3400   
index 0000000..629487f
 2945         -
-- /dev/null
        3401  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signature.txt
 2946   3402   
@@ -0,0 +1 @@
        3403  +
5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
              \
 No newline at end of file
 2947   3404   
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
 2948   3405   
new file mode 100644
 2949   3406   
index 0000000..0d99b1c
 2950         -
-- /dev/null
        3407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-signed-request.txt
 2951   3408   
@@ -0,0 +1,5 @@
        3409  +
POST / HTTP/1.1
        3410  +
Host:example.amazonaws.com
        3411  +
X-Amz-Date:20150830T123600Z
        3412  +
Authorization:AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/service/aws4_request, SignedHeaders=host;x-amz-date, Signature=5da7c1a2acd57cee7505fc6676e4e544621c30862966e37dddb68e92efbe5d6b
        3413  +
 2952   3414   
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
 2953   3415   
similarity index 100%
 2954   3416   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.sts
 2955   3417   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/header-string-to-sign.txt
 2956   3418   
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
 2957   3419   
new file mode 100644
 2958   3420   
index 0000000..d3341e7
 2959         -
-- /dev/null
        3421  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-canonical-request.txt
 2960   3422   
@@ -0,0 +1,7 @@
        3423  +
POST
        3424  +
/
        3425  +
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
        3426  +
host:example.amazonaws.com
        3427  +
        3428  +
host
        3429  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 2961   3430   
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
 2962   3431   
new file mode 100644
 2963   3432   
index 0000000..79f7e0d
 2964         -
-- /dev/null
        3433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signature.txt
 2965   3434   
@@ -0,0 +1 @@
        3435  +
2ce6e6d2e0cf2f9d1b55fafec88cd20574c31dc2e7631979f71ba2310083e95b
              \
 No newline at end of file
 2966   3436   
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
 2967   3437   
new file mode 100644
 2968   3438   
index 0000000..94f1b21
 2969         -
-- /dev/null
        3439  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-signed-request.txt
 2970   3440   
@@ -0,0 +1,3 @@
        3441  +
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
        3442  +
Host:example.amazonaws.com
        3443  +
 2971   3444   
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
 2972   3445   
new file mode 100644
 2973   3446   
index 0000000..e8f335b
 2974         -
-- /dev/null
        3447  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/query-string-to-sign.txt
 2975   3448   
@@ -0,0 +1,4 @@
        3449  +
AWS4-HMAC-SHA256
        3450  +
20150830T123600Z
        3451  +
20150830/us-east-1/service/aws4_request
        3452  +
d27fc6fe1afc1d88b248c5ae9194ec0943a693dd6d81d8d815c88a369eb0471e
              \
 No newline at end of file
 2976   3453   
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
 2977   3454   
similarity index 100%
 2978   3455   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/request.txt
 2979   3456   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-vanilla/request.txt
 2980   3457   
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
 2981   3458   
similarity index 99%
 2982   3459   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/context.json
 2983   3460   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/context.json
 2984   3461   
index fc4bce6..0db1df1 100644
 2985   3462   
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
 2986   3463   
new file mode 100644
 2987   3464   
index 0000000..c218fdf
 2988         -
-- /dev/null
        3465  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 2989   3466   
@@ -0,0 +1,11 @@
        3467  +
POST
        3468  +
/
        3469  +
        3470  +
content-length:13
        3471  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3472  +
host:example.amazonaws.com
        3473  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3474  +
x-amz-date:20150830T123600Z
        3475  +
        3476  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3477  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 2990   3478   
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
 2991   3479   
new file mode 100644
 2992   3480   
index 0000000..836aa8b
 2993         -
-- /dev/null
        3481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signature.txt
 2994   3482   
@@ -0,0 +1 @@
        3483  +
328d1b9eaadca9f5818ef05e8392801e091653bafec24fcab71e7344e7f51422
              \
 No newline at end of file
 2995   3484   
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
 2996   3485   
new file mode 100644
 2997   3486   
index 0000000..9262d53
 2998         -
-- /dev/null
        3487  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 2999   3488   
@@ -0,0 +1,9 @@
        3489  +
POST / HTTP/1.1
        3490  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3491  +
Host:example.amazonaws.com
        3492  +
Content-Length:13
        3493  +
X-Amz-Date:20150830T123600Z
        3494  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3495  +
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
        3496  +
        3497  +
Param1=value1
              \
 No newline at end of file
 3000   3498   
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
 3001   3499   
new file mode 100644
 3002   3500   
index 0000000..ddbdccc
 3003         -
-- /dev/null
        3501  +
++ 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
 3004   3502   
@@ -0,0 +1,4 @@
        3503  +
AWS4-HMAC-SHA256
        3504  +
20150830T123600Z
        3505  +
20150830/us-east-1/service/aws4_request
        3506  +
a89f1a5b53e37702ee6363ce1da3ce8f54386f3c8f352ae652153c2982a0bc4d
              \
 No newline at end of file
 3005   3507   
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
 3006   3508   
new file mode 100644
 3007   3509   
index 0000000..596a579
 3008         -
-- /dev/null
        3510  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 3009   3511   
@@ -0,0 +1,9 @@
        3512  +
POST
        3513  +
/
        3514  +
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
        3515  +
content-length:13
        3516  +
content-type:application/x-www-form-urlencoded; charset=utf-8
        3517  +
host:example.amazonaws.com
        3518  +
        3519  +
content-length;content-type;host
        3520  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3010   3521   
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
 3011   3522   
new file mode 100644
 3012   3523   
index 0000000..bc85cd8
 3013         -
-- /dev/null
        3524  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signature.txt
 3014   3525   
@@ -0,0 +1 @@
        3526  +
0dbeb9b026c7b6675f266b8427efec9b4fa8b1f6ef1477d717aea231106eab4d
              \
 No newline at end of file
 3015   3527   
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
 3016   3528   
new file mode 100644
 3017   3529   
index 0000000..16b59e5
 3018         -
-- /dev/null
        3530  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 3019   3531   
@@ -0,0 +1,6 @@
        3532  +
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
        3533  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        3534  +
Host:example.amazonaws.com
        3535  +
Content-Length:13
        3536  +
        3537  +
Param1=value1
              \
 No newline at end of file
 3020   3538   
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
 3021   3539   
new file mode 100644
 3022   3540   
index 0000000..50074af
 3023         -
-- /dev/null
        3541  +
++ 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
 3024   3542   
@@ -0,0 +1,4 @@
        3543  +
AWS4-HMAC-SHA256
        3544  +
20150830T123600Z
        3545  +
20150830/us-east-1/service/aws4_request
        3546  +
32192353b8ae6d857fac1c71cda066e6af2d3a3127ea7ac1fee22621ab4f05dc
              \
 No newline at end of file
 3025   3547   
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
 3026   3548   
similarity index 89%
 3027   3549   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/request.txt
 3028   3550   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded-parameters/request.txt
 3029   3551   
index b711c25..8289eaa 100644
 3030   3552   
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
 3031   3553   
similarity index 99%
 3032   3554   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/context.json
 3033   3555   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/context.json
 3034   3556   
index fc4bce6..0db1df1 100644
 3035   3557   
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
 3036   3558   
new file mode 100644
 3037   3559   
index 0000000..4d116a5
 3038         -
-- /dev/null
        3560  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-canonical-request.txt
 3039   3561   
@@ -0,0 +1,11 @@
        3562  +
POST
        3563  +
/
        3564  +
        3565  +
content-length:13
        3566  +
content-type:application/x-www-form-urlencoded
        3567  +
host:example.amazonaws.com
        3568  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3569  +
x-amz-date:20150830T123600Z
        3570  +
        3571  +
content-length;content-type;host;x-amz-content-sha256;x-amz-date
        3572  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3040   3573   
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
 3041   3574   
new file mode 100644
 3042   3575   
index 0000000..0d2ac37
 3043         -
-- /dev/null
        3576  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signature.txt
 3044   3577   
@@ -0,0 +1 @@
        3578  +
d3875051da38690788ef43de4db0d8f280229d82040bfac253562e56c3f20e0b
              \
 No newline at end of file
 3045   3579   
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
 3046   3580   
new file mode 100644
 3047   3581   
index 0000000..bd5e49c
 3048         -
-- /dev/null
        3582  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-signed-request.txt
 3049   3583   
@@ -0,0 +1,9 @@
        3584  +
POST / HTTP/1.1
        3585  +
Content-Type:application/x-www-form-urlencoded
        3586  +
Host:example.amazonaws.com
        3587  +
Content-Length:13
        3588  +
X-Amz-Date:20150830T123600Z
        3589  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        3590  +
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
        3591  +
        3592  +
Param1=value1
              \
 No newline at end of file
 3050   3593   
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
 3051   3594   
new file mode 100644
 3052   3595   
index 0000000..f1c599c
 3053         -
-- /dev/null
        3596  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/header-string-to-sign.txt
 3054   3597   
@@ -0,0 +1,4 @@
        3598  +
AWS4-HMAC-SHA256
        3599  +
20150830T123600Z
        3600  +
20150830/us-east-1/service/aws4_request
        3601  +
b1edd1d03544c25390e32085d55b57acc9a3961bb59415ff86c45c3d89d16cfb
              \
 No newline at end of file
 3055   3602   
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
 3056   3603   
new file mode 100644
 3057   3604   
index 0000000..1fc1bb7
 3058         -
-- /dev/null
        3605  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-canonical-request.txt
 3059   3606   
@@ -0,0 +1,9 @@
        3607  +
POST
        3608  +
/
        3609  +
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
        3610  +
content-length:13
        3611  +
content-type:application/x-www-form-urlencoded
        3612  +
host:example.amazonaws.com
        3613  +
        3614  +
content-length;content-type;host
        3615  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 3060   3616   
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
 3061   3617   
new file mode 100644
 3062   3618   
index 0000000..98c91b3
 3063         -
-- /dev/null
        3619  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signature.txt
 3064   3620   
@@ -0,0 +1 @@
        3621  +
89a40deed0f26f9461242825a082d2222717248abc7ab41f552ad84a94ad46e9
              \
 No newline at end of file
 3065   3622   
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
 3066   3623   
new file mode 100644
 3067   3624   
index 0000000..055cd7a
 3068         -
-- /dev/null
        3625  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-signed-request.txt
 3069   3626   
@@ -0,0 +1,6 @@
        3627  +
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
        3628  +
Content-Type:application/x-www-form-urlencoded
        3629  +
Host:example.amazonaws.com
        3630  +
Content-Length:13
        3631  +
        3632  +
Param1=value1
              \
 No newline at end of file
 3070   3633   
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
 3071   3634   
new file mode 100644
 3072   3635   
index 0000000..db7fc27
 3073         -
-- /dev/null
        3636  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/query-string-to-sign.txt
 3074   3637   
@@ -0,0 +1,4 @@
        3638  +
AWS4-HMAC-SHA256
        3639  +
20150830T123600Z
        3640  +
20150830/us-east-1/service/aws4_request
        3641  +
ee5059a7c437165a28d0e775e6498be428761255d657d8c04cb1baa41de6514c
              \
 No newline at end of file
 3075   3642   
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
 3076   3643   
similarity index 88%
 3077   3644   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/request.txt
 3078   3645   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4/post-x-www-form-urlencoded/request.txt
 3079   3646   
index 0091102..760b2d3 100644
 3080   3647   
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
 3081   3648   
new file mode 100644
 3082   3649   
index 0000000..0468d80
 3083         -
-- /dev/null
        3650  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/context.json
 3084   3651   
@@ -0,0 +1,12 @@
        3652  +
{
        3653  +
    "credentials": {
        3654  +
        "access_key_id": "AKIDEXAMPLE",
        3655  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3656  +
    },
        3657  +
    "expiration_in_seconds": 3600,
        3658  +
    "normalize": true,
        3659  +
    "region": "us-east-1",
        3660  +
    "service": "service",
        3661  +
    "sign_body": false,
        3662  +
    "timestamp": "2015-08-30T12:36:00Z"
        3663  +
}
              \
 No newline at end of file
 3085   3664   
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
 3086   3665   
similarity index 99%
 3087   3666   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-canonical-request.txt
 3088   3667   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-canonical-request.txt
 3089   3668   
index ccb5f43..1bc448e 100644
 3090   3669   
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
 3091   3670   
new file mode 100644
 3092   3671   
index 0000000..489c182
 3093         -
-- /dev/null
        3672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signature.txt
 3094   3673   
@@ -0,0 +1 @@
        3674  +
304502204862ad283a21f883fc12f1156a6f3fcdbba13d1847e58aa5eb37c666477ea06b022100ee439fac0a975c9a6605b1fa44ad7b654a1f8ac6e868e4e1069a1b3aa35d8113
              \
 No newline at end of file
 3095   3675   
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
 3096   3676   
new file mode 100644
 3097   3677   
index 0000000..e1b8dbf
 3098         -
-- /dev/null
        3678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-signed-request.txt
 3099   3679   
@@ -0,0 +1,9 @@
        3680  +
GET / HTTP/1.1
        3681  +
Host:example.amazonaws.com
        3682  +
My-Header1:value2
        3683  +
My-Header1:value2
        3684  +
My-Header1:value1
        3685  +
X-Amz-Date:20150830T123600Z
        3686  +
X-Amz-Region-Set:us-east-1
        3687  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=30450220331da6dfebb0d19e5e161b1efa389ccb83cadb60bc71f6791ef71ac6054c44de0221008588b7d5c9f7a79ca9c02a02efbd0f540cda242a64ca1452aa914e050b517724
        3688  +
 3100   3689   
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
 3101   3690   
similarity index 99%
 3102   3691   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/header-string-to-sign.txt
 3103   3692   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/header-string-to-sign.txt
 3104   3693   
index 8783461..bfc4619 100644
 3105   3694   
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
 3106   3695   
new file mode 100644
 3107   3696   
index 0000000..379dcb2
 3108         -
-- /dev/null
        3697  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/public-key.json
 3109   3698   
@@ -0,0 +1,4 @@
        3699  +
{
        3700  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3701  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3702  +
}
 3110   3703   
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
 3111   3704   
similarity index 99%
 3112   3705   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-canonical-request.txt
 3113   3706   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-canonical-request.txt
 3114   3707   
index 9561297..c05c3f5 100644
 3115   3708   
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
 3116   3709   
new file mode 100644
 3117   3710   
index 0000000..de9a4c3
 3118         -
-- /dev/null
        3711  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signature.txt
 3119   3712   
@@ -0,0 +1 @@
        3713  +
3045022100e1e03fa80218cb464404dc4badbdf443f5f5bb504840a2b3803565a28be0388d022063399d4fb8b974906e87a8d67bf7e95334d9dc620817ef92eb2bc6affb1c6a10
              \
 No newline at end of file
 3120   3714   
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
 3121   3715   
new file mode 100644
 3122   3716   
index 0000000..6c6b8c4
 3123         -
-- /dev/null
        3717  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-signed-request.txt
 3124   3718   
@@ -0,0 +1,6 @@
        3719  +
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
        3720  +
Host:example.amazonaws.com
        3721  +
My-Header1:value2
        3722  +
My-Header1:value2
        3723  +
My-Header1:value1
        3724  +
 3125   3725   
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
 3126   3726   
similarity index 99%
 3127   3727   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-key-duplicate/query-string-to-sign.txt
 3128   3728   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/query-string-to-sign.txt
 3129   3729   
index 3140f6f..4eef106 100644
 3130   3730   
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
 3131   3731   
similarity index 78%
 3132   3732   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
 3133   3733   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3134   3734   
index 08a0364..40455ce 100644
 3135         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-key-duplicate/get-header-key-duplicate.req
        3735  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-key-duplicate/request.txt
 3136   3736   
@@ -1,6 +1,5 @@
 3137   3737   
GET / HTTP/1.1
 3138   3738   
Host:example.amazonaws.com
 3139   3739   
My-Header1:value2
 3140   3740   
My-Header1:value2
 3141   3741   
My-Header1:value1
 3142         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3143   3742   
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
 3144   3743   
new file mode 100644
 3145   3744   
index 0000000..0468d80
 3146         -
-- /dev/null
        3745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/context.json
 3147   3746   
@@ -0,0 +1,12 @@
        3747  +
{
        3748  +
    "credentials": {
        3749  +
        "access_key_id": "AKIDEXAMPLE",
        3750  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3751  +
    },
        3752  +
    "expiration_in_seconds": 3600,
        3753  +
    "normalize": true,
        3754  +
    "region": "us-east-1",
        3755  +
    "service": "service",
        3756  +
    "sign_body": false,
        3757  +
    "timestamp": "2015-08-30T12:36:00Z"
        3758  +
}
              \
 No newline at end of file
 3148   3759   
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
 3149   3760   
new file mode 100644
 3150   3761   
index 0000000..69526cd
 3151         -
-- /dev/null
        3762  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-canonical-request.txt
 3152   3763   
@@ -0,0 +1,10 @@
        3764  +
GET
        3765  +
/
        3766  +
        3767  +
host:example.amazonaws.com
        3768  +
my-header1:value1 value2 value3
        3769  +
x-amz-date:20150830T123600Z
        3770  +
x-amz-region-set:us-east-1
        3771  +
        3772  +
host;my-header1;x-amz-date;x-amz-region-set
        3773  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3153   3774   
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
 3154   3775   
new file mode 100644
 3155   3776   
index 0000000..d51b4f3
 3156         -
-- /dev/null
        3777  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signature.txt
 3157   3778   
@@ -0,0 +1 @@
        3779  +
304502206a2d7c3572ebcb9a1f34e5fa744250c3fb2f403a0a7e4b0bc196286846a996a8022100d94aacba36ff453394df27966e9cccd7c6065457b6fe828aebe107307cc5e8e9
              \
 No newline at end of file
 3158   3780   
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
 3159   3781   
new file mode 100644
 3160   3782   
index 0000000..8131420
 3161         -
-- /dev/null
        3783  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-signed-request.txt
 3162   3784   
@@ -0,0 +1,9 @@
        3785  +
GET / HTTP/1.1
        3786  +
Host:example.amazonaws.com
        3787  +
My-Header1:value1
        3788  +
  value2
        3789  +
     value3
        3790  +
X-Amz-Date:20150830T123600Z
        3791  +
X-Amz-Region-Set:us-east-1
        3792  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022060b9f2f480a395bf34aa42074697f923c2355e26970987461ce904a6a2eeef52022100fc7ef73838bbfba208a8cf8f3edbe1c8879be7853b677f492db93c30df6fbe02
        3793  +
 3163   3794   
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
 3164   3795   
new file mode 100644
 3165   3796   
index 0000000..e4d99fa
 3166         -
-- /dev/null
        3797  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/header-string-to-sign.txt
 3167   3798   
@@ -0,0 +1,4 @@
        3799  +
AWS4-ECDSA-P256-SHA256
        3800  +
20150830T123600Z
        3801  +
20150830/service/aws4_request
        3802  +
3579d4751dd7db30860b89a17b53647c70fd8363ec485836dbf68cfd22313398
              \
 No newline at end of file
 3168   3803   
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
 3169   3804   
new file mode 100644
 3170   3805   
index 0000000..379dcb2
 3171         -
-- /dev/null
        3806  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/public-key.json
 3172   3807   
@@ -0,0 +1,4 @@
        3808  +
{
        3809  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3810  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3811  +
}
 3173   3812   
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
 3174   3813   
new file mode 100644
 3175   3814   
index 0000000..3c4d52f
 3176         -
-- /dev/null
        3815  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-canonical-request.txt
 3177   3816   
@@ -0,0 +1,8 @@
        3817  +
GET
        3818  +
/
        3819  +
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
        3820  +
host:example.amazonaws.com
        3821  +
my-header1:value1 value2 value3
        3822  +
        3823  +
host;my-header1
        3824  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 3178   3825   
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
 3179   3826   
new file mode 100644
 3180   3827   
index 0000000..4e63f9a
 3181         -
-- /dev/null
        3828  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signature.txt
 3182   3829   
@@ -0,0 +1 @@
        3830  +
30450220159829015456fd111a27c4e0d6a555da894aefd23c96c5eb915b94bf6788499a022100fd48a0b97d1c32a11ee33873f87953a3ef410978f226b4a708acb9e582828fde
              \
 No newline at end of file
 3183   3831   
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
 3184   3832   
new file mode 100644
 3185   3833   
index 0000000..adf1f09
 3186         -
-- /dev/null
        3834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-signed-request.txt
 3187   3835   
@@ -0,0 +1,6 @@
        3836  +
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
        3837  +
Host:example.amazonaws.com
        3838  +
My-Header1:value1
        3839  +
  value2
        3840  +
     value3
        3841  +
 3188   3842   
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
 3189   3843   
new file mode 100644
 3190   3844   
index 0000000..e085407
 3191         -
-- /dev/null
        3845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/query-string-to-sign.txt
 3192   3846   
@@ -0,0 +1,4 @@
        3847  +
AWS4-ECDSA-P256-SHA256
        3848  +
20150830T123600Z
        3849  +
20150830/service/aws4_request
        3850  +
960c3db8a6ce71c62c4bc13e5f2a72231a8f1a644d52e688ac1524ecd4b09643
              \
 No newline at end of file
 3193   3851   
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
 3194   3852   
new file mode 100644
 3195   3853   
index 0000000..b5026cd
 3196         -
-- /dev/null
        3854  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-multiline/request.txt
 3197   3855   
@@ -0,0 +1,5 @@
        3856  +
GET / HTTP/1.1
        3857  +
Host:example.amazonaws.com
        3858  +
My-Header1:value1
        3859  +
  value2
        3860  +
     value3
 3198   3861   
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
 3199   3862   
new file mode 100644
 3200   3863   
index 0000000..0468d80
 3201         -
-- /dev/null
        3864  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/context.json
 3202   3865   
@@ -0,0 +1,12 @@
        3866  +
{
        3867  +
    "credentials": {
        3868  +
        "access_key_id": "AKIDEXAMPLE",
        3869  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3870  +
    },
        3871  +
    "expiration_in_seconds": 3600,
        3872  +
    "normalize": true,
        3873  +
    "region": "us-east-1",
        3874  +
    "service": "service",
        3875  +
    "sign_body": false,
        3876  +
    "timestamp": "2015-08-30T12:36:00Z"
        3877  +
}
              \
 No newline at end of file
 3203   3878   
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
 3204   3879   
similarity index 99%
 3205   3880   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-canonical-request.txt
 3206   3881   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-canonical-request.txt
 3207   3882   
index 9375193..533afdb 100644
 3208   3883   
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
 3209   3884   
new file mode 100644
 3210   3885   
index 0000000..057b426
 3211         -
-- /dev/null
        3886  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signature.txt
 3212   3887   
@@ -0,0 +1 @@
        3888  +
3045022005e72f83b232f1fa01d7344267d44a46fa4c193bc3d0ad256e89f92a561eb8fa022100c62a85a22a6018463df69c97da07cd189185dadeede293c659e15514cd28a0c9
              \
 No newline at end of file
 3213   3889   
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
 3214   3890   
new file mode 100644
 3215   3891   
index 0000000..4e4ccf0
 3216         -
-- /dev/null
        3892  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-signed-request.txt
 3217   3893   
@@ -0,0 +1,10 @@
        3894  +
GET / HTTP/1.1
        3895  +
Host:example.amazonaws.com
        3896  +
My-Header1:value4
        3897  +
My-Header1:value1
        3898  +
My-Header1:value3
        3899  +
My-Header1:value2
        3900  +
X-Amz-Date:20150830T123600Z
        3901  +
X-Amz-Region-Set:us-east-1
        3902  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=304402203410301a4cfc805996d0ac5305374d7cdff4e2564fcbd6f6cfed73b227966046022046e36b2ede1f78d2b68ea4534ae59da3de089e58f67ae08490411dfabd77f36e
        3903  +
 3218   3904   
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
 3219   3905   
similarity index 99%
 3220   3906   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/header-string-to-sign.txt
 3221   3907   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/header-string-to-sign.txt
 3222   3908   
index 6400baf..e68c952 100644
 3223   3909   
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
 3224   3910   
new file mode 100644
 3225   3911   
index 0000000..379dcb2
 3226         -
-- /dev/null
        3912  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/public-key.json
 3227   3913   
@@ -0,0 +1,4 @@
        3914  +
{
        3915  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        3916  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        3917  +
}
 3228   3918   
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
 3229   3919   
similarity index 99%
 3230   3920   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-canonical-request.txt
 3231   3921   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-canonical-request.txt
 3232   3922   
index ecf494a..68450fe 100644
 3233   3923   
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
 3234   3924   
new file mode 100644
 3235   3925   
index 0000000..9df2eb3
 3236         -
-- /dev/null
        3926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signature.txt
 3237   3927   
@@ -0,0 +1 @@
        3928  +
3045022044e0c722f2d02673c326d0ac38aae57e2877e158b700de702e5dd082be680f65022100841bb5007fb5ece1078add2bf38e84f1b7ea13e67b935d1fd021014eedee46a4
              \
 No newline at end of file
 3238   3929   
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
 3239   3930   
new file mode 100644
 3240   3931   
index 0000000..62f8cb7
 3241         -
-- /dev/null
        3932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-signed-request.txt
 3242   3933   
@@ -0,0 +1,7 @@
        3934  +
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
        3935  +
Host:example.amazonaws.com
        3936  +
My-Header1:value4
        3937  +
My-Header1:value1
        3938  +
My-Header1:value3
        3939  +
My-Header1:value2
        3940  +
 3243   3941   
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
 3244   3942   
similarity index 99%
 3245   3943   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-order/query-string-to-sign.txt
 3246   3944   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/query-string-to-sign.txt
 3247   3945   
index b584179..2bcf7b1 100644
 3248   3946   
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
 3249   3947   
similarity index 80%
 3250   3948   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
 3251   3949   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3252   3950   
index f7bd9e6..2c6f49d 100644
 3253         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-order/get-header-value-order.req
        3951  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-order/request.txt
 3254   3952   
@@ -1,7 +1,6 @@
 3255   3953   
GET / HTTP/1.1
 3256   3954   
Host:example.amazonaws.com
 3257   3955   
My-Header1:value4
 3258   3956   
My-Header1:value1
 3259   3957   
My-Header1:value3
 3260   3958   
My-Header1:value2
 3261         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3262   3959   
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
 3263   3960   
new file mode 100644
 3264   3961   
index 0000000..0468d80
 3265         -
-- /dev/null
        3962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/context.json
 3266   3963   
@@ -0,0 +1,12 @@
        3964  +
{
        3965  +
    "credentials": {
        3966  +
        "access_key_id": "AKIDEXAMPLE",
        3967  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        3968  +
    },
        3969  +
    "expiration_in_seconds": 3600,
        3970  +
    "normalize": true,
        3971  +
    "region": "us-east-1",
        3972  +
    "service": "service",
        3973  +
    "sign_body": false,
        3974  +
    "timestamp": "2015-08-30T12:36:00Z"
        3975  +
}
              \
 No newline at end of file
 3267   3976   
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
 3268   3977   
similarity index 99%
 3269   3978   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-canonical-request.txt
 3270   3979   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-canonical-request.txt
 3271   3980   
index e91e952..94b6be5 100644
 3272   3981   
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
 3273   3982   
new file mode 100644
 3274   3983   
index 0000000..bf8c3cb
 3275         -
-- /dev/null
        3984  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signature.txt
 3276   3985   
@@ -0,0 +1 @@
        3986  +
3046022100f05cfb8a9a49ee4540c49ed27e612ddd1a2d168512bad65a96cdf8378254a4bd022100a3eb663e6734125d467fc00d5a41dc6bf476ec167d5c20657ff3135c8b4f7815
              \
 No newline at end of file
 3277   3987   
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
 3278   3988   
new file mode 100644
 3279   3989   
index 0000000..f7f054d
 3280         -
-- /dev/null
        3990  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-signed-request.txt
 3281   3991   
@@ -0,0 +1,8 @@
        3992  +
GET / HTTP/1.1
        3993  +
Host:example.amazonaws.com
        3994  +
My-Header1: value1
        3995  +
My-Header2: "a   b   c"
        3996  +
X-Amz-Date:20150830T123600Z
        3997  +
X-Amz-Region-Set:us-east-1
        3998  +
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
        3999  +
 3282   4000   
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
 3283   4001   
similarity index 99%
 3284   4002   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/header-string-to-sign.txt
 3285   4003   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/header-string-to-sign.txt
 3286   4004   
index 0e407d8..a2c9c05 100644
 3287   4005   
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
 3288   4006   
new file mode 100644
 3289   4007   
index 0000000..379dcb2
 3290         -
-- /dev/null
        4008  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/public-key.json
 3291   4009   
@@ -0,0 +1,4 @@
        4010  +
{
        4011  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4012  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4013  +
}
 3292   4014   
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
 3293   4015   
similarity index 99%
 3294   4016   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-canonical-request.txt
 3295   4017   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-canonical-request.txt
 3296   4018   
index 8a3b042..3a51150 100644
 3297   4019   
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
 3298   4020   
new file mode 100644
 3299   4021   
index 0000000..0033053
 3300         -
-- /dev/null
        4022  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signature.txt
 3301   4023   
@@ -0,0 +1 @@
        4024  +
3045022100a765fa4e0a2c5d56292cc9aa654332858bcbb2af27b8c488157113f2c084776b02206145afa6dbb99993e499863fa36e592b94ddaeefbd778a473348204f26c15547
              \
 No newline at end of file
 3302   4025   
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
 3303   4026   
new file mode 100644
 3304   4027   
index 0000000..1537888
 3305         -
-- /dev/null
        4028  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-signed-request.txt
 3306   4029   
@@ -0,0 +1,5 @@
        4030  +
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
        4031  +
Host:example.amazonaws.com
        4032  +
My-Header1: value1
        4033  +
My-Header2: "a   b   c"
        4034  +
 3307   4035   
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
 3308   4036   
similarity index 99%
 3309   4037   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-header-value-trim/query-string-to-sign.txt
 3310   4038   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/query-string-to-sign.txt
 3311   4039   
index 5eead25..633dc1f 100644
 3312   4040   
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
 3313   4041   
similarity index 75%
 3314   4042   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
 3315   4043   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3316   4044   
index 901f36c..ad1ea98 100644
 3317         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-header-value-trim/get-header-value-trim.req
        4045  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-header-value-trim/request.txt
 3318   4046   
@@ -1,5 +1,4 @@
 3319   4047   
GET / HTTP/1.1
 3320   4048   
Host:example.amazonaws.com
 3321   4049   
My-Header1: value1
 3322   4050   
My-Header2: "a   b   c"
 3323         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3324   4051   
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
 3325   4052   
new file mode 100644
 3326   4053   
index 0000000..0468d80
 3327         -
-- /dev/null
        4054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/context.json
 3328   4055   
@@ -0,0 +1,12 @@
        4056  +
{
        4057  +
    "credentials": {
        4058  +
        "access_key_id": "AKIDEXAMPLE",
        4059  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4060  +
    },
        4061  +
    "expiration_in_seconds": 3600,
        4062  +
    "normalize": true,
        4063  +
    "region": "us-east-1",
        4064  +
    "service": "service",
        4065  +
    "sign_body": false,
        4066  +
    "timestamp": "2015-08-30T12:36:00Z"
        4067  +
}
              \
 No newline at end of file
 3329   4068   
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
 3330   4069   
similarity index 99%
 3331   4070   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-canonical-request.txt
 3332   4071   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-canonical-request.txt
 3333   4072   
index 47e7128..76db73d 100644
 3334   4073   
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
 3335   4074   
new file mode 100644
 3336   4075   
index 0000000..cbd6ae2
 3337         -
-- /dev/null
        4076  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signature.txt
 3338   4077   
@@ -0,0 +1 @@
        4078  +
3045022002e5e766e09de198957182589c9abe3e7ccd00a8fc6d7bbaf5f0a2c10660d16a022100e6b0835731cd5b72d5abb50e5821d90f5f713339697eb65cf40d34a3facfdbb8
              \
 No newline at end of file
 3339   4079   
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
 3340   4080   
new file mode 100644
 3341   4081   
index 0000000..a343fcf
 3342         -
-- /dev/null
        4082  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-signed-request.txt
 3343   4083   
@@ -0,0 +1,6 @@
        4084  +
GET /example/.. HTTP/1.1
        4085  +
Host:example.amazonaws.com
        4086  +
X-Amz-Date:20150830T123600Z
        4087  +
X-Amz-Region-Set:us-east-1
        4088  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206ccd591952cdb4a0a002217788234c80eac520f890b0a6ea07b98044f08ba10e0220733126caf0347f7df89773f79b9fae2648ca786e67a7d88ec296d66452da4bec
        4089  +
 3344   4090   
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
 3345   4091   
similarity index 99%
 3346   4092   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-string-to-sign.txt
 3347   4093   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/header-string-to-sign.txt
 3348   4094   
index 95d7219..600f1d8 100644
 3349   4095   
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
 3350   4096   
new file mode 100644
 3351   4097   
index 0000000..379dcb2
 3352         -
-- /dev/null
        4098  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/public-key.json
 3353   4099   
@@ -0,0 +1,4 @@
        4100  +
{
        4101  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4102  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4103  +
}
 3354   4104   
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
 3355   4105   
similarity index 99%
 3356   4106   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-canonical-request.txt
 3357   4107   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-canonical-request.txt
 3358   4108   
index a34ea26..779c51c 100644
 3359   4109   
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
 3360   4110   
new file mode 100644
 3361   4111   
index 0000000..3cc88e6
 3362         -
-- /dev/null
        4112  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signature.txt
 3363   4113   
@@ -0,0 +1 @@
        4114  +
304402200ef7c6ac7bfaaddbf4df3a4b03ab2e4e24e992d305fa133ef0f6c826ad9850e602203ef21f22e239cd1971310c404c80d6e50c5cd06eae1452695ae762d1a9a51c90
              \
 No newline at end of file
 3364   4115   
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
 3365   4116   
new file mode 100644
 3366   4117   
index 0000000..f68dde8
 3367         -
-- /dev/null
        4118  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-signed-request.txt
 3368   4119   
@@ -0,0 +1,3 @@
        4120  +
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
        4121  +
Host:example.amazonaws.com
        4122  +
 3369   4123   
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
 3370   4124   
similarity index 99%
 3371   4125   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-string-to-sign.txt
 3372   4126   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/query-string-to-sign.txt
 3373   4127   
index 48f855c..6e29a7e 100644
 3374   4128   
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
 3375   4129   
similarity index 65%
 3376   4130   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
 3377   4131   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3378   4132   
index 9d6d7ca..6aa9f99 100644
 3379         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative/get-relative.req
        4133  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-normalized/request.txt
 3380   4134   
@@ -1,3 +1,2 @@
 3381   4135   
GET /example/.. HTTP/1.1
 3382   4136   
Host:example.amazonaws.com
 3383         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3384   4137   
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
 3385   4138   
new file mode 100644
 3386   4139   
index 0000000..0468d80
 3387         -
-- /dev/null
        4140  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/context.json
 3388   4141   
@@ -0,0 +1,12 @@
        4142  +
{
        4143  +
    "credentials": {
        4144  +
        "access_key_id": "AKIDEXAMPLE",
        4145  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4146  +
    },
        4147  +
    "expiration_in_seconds": 3600,
        4148  +
    "normalize": true,
        4149  +
    "region": "us-east-1",
        4150  +
    "service": "service",
        4151  +
    "sign_body": false,
        4152  +
    "timestamp": "2015-08-30T12:36:00Z"
        4153  +
}
              \
 No newline at end of file
 3389   4154   
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
 3390   4155   
similarity index 99%
 3391   4156   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/header-canonical-request.txt
 3392   4157   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-canonical-request.txt
 3393   4158   
index 47e7128..76db73d 100644
 3394   4159   
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
 3395   4160   
new file mode 100644
 3396   4161   
index 0000000..f7a7ebe
 3397         -
-- /dev/null
        4162  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signature.txt
 3398   4163   
@@ -0,0 +1 @@
        4164  +
3046022100ea029ea1e7b8715f67cd33b8536e013e53e9c7bcd109770f29a4a28767bb2212022100c95a298283c130266a4c8457590d8c047205b4aef9266b85deeb90e5c73e5caa
              \
 No newline at end of file
 3399   4165   
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
 3400   4166   
new file mode 100644
 3401   4167   
index 0000000..9d2c50d
 3402         -
-- /dev/null
        4168  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-signed-request.txt
 3403   4169   
@@ -0,0 +1,6 @@
        4170  +
GET /example1/example2/../.. HTTP/1.1
        4171  +
Host:example.amazonaws.com
        4172  +
X-Amz-Date:20150830T123600Z
        4173  +
X-Amz-Region-Set:us-east-1
        4174  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203edb747d59fe32db47529b2e5e02c9276759b7c43ad9e36ff62d52b8dbeb00e3022007f99e8601938b893fe6dcbac9259fec2f3797b0e3d74fd66d59b09e83b8c1d4
        4175  +
 3404   4176   
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
 3405   4177   
similarity index 99%
 3406   4178   
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
 3407   4179   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/header-string-to-sign.txt
 3408   4180   
index 95d7219..600f1d8 100644
 3409   4181   
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
 3410   4182   
new file mode 100644
 3411   4183   
index 0000000..379dcb2
 3412         -
-- /dev/null
        4184  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/public-key.json
 3413   4185   
@@ -0,0 +1,4 @@
        4186  +
{
        4187  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4188  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4189  +
}
 3414   4190   
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
 3415   4191   
similarity index 99%
 3416   4192   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/query-canonical-request.txt
 3417   4193   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-canonical-request.txt
 3418   4194   
index a34ea26..779c51c 100644
 3419   4195   
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
 3420   4196   
new file mode 100644
 3421   4197   
index 0000000..45ef286
 3422         -
-- /dev/null
        4198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signature.txt
 3423   4199   
@@ -0,0 +1 @@
        4200  +
304402200afc56cdc43e814e44408999f2fb2fe0f8992877345b09e402b28fb2063e4987022035cdba28f5462e9034f45fc5f879bd2305943f9a1830b0f7fbe6468658ba52c1
              \
 No newline at end of file
 3424   4201   
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
 3425   4202   
new file mode 100644
 3426   4203   
index 0000000..0d16f66
 3427         -
-- /dev/null
        4204  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-signed-request.txt
 3428   4205   
@@ -0,0 +1,3 @@
        4206  +
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
        4207  +
Host:example.amazonaws.com
        4208  +
 3429   4209   
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
 3430   4210   
similarity index 99%
 3431   4211   
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
 3432   4212   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/query-string-to-sign.txt
 3433   4213   
index 48f855c..6e29a7e 100644
 3434   4214   
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
 3435   4215   
similarity index 70%
 3436   4216   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
 3437   4217   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3438   4218   
index cfd4e8b..a856c10 100644
 3439         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-relative-relative/get-relative-relative.req
        4219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-normalized/request.txt
 3440   4220   
@@ -1,3 +1,2 @@
 3441   4221   
GET /example1/example2/../.. HTTP/1.1
 3442   4222   
Host:example.amazonaws.com
 3443         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3444   4223   
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
 3445   4224   
new file mode 100644
 3446   4225   
index 0000000..7bee5c7
 3447         -
-- /dev/null
        4226  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/context.json
 3448   4227   
@@ -0,0 +1,12 @@
        4228  +
{
        4229  +
    "credentials": {
        4230  +
        "access_key_id": "AKIDEXAMPLE",
        4231  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4232  +
    },
        4233  +
    "expiration_in_seconds": 3600,
        4234  +
    "normalize": false,
        4235  +
    "region": "us-east-1",
        4236  +
    "service": "service",
        4237  +
    "sign_body": false,
        4238  +
    "timestamp": "2015-08-30T12:36:00Z"
        4239  +
}
              \
 No newline at end of file
 3449   4240   
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
 3450   4241   
similarity index 99%
 3451   4242   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-canonical-request.txt
 3452   4243   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-canonical-request.txt
 3453   4244   
index 5e1d1cf..e4e6d57 100644
 3454   4245   
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
 3455   4246   
new file mode 100644
 3456   4247   
index 0000000..2d1b47c
 3457         -
-- /dev/null
        4248  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signature.txt
 3458   4249   
@@ -0,0 +1 @@
        4250  +
30450221009bf86ef8b148904a938fcc5a050aa99cb99cb6a3436a62badfef1b82977d95c4022053e3c11e10fb302a2c39c253b066530404ee5fcca63bf962facd8d072817a69d
              \
 No newline at end of file
 3459   4251   
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
 3460   4252   
new file mode 100644
 3461   4253   
index 0000000..7158179
 3462         -
-- /dev/null
        4254  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-signed-request.txt
 3463   4255   
@@ -0,0 +1,6 @@
        4256  +
GET /example1/example2/../.. HTTP/1.1
        4257  +
Host:example.amazonaws.com
        4258  +
X-Amz-Date:20150830T123600Z
        4259  +
X-Amz-Region-Set:us-east-1
        4260  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402205651d45d4f377407303dba0775405efa77683821adff20c0256b94d10710de5b022053fa72420652c55327876c5105da6770cb482f55533e1b0bd7d15fa75f570e46
        4261  +
 3464   4262   
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
 3465   4263   
similarity index 99%
 3466   4264   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/header-string-to-sign.txt
 3467   4265   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/header-string-to-sign.txt
 3468   4266   
index 1cca6cf..db60c8e 100644
 3469   4267   
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
 3470   4268   
new file mode 100644
 3471   4269   
index 0000000..379dcb2
 3472         -
-- /dev/null
        4270  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/public-key.json
 3473   4271   
@@ -0,0 +1,4 @@
        4272  +
{
        4273  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4274  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4275  +
}
 3474   4276   
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
 3475   4277   
similarity index 99%
 3476   4278   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-canonical-request.txt
 3477   4279   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-canonical-request.txt
 3478   4280   
index 95dc104..0d963ba 100644
 3479   4281   
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
 3480   4282   
new file mode 100644
 3481   4283   
index 0000000..ae774e4
 3482         -
-- /dev/null
        4284  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signature.txt
 3483   4285   
@@ -0,0 +1 @@
        4286  +
3046022100a11cd4cae39a6b3553651f9c6360898278d90a3cb8f736184ff6bdb8564decbc022100d86a34623cc34890750a7fe8a30948638f6dace0e558c3ff82a0cf6256067503
              \
 No newline at end of file
 3484   4287   
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
 3485   4288   
new file mode 100644
 3486   4289   
index 0000000..be6b86e
 3487         -
-- /dev/null
        4290  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-signed-request.txt
 3488   4291   
@@ -0,0 +1,3 @@
        4292  +
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
        4293  +
Host:example.amazonaws.com
        4294  +
 3489   4295   
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
 3490   4296   
similarity index 99%
 3491   4297   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-unnormalized/query-string-to-sign.txt
 3492   4298   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/query-string-to-sign.txt
 3493   4299   
index 50edce6..fcc70cd 100644
 3494   4300   
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
 3495   4301   
new file mode 100644
 3496   4302   
index 0000000..a856c10
 3497         -
-- /dev/null
        4303  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-relative-unnormalized/request.txt
 3498   4304   
@@ -0,0 +1,2 @@
        4305  +
GET /example1/example2/../.. HTTP/1.1
        4306  +
Host:example.amazonaws.com
 3499   4307   
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
 3500   4308   
new file mode 100644
 3501   4309   
index 0000000..7bee5c7
 3502         -
-- /dev/null
        4310  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/context.json
 3503   4311   
@@ -0,0 +1,12 @@
        4312  +
{
        4313  +
    "credentials": {
        4314  +
        "access_key_id": "AKIDEXAMPLE",
        4315  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4316  +
    },
        4317  +
    "expiration_in_seconds": 3600,
        4318  +
    "normalize": false,
        4319  +
    "region": "us-east-1",
        4320  +
    "service": "service",
        4321  +
    "sign_body": false,
        4322  +
    "timestamp": "2015-08-30T12:36:00Z"
        4323  +
}
              \
 No newline at end of file
 3504   4324   
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
 3505   4325   
similarity index 99%
 3506   4326   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-canonical-request.txt
 3507   4327   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-canonical-request.txt
 3508   4328   
index d6a0abe..22def1a 100644
 3509   4329   
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
 3510   4330   
new file mode 100644
 3511   4331   
index 0000000..9251bad
 3512         -
-- /dev/null
        4332  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signature.txt
 3513   4333   
@@ -0,0 +1 @@
        4334  +
3045022100a85167a37a2c6aea42ef9dcb0dcaeaf85ca4ef1a4d8ffea5be550dbd4573471902202193760e5e6bb1ee4aff836769b9739f4563e06749bcaa7553ec1d1377aa5a6d
              \
 No newline at end of file
 3514   4335   
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
 3515   4336   
new file mode 100644
 3516   4337   
index 0000000..f1bb60f
 3517         -
-- /dev/null
        4338  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-signed-request.txt
 3518   4339   
@@ -0,0 +1,6 @@
        4340  +
GET /example/.. HTTP/1.1
        4341  +
Host:example.amazonaws.com
        4342  +
X-Amz-Date:20150830T123600Z
        4343  +
X-Amz-Region-Set:us-east-1
        4344  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402201430c834d8a89aca13ebd785da338950559f71ab29f1b7d7b4ad6b090de1a09702206c8d6089b75105d6fc5df5374bbb8abbc33b78951c95b90f9f6c25a657b58ce6
        4345  +
 3519   4346   
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
 3520   4347   
similarity index 99%
 3521   4348   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/header-string-to-sign.txt
 3522   4349   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/header-string-to-sign.txt
 3523   4350   
index 4a34e93..5673a20 100644
 3524   4351   
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
 3525   4352   
new file mode 100644
 3526   4353   
index 0000000..379dcb2
 3527         -
-- /dev/null
        4354  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/public-key.json
 3528   4355   
@@ -0,0 +1,4 @@
        4356  +
{
        4357  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4358  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4359  +
}
 3529   4360   
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
 3530   4361   
similarity index 99%
 3531   4362   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-canonical-request.txt
 3532   4363   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-canonical-request.txt
 3533   4364   
index b1d123e..a1c22e0 100644
 3534   4365   
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
 3535   4366   
new file mode 100644
 3536   4367   
index 0000000..9f0f686
 3537         -
-- /dev/null
        4368  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signature.txt
 3538   4369   
@@ -0,0 +1 @@
        4370  +
3045022074d05647e395d4bf3d751953c7242ee27dd16fbae3f604a272d3acc3d72ba5fb022100ddccd95ac05f60f10d5e95c5847b49018bbfa1084361bf338964408cc2162fff
              \
 No newline at end of file
 3539   4371   
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
 3540   4372   
new file mode 100644
 3541   4373   
index 0000000..d1d451a
 3542         -
-- /dev/null
        4374  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-signed-request.txt
 3543   4375   
@@ -0,0 +1,3 @@
        4376  +
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
        4377  +
Host:example.amazonaws.com
        4378  +
 3544   4379   
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
 3545   4380   
similarity index 99%
 3546   4381   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-unnormalized/query-string-to-sign.txt
 3547   4382   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/query-string-to-sign.txt
 3548   4383   
index a17f5ab..81b41e8 100644
 3549   4384   
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
 3550   4385   
new file mode 100644
 3551   4386   
index 0000000..6aa9f99
 3552         -
-- /dev/null
        4387  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-relative-unnormalized/request.txt
 3553   4388   
@@ -0,0 +1,2 @@
        4389  +
GET /example/.. HTTP/1.1
        4390  +
Host:example.amazonaws.com
 3554   4391   
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
 3555   4392   
new file mode 100644
 3556   4393   
index 0000000..0468d80
 3557         -
-- /dev/null
        4394  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/context.json
 3558   4395   
@@ -0,0 +1,12 @@
        4396  +
{
        4397  +
    "credentials": {
        4398  +
        "access_key_id": "AKIDEXAMPLE",
        4399  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4400  +
    },
        4401  +
    "expiration_in_seconds": 3600,
        4402  +
    "normalize": true,
        4403  +
    "region": "us-east-1",
        4404  +
    "service": "service",
        4405  +
    "sign_body": false,
        4406  +
    "timestamp": "2015-08-30T12:36:00Z"
        4407  +
}
              \
 No newline at end of file
 3559   4408   
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
 3560   4409   
similarity index 99%
 3561   4410   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-normalized/header-canonical-request.txt
 3562   4411   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-canonical-request.txt
 3563   4412   
index 47e7128..76db73d 100644
 3564   4413   
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
 3565   4414   
new file mode 100644
 3566   4415   
index 0000000..ca6e84e
 3567         -
-- /dev/null
        4416  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signature.txt
 3568   4417   
@@ -0,0 +1 @@
        4418  +
3045022100e8ed39e8b964e06162ab1cddbff57c449a9b72e2d052a7a3e12a116ae30185ee022003e6eb0fddbaa586225b26877ab145e05a08ac418ef7c966e5daef258b70cbfc
              \
 No newline at end of file
 3569   4419   
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
 3570   4420   
new file mode 100644
 3571   4421   
index 0000000..a7c764c
 3572         -
-- /dev/null
        4422  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/header-signed-request.txt
 3573   4423   
@@ -0,0 +1,6 @@
        4424  +
GET /./ HTTP/1.1
        4425  +
Host:example.amazonaws.com
        4426  +
X-Amz-Date:20150830T123600Z
        4427  +
X-Amz-Region-Set:us-east-1
        4428  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207665172b8612dbbd2c1f3c722c52b7b8dac2cdc5203d86252e21d9610018b153022100c548f3f0c23beeb388f8c8138ce1e883e2cdf2be1d7c5d7c15d4e565bfd6b0dd
        4429  +
 3574   4430   
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
 3575   4431   
similarity index 99%
 3576   4432   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/header-string-to-sign.txt
 3577   4433   
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
 3578   4434   
index 95d7219..600f1d8 100644
 3579   4435   
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
 3580   4436   
new file mode 100644
 3581   4437   
index 0000000..379dcb2
 3582         -
-- /dev/null
        4438  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/public-key.json
 3583   4439   
@@ -0,0 +1,4 @@
        4440  +
{
        4441  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4442  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4443  +
}
 3584   4444   
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
 3585   4445   
similarity index 99%
 3586   4446   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-relative-normalized/query-canonical-request.txt
 3587   4447   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-canonical-request.txt
 3588   4448   
index a34ea26..779c51c 100644
 3589   4449   
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
 3590   4450   
new file mode 100644
 3591   4451   
index 0000000..4b6ed09
 3592         -
-- /dev/null
        4452  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signature.txt
 3593   4453   
@@ -0,0 +1 @@
        4454  +
3046022100ea775dcca84dbada39eb9e7d55183c31d7294d1826d965c2ade1730bd20ac7cb022100aaab5325eed9bb3f93814af0fd0170893cbeeff052d0bb554f91a394fd2f5135
              \
 No newline at end of file
 3594   4455   
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
 3595   4456   
new file mode 100644
 3596   4457   
index 0000000..d6c7176
 3597         -
-- /dev/null
        4458  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/query-signed-request.txt
 3598   4459   
@@ -0,0 +1,3 @@
        4460  +
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
        4461  +
Host:example.amazonaws.com
        4462  +
 3599   4463   
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
 3600   4464   
similarity index 99%
 3601   4465   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-string-to-sign.txt
 3602   4466   
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
 3603   4467   
index 48f855c..6e29a7e 100644
 3604   4468   
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
 3605   4469   
similarity index 61%
 3606   4470   
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
 3607   4471   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3608   4472   
index f3537b7..2c5ff38 100644
 3609         -
-- 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
        4473  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-normalized/request.txt
 3610   4474   
@@ -1,3 +1,2 @@
 3611   4475   
GET /./ HTTP/1.1
 3612   4476   
Host:example.amazonaws.com
 3613         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3614   4477   
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
 3615   4478   
new file mode 100644
 3616   4479   
index 0000000..7bee5c7
 3617         -
-- /dev/null
        4480  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/context.json
 3618   4481   
@@ -0,0 +1,12 @@
        4482  +
{
        4483  +
    "credentials": {
        4484  +
        "access_key_id": "AKIDEXAMPLE",
        4485  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4486  +
    },
        4487  +
    "expiration_in_seconds": 3600,
        4488  +
    "normalize": false,
        4489  +
    "region": "us-east-1",
        4490  +
    "service": "service",
        4491  +
    "sign_body": false,
        4492  +
    "timestamp": "2015-08-30T12:36:00Z"
        4493  +
}
              \
 No newline at end of file
 3619   4494   
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
 3620   4495   
similarity index 99%
 3621   4496   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3622   4497   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-canonical-request.txt
 3623   4498   
index d05303d..9257ac4 100644
 3624   4499   
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
 3625   4500   
new file mode 100644
 3626   4501   
index 0000000..2eb1aa5
 3627         -
-- /dev/null
        4502  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signature.txt
 3628   4503   
@@ -0,0 +1 @@
        4504  +
30450220430660fe6e8e04ee055a2c56476dcf95c00b3efca267823134664f90a23fdc0f022100f188106c83e13a89e6a487f24d23522520f7a15c40e3aacd0c32284da42c2f5a
              \
 No newline at end of file
 3629   4505   
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
 3630   4506   
new file mode 100644
 3631   4507   
index 0000000..df3b1da
 3632         -
-- /dev/null
        4508  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/header-signed-request.txt
 3633   4509   
@@ -0,0 +1,6 @@
        4510  +
GET /./ HTTP/1.1
        4511  +
Host:example.amazonaws.com
        4512  +
X-Amz-Date:20150830T123600Z
        4513  +
X-Amz-Region-Set:us-east-1
        4514  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022049aaa02168ac9666a94f42238be0a02a7a244b74d6e16bdf64aac7ce8e21e44d02206b9be50186bdd4ee9191c0dd5ccff7e990365bb3b56430653f6fa49a68dbf596
        4515  +
 3634   4516   
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
 3635   4517   
similarity index 99%
 3636   4518   
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
 3637   4519   
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
 3638   4520   
index e1bfb39..754b3ed 100644
 3639   4521   
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
 3640   4522   
new file mode 100644
 3641   4523   
index 0000000..379dcb2
 3642         -
-- /dev/null
        4524  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/public-key.json
 3643   4525   
@@ -0,0 +1,4 @@
        4526  +
{
        4527  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4528  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4529  +
}
 3644   4530   
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
 3645   4531   
similarity index 99%
 3646   4532   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3647   4533   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-canonical-request.txt
 3648   4534   
index f048d0f..c8edce3 100644
 3649   4535   
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
 3650   4536   
new file mode 100644
 3651   4537   
index 0000000..d3af3b8
 3652         -
-- /dev/null
        4538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signature.txt
 3653   4539   
@@ -0,0 +1 @@
        4540  +
304402207999228e5213710741e030ffa7dfa83ce3676384c5df044431bc854488a08abd0220248ff8a956bbcbc641c0ec4a7853774f44112b1571f861fc5aebf78282fd7e63
              \
 No newline at end of file
 3654   4541   
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
 3655   4542   
new file mode 100644
 3656   4543   
index 0000000..eb38155
 3657         -
-- /dev/null
        4544  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/query-signed-request.txt
 3658   4545   
@@ -0,0 +1,3 @@
        4546  +
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
        4547  +
Host:example.amazonaws.com
        4548  +
 3659   4549   
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
 3660   4550   
similarity index 99%
 3661   4551   
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
 3662   4552   
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
 3663   4553   
index bfcf245..4f20b8f 100644
 3664   4554   
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
 3665   4555   
new file mode 100644
 3666   4556   
index 0000000..2c5ff38
 3667         -
-- /dev/null
        4557  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-dot-slash-unnormalized/request.txt
 3668   4558   
@@ -0,0 +1,2 @@
        4559  +
GET /./ HTTP/1.1
        4560  +
Host:example.amazonaws.com
 3669   4561   
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
 3670   4562   
new file mode 100644
 3671   4563   
index 0000000..0468d80
 3672         -
-- /dev/null
        4564  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/context.json
 3673   4565   
@@ -0,0 +1,12 @@
        4566  +
{
        4567  +
    "credentials": {
        4568  +
        "access_key_id": "AKIDEXAMPLE",
        4569  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4570  +
    },
        4571  +
    "expiration_in_seconds": 3600,
        4572  +
    "normalize": true,
        4573  +
    "region": "us-east-1",
        4574  +
    "service": "service",
        4575  +
    "sign_body": false,
        4576  +
    "timestamp": "2015-08-30T12:36:00Z"
        4577  +
}
              \
 No newline at end of file
 3674   4578   
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
 3675   4579   
similarity index 99%
 3676   4580   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-canonical-request.txt
 3677   4581   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-canonical-request.txt
 3678   4582   
index 47e7128..76db73d 100644
 3679   4583   
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
 3680   4584   
new file mode 100644
 3681   4585   
index 0000000..0c049ca
 3682         -
-- /dev/null
        4586  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signature.txt
 3683   4587   
@@ -0,0 +1 @@
        4588  +
304602210084a7310186a866f81dbe8e546f6931dd7c61586d30664d5c11f5904836f72cfd022100c7d80abdccceb1cbcdbbda8b4f3f0ae1ac6229dce800b21ba8298c582fa96a1c
              \
 No newline at end of file
 3684   4589   
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
 3685   4590   
new file mode 100644
 3686   4591   
index 0000000..f4bb1e1
 3687         -
-- /dev/null
        4592  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-signed-request.txt
 3688   4593   
@@ -0,0 +1,6 @@
        4594  +
GET // HTTP/1.1
        4595  +
Host:example.amazonaws.com
        4596  +
X-Amz-Date:20150830T123600Z
        4597  +
X-Amz-Region-Set:us-east-1
        4598  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502207c7fe2e91cdbe4529569d58fc3727507375cff81a56cfa26b387895ab6cdbb25022100d38e283efa5ff27d88f10e7367493b1dc49050ba9474531e4acb3ee30fac3739
        4599  +
 3689   4600   
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
 3690   4601   
similarity index 99%
 3691   4602   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/header-string-to-sign.txt
 3692   4603   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/header-string-to-sign.txt
 3693   4604   
index 95d7219..600f1d8 100644
 3694   4605   
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
 3695   4606   
new file mode 100644
 3696   4607   
index 0000000..379dcb2
 3697         -
-- /dev/null
        4608  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/public-key.json
 3698   4609   
@@ -0,0 +1,4 @@
        4610  +
{
        4611  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4612  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4613  +
}
 3699   4614   
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
 3700   4615   
similarity index 99%
 3701   4616   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-relative-normalized/query-canonical-request.txt
 3702   4617   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-canonical-request.txt
 3703   4618   
index a34ea26..779c51c 100644
 3704   4619   
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
 3705   4620   
new file mode 100644
 3706   4621   
index 0000000..ca52293
 3707         -
-- /dev/null
        4622  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signature.txt
 3708   4623   
@@ -0,0 +1 @@
        4624  +
3045022100b1c08ec4e9a6313f2de7bd8ce726845ea7a3cc636a21ab7258a3067836a6601b02206b76d7a9845bfb683eb30d126a1dc4657e8b64762d4bfb976da9fa132c4a9bd7
              \
 No newline at end of file
 3709   4625   
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
 3710   4626   
new file mode 100644
 3711   4627   
index 0000000..4a212a9
 3712         -
-- /dev/null
        4628  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-signed-request.txt
 3713   4629   
@@ -0,0 +1,3 @@
        4630  +
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
        4631  +
Host:example.amazonaws.com
        4632  +
 3714   4633   
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
 3715   4634   
similarity index 99%
 3716   4635   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-normalized/query-string-to-sign.txt
 3717   4636   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/query-string-to-sign.txt
 3718   4637   
index 48f855c..6e29a7e 100644
 3719   4638   
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
 3720   4639   
similarity index 61%
 3721   4640   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
 3722   4641   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3723   4642   
index ede8e3c..25bc21e 100644
 3724         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slash/get-slash.req
        4643  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-normalized/request.txt
 3725   4644   
@@ -1,3 +1,2 @@
 3726   4645   
GET // HTTP/1.1
 3727   4646   
Host:example.amazonaws.com
 3728         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3729   4647   
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
 3730   4648   
new file mode 100644
 3731   4649   
index 0000000..0468d80
 3732         -
-- /dev/null
        4650  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/context.json
 3733   4651   
@@ -0,0 +1,12 @@
        4652  +
{
        4653  +
    "credentials": {
        4654  +
        "access_key_id": "AKIDEXAMPLE",
        4655  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4656  +
    },
        4657  +
    "expiration_in_seconds": 3600,
        4658  +
    "normalize": true,
        4659  +
    "region": "us-east-1",
        4660  +
    "service": "service",
        4661  +
    "sign_body": false,
        4662  +
    "timestamp": "2015-08-30T12:36:00Z"
        4663  +
}
              \
 No newline at end of file
 3734   4664   
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
 3735   4665   
similarity index 99%
 3736   4666   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3737   4667   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-canonical-request.txt
 3738   4668   
index 2e36c20..a51f1ba 100644
 3739   4669   
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
 3740   4670   
new file mode 100644
 3741   4671   
index 0000000..f5c871f
 3742         -
-- /dev/null
        4672  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signature.txt
 3743   4673   
@@ -0,0 +1 @@
        4674  +
304502206b0f9b99fe4e4b3bbcb69dd6ca076c847e676161b6fb4cd2bc776f357ece3d07022100fafc5606c7b1a45aa6ce6a7a3a68b07875315b8f952f9a192a420e407e8d1cef
              \
 No newline at end of file
 3744   4675   
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
 3745   4676   
new file mode 100644
 3746   4677   
index 0000000..bda4718
 3747         -
-- /dev/null
        4678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/header-signed-request.txt
 3748   4679   
@@ -0,0 +1,6 @@
        4680  +
GET /./example HTTP/1.1
        4681  +
Host:example.amazonaws.com
        4682  +
X-Amz-Date:20150830T123600Z
        4683  +
X-Amz-Region-Set:us-east-1
        4684  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221008cb5fa4d42bdd0c293d58ce748128be3a41693d25cfd701e281bf0c0bc28f41a022100b863217c8f05146ff1b4282706bc78781b1425c2d36a09127116e852e31fc974
        4685  +
 3749   4686   
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
 3750   4687   
similarity index 99%
 3751   4688   
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
 3752   4689   
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
 3753   4690   
index cd30e8b..2ffe879 100644
 3754   4691   
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
 3755   4692   
new file mode 100644
 3756   4693   
index 0000000..379dcb2
 3757         -
-- /dev/null
        4694  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/public-key.json
 3758   4695   
@@ -0,0 +1,4 @@
        4696  +
{
        4697  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4698  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4699  +
}
 3759   4700   
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
 3760   4701   
similarity index 99%
 3761   4702   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3762   4703   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-canonical-request.txt
 3763   4704   
index 77cf28d..45151ea 100644
 3764   4705   
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
 3765   4706   
new file mode 100644
 3766   4707   
index 0000000..11ad7bf
 3767         -
-- /dev/null
        4708  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signature.txt
 3768   4709   
@@ -0,0 +1 @@
        4710  +
3045022004b3d54ffdc33558a93c158a156ef1b50963d051e58ecb88b6809629d6b93860022100d88f70cb68de54e8abc628cb2325bcb32fab1a207d482010955f844812ad5174
              \
 No newline at end of file
 3769   4711   
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
 3770   4712   
new file mode 100644
 3771   4713   
index 0000000..a7537b1
 3772         -
-- /dev/null
        4714  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/query-signed-request.txt
 3773   4715   
@@ -0,0 +1,3 @@
        4716  +
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
        4717  +
Host:example.amazonaws.com
        4718  +
 3774   4719   
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
 3775   4720   
similarity index 99%
 3776   4721   
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
 3777   4722   
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
 3778   4723   
index 49d9b24..b486672 100644
 3779   4724   
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
 3780   4725   
similarity index 65%
 3781   4726   
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
 3782   4727   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3783   4728   
index 3c91071..5d919c9 100644
 3784         -
-- 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
        4729  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-normalized/request.txt
 3785   4730   
@@ -1,3 +1,2 @@
 3786   4731   
GET /./example HTTP/1.1
 3787   4732   
Host:example.amazonaws.com
 3788         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3789   4733   
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
 3790   4734   
new file mode 100644
 3791   4735   
index 0000000..7bee5c7
 3792         -
-- /dev/null
        4736  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/context.json
 3793   4737   
@@ -0,0 +1,12 @@
        4738  +
{
        4739  +
    "credentials": {
        4740  +
        "access_key_id": "AKIDEXAMPLE",
        4741  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4742  +
    },
        4743  +
    "expiration_in_seconds": 3600,
        4744  +
    "normalize": false,
        4745  +
    "region": "us-east-1",
        4746  +
    "service": "service",
        4747  +
    "sign_body": false,
        4748  +
    "timestamp": "2015-08-30T12:36:00Z"
        4749  +
}
              \
 No newline at end of file
 3794   4750   
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
 3795   4751   
similarity index 99%
 3796   4752   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3797   4753   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-canonical-request.txt
 3798   4754   
index 4444842..2355a69 100644
 3799   4755   
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
 3800   4756   
new file mode 100644
 3801   4757   
index 0000000..9c8f737
 3802         -
-- /dev/null
        4758  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signature.txt
 3803   4759   
@@ -0,0 +1 @@
        4760  +
3044022056618e95bf64058b8174e9e52790352380946d9a0a4ab332b530a63f497a80800220105ebcd6c6ee9b034157d21e7c81fdfb72ca640961cee9b49de82e5c1f80ac5e
              \
 No newline at end of file
 3804   4761   
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
 3805   4762   
new file mode 100644
 3806   4763   
index 0000000..aa5980d
 3807         -
-- /dev/null
        4764  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/header-signed-request.txt
 3808   4765   
@@ -0,0 +1,6 @@
        4766  +
GET /./example HTTP/1.1
        4767  +
Host:example.amazonaws.com
        4768  +
X-Amz-Date:20150830T123600Z
        4769  +
X-Amz-Region-Set:us-east-1
        4770  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30460221009e2c768ae9904c3d04eba53cfbb7460034029fb1f169b51f82623cc53ae25dc7022100bfe47ecde858ad9ae3311bba5a4fd45fcacdb1795cc6825f0939e5d929a464bf
        4771  +
 3809   4772   
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
 3810   4773   
similarity index 99%
 3811   4774   
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
 3812   4775   
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
 3813   4776   
index cc63510..d056816 100644
 3814   4777   
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
 3815   4778   
new file mode 100644
 3816   4779   
index 0000000..379dcb2
 3817         -
-- /dev/null
        4780  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/public-key.json
 3818   4781   
@@ -0,0 +1,4 @@
        4782  +
{
        4783  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4784  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4785  +
}
 3819   4786   
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
 3820   4787   
similarity index 99%
 3821   4788   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3822   4789   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-canonical-request.txt
 3823   4790   
index ed2cb2d..df9928e 100644
 3824   4791   
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
 3825   4792   
new file mode 100644
 3826   4793   
index 0000000..bb4d86b
 3827         -
-- /dev/null
        4794  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signature.txt
 3828   4795   
@@ -0,0 +1 @@
        4796  +
304502202c31415712324143f4f20aebbd0f8a2fd4fcdd49d68ac95cd6815db3c0e6407b022100cb46cb62bbd024da2e29445c3378a32057b68b272fb2a08c79bfdcbc398505f3
              \
 No newline at end of file
 3829   4797   
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
 3830   4798   
new file mode 100644
 3831   4799   
index 0000000..0061136
 3832         -
-- /dev/null
        4800  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/query-signed-request.txt
 3833   4801   
@@ -0,0 +1,3 @@
        4802  +
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
        4803  +
Host:example.amazonaws.com
        4804  +
 3834   4805   
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
 3835   4806   
similarity index 99%
 3836   4807   
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
 3837   4808   
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
 3838   4809   
index c9f3b6d..418f2d6 100644
 3839   4810   
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
 3840   4811   
new file mode 100644
 3841   4812   
index 0000000..5d919c9
 3842         -
-- /dev/null
        4813  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-pointless-dot-unnormalized/request.txt
 3843   4814   
@@ -0,0 +1,2 @@
        4815  +
GET /./example HTTP/1.1
        4816  +
Host:example.amazonaws.com
 3844   4817   
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
 3845   4818   
new file mode 100644
 3846   4819   
index 0000000..7bee5c7
 3847         -
-- /dev/null
        4820  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/context.json
 3848   4821   
@@ -0,0 +1,12 @@
        4822  +
{
        4823  +
    "credentials": {
        4824  +
        "access_key_id": "AKIDEXAMPLE",
        4825  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4826  +
    },
        4827  +
    "expiration_in_seconds": 3600,
        4828  +
    "normalize": false,
        4829  +
    "region": "us-east-1",
        4830  +
    "service": "service",
        4831  +
    "sign_body": false,
        4832  +
    "timestamp": "2015-08-30T12:36:00Z"
        4833  +
}
              \
 No newline at end of file
 3849   4834   
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
 3850   4835   
similarity index 99%
 3851   4836   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-canonical-request.txt
 3852   4837   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-canonical-request.txt
 3853   4838   
index 8a4d33b..5f809da 100644
 3854   4839   
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
 3855   4840   
new file mode 100644
 3856   4841   
index 0000000..60179e9
 3857         -
-- /dev/null
        4842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signature.txt
 3858   4843   
@@ -0,0 +1 @@
        4844  +
3046022100fee7e772befdf85d3f9871798d5e08e93ad3f5d5d408b41387ba55714244809b0221008268d33835753dcdbd0a4d149d902eed071c41b70c230ecf56e0120a0f7d72a1
              \
 No newline at end of file
 3859   4845   
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
 3860   4846   
new file mode 100644
 3861   4847   
index 0000000..72bf1b7
 3862         -
-- /dev/null
        4848  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-signed-request.txt
 3863   4849   
@@ -0,0 +1,6 @@
        4850  +
GET // HTTP/1.1
        4851  +
Host:example.amazonaws.com
        4852  +
X-Amz-Date:20150830T123600Z
        4853  +
X-Amz-Region-Set:us-east-1
        4854  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022061f03990d40a274470a1621b6e12b64452083a61218be77e48132a965da27377022100cdff18369b7361b1e33bd6cb5b216cdf88d390121447d442f59ccf84eb6489f7
        4855  +
 3864   4856   
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
 3865   4857   
similarity index 99%
 3866   4858   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/header-string-to-sign.txt
 3867   4859   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/header-string-to-sign.txt
 3868   4860   
index 874c01c..2b3bf67 100644
 3869   4861   
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
 3870   4862   
new file mode 100644
 3871   4863   
index 0000000..379dcb2
 3872         -
-- /dev/null
        4864  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/public-key.json
 3873   4865   
@@ -0,0 +1,4 @@
        4866  +
{
        4867  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4868  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4869  +
}
 3874   4870   
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
 3875   4871   
similarity index 99%
 3876   4872   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-canonical-request.txt
 3877   4873   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-canonical-request.txt
 3878   4874   
index 81d7b0b..d10ad29 100644
 3879   4875   
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
 3880   4876   
new file mode 100644
 3881   4877   
index 0000000..d9bd824
 3882         -
-- /dev/null
        4878  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signature.txt
 3883   4879   
@@ -0,0 +1 @@
        4880  +
3045022100abcadf84ed6f4bf5c19df3220b13e370ef093e5e7a5a5093c1a796a3de7804710220568ec0dafd60aa764002ce2ac7c89f403b47142dc7e0e48ded1691929488c88e
              \
 No newline at end of file
 3884   4881   
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
 3885   4882   
new file mode 100644
 3886   4883   
index 0000000..19d1d46
 3887         -
-- /dev/null
        4884  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-signed-request.txt
 3888   4885   
@@ -0,0 +1,3 @@
        4886  +
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
        4887  +
Host:example.amazonaws.com
        4888  +
 3889   4889   
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
 3890   4890   
similarity index 99%
 3891   4891   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slash-unnormalized/query-string-to-sign.txt
 3892   4892   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/query-string-to-sign.txt
 3893   4893   
index 17e5279..24c8a5e 100644
 3894   4894   
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
 3895   4895   
new file mode 100644
 3896   4896   
index 0000000..25bc21e
 3897         -
-- /dev/null
        4897  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slash-unnormalized/request.txt
 3898   4898   
@@ -0,0 +1,2 @@
        4899  +
GET // HTTP/1.1
        4900  +
Host:example.amazonaws.com
 3899   4901   
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
 3900   4902   
new file mode 100644
 3901   4903   
index 0000000..0468d80
 3902         -
-- /dev/null
        4904  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/context.json
 3903   4905   
@@ -0,0 +1,12 @@
        4906  +
{
        4907  +
    "credentials": {
        4908  +
        "access_key_id": "AKIDEXAMPLE",
        4909  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4910  +
    },
        4911  +
    "expiration_in_seconds": 3600,
        4912  +
    "normalize": true,
        4913  +
    "region": "us-east-1",
        4914  +
    "service": "service",
        4915  +
    "sign_body": false,
        4916  +
    "timestamp": "2015-08-30T12:36:00Z"
        4917  +
}
              \
 No newline at end of file
 3904   4918   
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
 3905   4919   
similarity index 99%
 3906   4920   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-canonical-request.txt
 3907   4921   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-canonical-request.txt
 3908   4922   
index fdf9c48..a8e9e02 100644
 3909   4923   
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
 3910   4924   
new file mode 100644
 3911   4925   
index 0000000..ffe1b60
 3912         -
-- /dev/null
        4926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signature.txt
 3913   4927   
@@ -0,0 +1 @@
        4928  +
304402205dd203fd6b973e5fb088569ec27db1e267ef4a728f177e88fcc65f299255c0ab02206da878f40c64094595aa4e808849b69025f1c9b9f4be0f0e6ab8cd7a04e81d77
              \
 No newline at end of file
 3914   4929   
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
 3915   4930   
new file mode 100644
 3916   4931   
index 0000000..3189f55
 3917         -
-- /dev/null
        4932  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-signed-request.txt
 3918   4933   
@@ -0,0 +1,6 @@
        4934  +
GET //example// HTTP/1.1
        4935  +
Host:example.amazonaws.com
        4936  +
X-Amz-Date:20150830T123600Z
        4937  +
X-Amz-Region-Set:us-east-1
        4938  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203d34870fcc77b0f5a3f6d440cd1cecb75c7e534cfbcc68f60743d308ae92fef602200f9fbaacc5010b9a7e046b1b5ae58764bd32c24c47ef65b63ad9ff756c478e4d
        4939  +
 3919   4940   
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
 3920   4941   
similarity index 99%
 3921   4942   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/header-string-to-sign.txt
 3922   4943   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/header-string-to-sign.txt
 3923   4944   
index 8f9c95e..430020e 100644
 3924   4945   
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
 3925   4946   
new file mode 100644
 3926   4947   
index 0000000..379dcb2
 3927         -
-- /dev/null
        4948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/public-key.json
 3928   4949   
@@ -0,0 +1,4 @@
        4950  +
{
        4951  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        4952  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        4953  +
}
 3929   4954   
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
 3930   4955   
similarity index 99%
 3931   4956   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-canonical-request.txt
 3932   4957   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-canonical-request.txt
 3933   4958   
index 1046735..8d41e37 100644
 3934   4959   
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
 3935   4960   
new file mode 100644
 3936   4961   
index 0000000..93a0fa4
 3937         -
-- /dev/null
        4962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signature.txt
 3938   4963   
@@ -0,0 +1 @@
        4964  +
3045022100dfd2281b396d138207f0e58889bd6cc4d95ffd8d64e6f37ef2a9f2a15cab6944022060d05a747cd4e3c49cb50bf58d834ae917cd1ebd1524a352fb64f4d54f9ba279
              \
 No newline at end of file
 3939   4965   
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
 3940   4966   
new file mode 100644
 3941   4967   
index 0000000..65c8cb6
 3942         -
-- /dev/null
        4968  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-signed-request.txt
 3943   4969   
@@ -0,0 +1,3 @@
        4970  +
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
        4971  +
Host:example.amazonaws.com
        4972  +
 3944   4973   
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
 3945   4974   
similarity index 99%
 3946   4975   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-normalized/query-string-to-sign.txt
 3947   4976   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/query-string-to-sign.txt
 3948   4977   
index b293cc2..0f4c4c5 100644
 3949   4978   
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
 3950   4979   
similarity index 65%
 3951   4980   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
 3952   4981   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3953   4982   
index a4307ce..12e0931 100644
 3954         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/normalize-path/get-slashes/get-slashes.req
        4983  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-normalized/request.txt
 3955   4984   
@@ -1,3 +1,2 @@
 3956   4985   
GET //example// HTTP/1.1
 3957   4986   
Host:example.amazonaws.com
 3958         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 3959   4987   
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
 3960   4988   
new file mode 100644
 3961   4989   
index 0000000..7bee5c7
 3962         -
-- /dev/null
        4990  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/context.json
 3963   4991   
@@ -0,0 +1,12 @@
        4992  +
{
        4993  +
    "credentials": {
        4994  +
        "access_key_id": "AKIDEXAMPLE",
        4995  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        4996  +
    },
        4997  +
    "expiration_in_seconds": 3600,
        4998  +
    "normalize": false,
        4999  +
    "region": "us-east-1",
        5000  +
    "service": "service",
        5001  +
    "sign_body": false,
        5002  +
    "timestamp": "2015-08-30T12:36:00Z"
        5003  +
}
              \
 No newline at end of file
 3964   5004   
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
 3965   5005   
similarity index 99%
 3966   5006   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-canonical-request.txt
 3967   5007   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-canonical-request.txt
 3968   5008   
index a9c55f6..76f55ed 100644
 3969   5009   
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
 3970   5010   
new file mode 100644
 3971   5011   
index 0000000..de333b2
 3972         -
-- /dev/null
        5012  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signature.txt
 3973   5013   
@@ -0,0 +1 @@
        5014  +
3044022039ccb6afb5f0b574cfc8fec2e9158269bbe28f9e5747acc032d1ea17617f8b2002204933ee3e4ad4ec425c90593a68db99fcece29ae45906dec40c2204290cedf8bd
              \
 No newline at end of file
 3974   5015   
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
 3975   5016   
new file mode 100644
 3976   5017   
index 0000000..773ce63
 3977         -
-- /dev/null
        5018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-signed-request.txt
 3978   5019   
@@ -0,0 +1,6 @@
        5020  +
GET //example// HTTP/1.1
        5021  +
Host:example.amazonaws.com
        5022  +
X-Amz-Date:20150830T123600Z
        5023  +
X-Amz-Region-Set:us-east-1
        5024  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502202450e5abfccb424d5a0e2d5d1a084e76abc5290ae567a97f5174bfed575fd519022100a5e743040a2bdd3cd7889070e1d190d5782e7591a715370f9bea04dc2702dbab
        5025  +
 3979   5026   
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
 3980   5027   
similarity index 99%
 3981   5028   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/header-string-to-sign.txt
 3982   5029   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/header-string-to-sign.txt
 3983   5030   
index 5c4c2cd..46c3265 100644
 3984   5031   
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
 3985   5032   
new file mode 100644
 3986   5033   
index 0000000..379dcb2
 3987         -
-- /dev/null
        5034  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/public-key.json
 3988   5035   
@@ -0,0 +1,4 @@
        5036  +
{
        5037  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5038  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5039  +
}
 3989   5040   
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
 3990   5041   
similarity index 99%
 3991   5042   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-canonical-request.txt
 3992   5043   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-canonical-request.txt
 3993   5044   
index c878ab4..6047ccf 100644
 3994   5045   
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
 3995   5046   
new file mode 100644
 3996   5047   
index 0000000..d61fcd0
 3997         -
-- /dev/null
        5048  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signature.txt
 3998   5049   
@@ -0,0 +1 @@
        5050  +
3045022100fa1d3e99997a184d59e23fb8bfeca08a5f94f2e7b89b0320d11deacab3593f0f022009c0785ec02c5dda370a3eb714feb51e3b0d56df674571bf7146bf8277897e65
              \
 No newline at end of file
 3999   5051   
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
 4000   5052   
new file mode 100644
 4001   5053   
index 0000000..3e37b5b
 4002         -
-- /dev/null
        5054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-signed-request.txt
 4003   5055   
@@ -0,0 +1,3 @@
        5056  +
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
        5057  +
Host:example.amazonaws.com
        5058  +
 4004   5059   
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
 4005   5060   
similarity index 99%
 4006   5061   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-slashes-unnormalized/query-string-to-sign.txt
 4007   5062   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/query-string-to-sign.txt
 4008   5063   
index 5f59645..2537d28 100644
 4009   5064   
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
 4010   5065   
new file mode 100644
 4011   5066   
index 0000000..12e0931
 4012         -
-- /dev/null
        5067  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-slashes-unnormalized/request.txt
 4013   5068   
@@ -0,0 +1,2 @@
        5069  +
GET //example// HTTP/1.1
        5070  +
Host:example.amazonaws.com
 4014   5071   
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
 4015   5072   
new file mode 100644
 4016   5073   
index 0000000..0468d80
 4017         -
-- /dev/null
        5074  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/context.json
 4018   5075   
@@ -0,0 +1,12 @@
        5076  +
{
        5077  +
    "credentials": {
        5078  +
        "access_key_id": "AKIDEXAMPLE",
        5079  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5080  +
    },
        5081  +
    "expiration_in_seconds": 3600,
        5082  +
    "normalize": true,
        5083  +
    "region": "us-east-1",
        5084  +
    "service": "service",
        5085  +
    "sign_body": false,
        5086  +
    "timestamp": "2015-08-30T12:36:00Z"
        5087  +
}
              \
 No newline at end of file
 4019   5088   
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
 4020   5089   
new file mode 100644
 4021   5090   
index 0000000..0b2b616
 4022         -
-- /dev/null
        5091  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-canonical-request.txt
 4023   5092   
@@ -0,0 +1,9 @@
        5093  +
GET
        5094  +
/example%20space/
        5095  +
        5096  +
host:example.amazonaws.com
        5097  +
x-amz-date:20150830T123600Z
        5098  +
x-amz-region-set:us-east-1
        5099  +
        5100  +
host;x-amz-date;x-amz-region-set
        5101  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4024   5102   
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
 4025   5103   
new file mode 100644
 4026   5104   
index 0000000..6e7841d
 4027         -
-- /dev/null
        5105  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signature.txt
 4028   5106   
@@ -0,0 +1 @@
        5107  +
304502202292b4f0e4f1495b9ceb3b77349efeffdce42cb5461f810db3983005c1e772ca022100b4b6175661196a82f5b59968315517e1ffdde58d2e3eba10d3bfe171cde625c4
              \
 No newline at end of file
 4029   5108   
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
 4030   5109   
new file mode 100644
 4031   5110   
index 0000000..0969cd3
 4032         -
-- /dev/null
        5111  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-signed-request.txt
 4033   5112   
@@ -0,0 +1,6 @@
        5113  +
GET /example space/ HTTP/1.1
        5114  +
Host:example.amazonaws.com
        5115  +
X-Amz-Date:20150830T123600Z
        5116  +
X-Amz-Region-Set:us-east-1
        5117  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100e8e0ec99a8d287073e078543fdbdeba108cdef097a52c7556874076072350200022100e59d9e0f48209bea00faa47d485d850eb72747db83927a2a43b5ebab5ca2b545
        5118  +
 4034   5119   
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
 4035   5120   
new file mode 100644
 4036   5121   
index 0000000..ddae6e2
 4037         -
-- /dev/null
        5122  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/header-string-to-sign.txt
 4038   5123   
@@ -0,0 +1,4 @@
        5124  +
AWS4-ECDSA-P256-SHA256
        5125  +
20150830T123600Z
        5126  +
20150830/service/aws4_request
        5127  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4039   5128   
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
 4040   5129   
new file mode 100644
 4041   5130   
index 0000000..379dcb2
 4042         -
-- /dev/null
        5131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/public-key.json
 4043   5132   
@@ -0,0 +1,4 @@
        5133  +
{
        5134  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5135  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5136  +
}
 4044   5137   
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
 4045   5138   
new file mode 100644
 4046   5139   
index 0000000..a66b3cb
 4047         -
-- /dev/null
        5140  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-canonical-request.txt
 4048   5141   
@@ -0,0 +1,7 @@
        5142  +
GET
        5143  +
/example%20space/
        5144  +
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
        5145  +
host:example.amazonaws.com
        5146  +
        5147  +
host
        5148  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4049   5149   
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
 4050   5150   
new file mode 100644
 4051   5151   
index 0000000..b3253ae
 4052         -
-- /dev/null
        5152  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signature.txt
 4053   5153   
@@ -0,0 +1 @@
        5154  +
3045022100fc068fdda7586bec9ac9ed341e7a81bf1e1f8c60fee6e22165868ecac62e404d02200620b5d68b9be75210336618fc0a884439ce1ae93085adb03e27f1ce7ca4912e
              \
 No newline at end of file
 4054   5155   
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
 4055   5156   
new file mode 100644
 4056   5157   
index 0000000..9e335b2
 4057         -
-- /dev/null
        5158  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-signed-request.txt
 4058   5159   
@@ -0,0 +1,3 @@
        5160  +
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
        5161  +
Host:example.amazonaws.com
        5162  +
 4059   5163   
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
 4060   5164   
new file mode 100644
 4061   5165   
index 0000000..b6ff6fb
 4062         -
-- /dev/null
        5166  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/query-string-to-sign.txt
 4063   5167   
@@ -0,0 +1,4 @@
        5168  +
AWS4-ECDSA-P256-SHA256
        5169  +
20150830T123600Z
        5170  +
20150830/service/aws4_request
        5171  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4064   5172   
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
 4065   5173   
new file mode 100644
 4066   5174   
index 0000000..ab509ab
 4067         -
-- /dev/null
        5175  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-normalized/request.txt
 4068   5176   
@@ -0,0 +1,2 @@
        5177  +
GET /example space/ HTTP/1.1
        5178  +
Host:example.amazonaws.com
 4069   5179   
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
 4070   5180   
new file mode 100644
 4071   5181   
index 0000000..7bee5c7
 4072         -
-- /dev/null
        5182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/context.json
 4073   5183   
@@ -0,0 +1,12 @@
        5184  +
{
        5185  +
    "credentials": {
        5186  +
        "access_key_id": "AKIDEXAMPLE",
        5187  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5188  +
    },
        5189  +
    "expiration_in_seconds": 3600,
        5190  +
    "normalize": false,
        5191  +
    "region": "us-east-1",
        5192  +
    "service": "service",
        5193  +
    "sign_body": false,
        5194  +
    "timestamp": "2015-08-30T12:36:00Z"
        5195  +
}
              \
 No newline at end of file
 4074   5196   
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
 4075   5197   
new file mode 100644
 4076   5198   
index 0000000..0b2b616
 4077         -
-- /dev/null
        5199  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-canonical-request.txt
 4078   5200   
@@ -0,0 +1,9 @@
        5201  +
GET
        5202  +
/example%20space/
        5203  +
        5204  +
host:example.amazonaws.com
        5205  +
x-amz-date:20150830T123600Z
        5206  +
x-amz-region-set:us-east-1
        5207  +
        5208  +
host;x-amz-date;x-amz-region-set
        5209  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4079   5210   
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
 4080   5211   
new file mode 100644
 4081   5212   
index 0000000..e75ae08
 4082         -
-- /dev/null
        5213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signature.txt
 4083   5214   
@@ -0,0 +1 @@
        5215  +
3046022100881d1dce37131cd3248fa4cfb63f050e8985c3de5a58f654a8b263d52ad576180221009316e13742504474cf33631bb5f2fa89f4990c911ad317be831a6de015cf4054
              \
 No newline at end of file
 4084   5216   
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
 4085   5217   
new file mode 100644
 4086   5218   
index 0000000..cb089db
 4087         -
-- /dev/null
        5219  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-signed-request.txt
 4088   5220   
@@ -0,0 +1,6 @@
        5221  +
GET /example space/ HTTP/1.1
        5222  +
Host:example.amazonaws.com
        5223  +
X-Amz-Date:20150830T123600Z
        5224  +
X-Amz-Region-Set:us-east-1
        5225  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100a26695d793a8e7d2ed2a3495402e9b4bf8e5b05e767d303f57d9515f617ebae5022100c4b89f5648567c08b6d173b6d733f5c012bb615cd38039109f64db56efecc851
        5226  +
 4089   5227   
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
 4090   5228   
new file mode 100644
 4091   5229   
index 0000000..ddae6e2
 4092         -
-- /dev/null
        5230  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/header-string-to-sign.txt
 4093   5231   
@@ -0,0 +1,4 @@
        5232  +
AWS4-ECDSA-P256-SHA256
        5233  +
20150830T123600Z
        5234  +
20150830/service/aws4_request
        5235  +
1bbd1a746b47d963b21f6e6783c689c038162ccc3f8a69abeda218a178ee4d19
              \
 No newline at end of file
 4094   5236   
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
 4095   5237   
new file mode 100644
 4096   5238   
index 0000000..379dcb2
 4097         -
-- /dev/null
        5239  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/public-key.json
 4098   5240   
@@ -0,0 +1,4 @@
        5241  +
{
        5242  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5243  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5244  +
}
 4099   5245   
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
 4100   5246   
new file mode 100644
 4101   5247   
index 0000000..a66b3cb
 4102         -
-- /dev/null
        5248  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-canonical-request.txt
 4103   5249   
@@ -0,0 +1,7 @@
        5250  +
GET
        5251  +
/example%20space/
        5252  +
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
        5253  +
host:example.amazonaws.com
        5254  +
        5255  +
host
        5256  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4104   5257   
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
 4105   5258   
new file mode 100644
 4106   5259   
index 0000000..66a80c3
 4107         -
-- /dev/null
        5260  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signature.txt
 4108   5261   
@@ -0,0 +1 @@
        5262  +
304502201825fe5d62f321a740cbe590ce0c0c17045eed9acbbbd574d3cefbec349d06c5022100bcd482f85374b24d9f1f5000d2de7e12a4e0c8f5277e73d29c41ecc45390e731
              \
 No newline at end of file
 4109   5263   
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
 4110   5264   
new file mode 100644
 4111   5265   
index 0000000..7d1b9d9
 4112         -
-- /dev/null
        5266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-signed-request.txt
 4113   5267   
@@ -0,0 +1,3 @@
        5268  +
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
        5269  +
Host:example.amazonaws.com
        5270  +
 4114   5271   
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
 4115   5272   
new file mode 100644
 4116   5273   
index 0000000..b6ff6fb
 4117         -
-- /dev/null
        5274  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/query-string-to-sign.txt
 4118   5275   
@@ -0,0 +1,4 @@
        5276  +
AWS4-ECDSA-P256-SHA256
        5277  +
20150830T123600Z
        5278  +
20150830/service/aws4_request
        5279  +
6a2f4ddc0e28ca4b91abed80c45ad628fc63d8a4cd9c443869d5dd6cf07235ed
              \
 No newline at end of file
 4119   5280   
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
 4120   5281   
new file mode 100644
 4121   5282   
index 0000000..ab509ab
 4122         -
-- /dev/null
        5283  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-space-unnormalized/request.txt
 4123   5284   
@@ -0,0 +1,2 @@
        5285  +
GET /example space/ HTTP/1.1
        5286  +
Host:example.amazonaws.com
 4124   5287   
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
 4125   5288   
new file mode 100644
 4126   5289   
index 0000000..0468d80
 4127         -
-- /dev/null
        5290  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/context.json
 4128   5291   
@@ -0,0 +1,12 @@
        5292  +
{
        5293  +
    "credentials": {
        5294  +
        "access_key_id": "AKIDEXAMPLE",
        5295  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5296  +
    },
        5297  +
    "expiration_in_seconds": 3600,
        5298  +
    "normalize": true,
        5299  +
    "region": "us-east-1",
        5300  +
    "service": "service",
        5301  +
    "sign_body": false,
        5302  +
    "timestamp": "2015-08-30T12:36:00Z"
        5303  +
}
              \
 No newline at end of file
 4129   5304   
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
 4130   5305   
similarity index 99%
 4131   5306   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-canonical-request.txt
 4132   5307   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-canonical-request.txt
 4133   5308   
index b0db648..46d76bb 100644
 4134   5309   
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
 4135   5310   
new file mode 100644
 4136   5311   
index 0000000..53c0cb6
 4137         -
-- /dev/null
        5312  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signature.txt
 4138   5313   
@@ -0,0 +1 @@
        5314  +
304502204303d34750ced762f4e5af2c61ba70c9f5830d8a5c7fc418a02823d61673ca32022100c26cf8f38007155cb8bd3e684697063ad8f421a91be796d78b14b126e25d3680
              \
 No newline at end of file
 4139   5315   
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
 4140   5316   
new file mode 100644
 4141   5317   
index 0000000..3bdb653
 4142         -
-- /dev/null
        5318  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-signed-request.txt
 4143   5319   
@@ -0,0 +1,6 @@
        5320  +
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5321  +
Host:example.amazonaws.com
        5322  +
X-Amz-Date:20150830T123600Z
        5323  +
X-Amz-Region-Set:us-east-1
        5324  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402206a228bcbe26141c2c5065525b98ea00b793470e04e655006269f740e320215930220160015e35502fa89a96f5fed59981af0896b60ecea6a68606a0be368bca73f2c
        5325  +
 4144   5326   
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
 4145   5327   
similarity index 99%
 4146   5328   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/header-string-to-sign.txt
 4147   5329   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/header-string-to-sign.txt
 4148   5330   
index 20c7cd6..3b30173 100644
 4149   5331   
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
 4150   5332   
new file mode 100644
 4151   5333   
index 0000000..379dcb2
 4152         -
-- /dev/null
        5334  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/public-key.json
 4153   5335   
@@ -0,0 +1,4 @@
        5336  +
{
        5337  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5338  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5339  +
}
 4154   5340   
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
 4155   5341   
similarity index 99%
 4156   5342   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-canonical-request.txt
 4157   5343   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-canonical-request.txt
 4158   5344   
index f9fb726..7e93f58 100644
 4159   5345   
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
 4160   5346   
new file mode 100644
 4161   5347   
index 0000000..48311a8
 4162         -
-- /dev/null
        5348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signature.txt
 4163   5349   
@@ -0,0 +1 @@
        5350  +
3045022100a8e6e2918ceb211f77810150d828be217af238ca95db6f88264d668ffacefb8b02204122d651c775a3ed8f40f3bfe37a2c8fec28cd53027b599eddd7115e06ca4bb0
              \
 No newline at end of file
 4164   5351   
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
 4165   5352   
new file mode 100644
 4166   5353   
index 0000000..82da9be
 4167         -
-- /dev/null
        5354  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-signed-request.txt
 4168   5355   
@@ -0,0 +1,3 @@
        5356  +
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
        5357  +
Host:example.amazonaws.com
        5358  +
 4169   5359   
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
 4170   5360   
similarity index 99%
 4171   5361   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-unreserved/query-string-to-sign.txt
 4172   5362   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/query-string-to-sign.txt
 4173   5363   
index ef06e89..4aab9a2 100644
 4174   5364   
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
 4175   5365   
similarity index 80%
 4176   5366   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
 4177   5367   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4178   5368   
index da760cd..a149694 100644
 4179         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-unreserved/get-unreserved.req
        5369  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-unreserved/request.txt
 4180   5370   
@@ -1,3 +1,2 @@
 4181   5371   
GET /-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4182   5372   
Host:example.amazonaws.com
 4183         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4184   5373   
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
 4185   5374   
new file mode 100644
 4186   5375   
index 0000000..0468d80
 4187         -
-- /dev/null
        5376  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/context.json
 4188   5377   
@@ -0,0 +1,12 @@
        5378  +
{
        5379  +
    "credentials": {
        5380  +
        "access_key_id": "AKIDEXAMPLE",
        5381  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5382  +
    },
        5383  +
    "expiration_in_seconds": 3600,
        5384  +
    "normalize": true,
        5385  +
    "region": "us-east-1",
        5386  +
    "service": "service",
        5387  +
    "sign_body": false,
        5388  +
    "timestamp": "2015-08-30T12:36:00Z"
        5389  +
}
              \
 No newline at end of file
 4189   5390   
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
 4190   5391   
new file mode 100644
 4191   5392   
index 0000000..0f1afe7
 4192         -
-- /dev/null
        5393  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-canonical-request.txt
 4193   5394   
@@ -0,0 +1,9 @@
        5395  +
GET
        5396  +
/%E1%88%B4
        5397  +
        5398  +
host:example.amazonaws.com
        5399  +
x-amz-date:20150830T123600Z
        5400  +
x-amz-region-set:us-east-1
        5401  +
        5402  +
host;x-amz-date;x-amz-region-set
        5403  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4194   5404   
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
 4195   5405   
new file mode 100644
 4196   5406   
index 0000000..4b9af6c
 4197         -
-- /dev/null
        5407  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signature.txt
 4198   5408   
@@ -0,0 +1 @@
        5409  +
3044022009b73628ce2929e224b781c591bdc93fc3381cef5f63992eefb82a286276fa0902203cbc6071d1be7b8c91ec0a04b921881c48cbea2a0a86481f6fa7a983e36190c0
              \
 No newline at end of file
 4199   5410   
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
 4200   5411   
new file mode 100644
 4201   5412   
index 0000000..d42d7b3
 4202         -
-- /dev/null
        5413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-signed-request.txt
 4203   5414   
@@ -0,0 +1,6 @@
        5415  +
GET /ሴ HTTP/1.1
        5416  +
Host:example.amazonaws.com
        5417  +
X-Amz-Date:20150830T123600Z
        5418  +
X-Amz-Region-Set:us-east-1
        5419  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210082c462efc22f340d7d20b19e0c9b38400e9395bedd9269e01e959ef915ca2846022050d38df1572786ef8befe01d888335c15b0f17fb1d795858fa3cb79e060ba375
        5420  +
 4204   5421   
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
 4205   5422   
new file mode 100644
 4206   5423   
index 0000000..0827f62
 4207         -
-- /dev/null
        5424  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/header-string-to-sign.txt
 4208   5425   
@@ -0,0 +1,4 @@
        5426  +
AWS4-ECDSA-P256-SHA256
        5427  +
20150830T123600Z
        5428  +
20150830/service/aws4_request
        5429  +
7c8a7084825e715f0e217a7470ce3611bcfedb5b70329d9b36bba5cefd39c11a
              \
 No newline at end of file
 4209   5430   
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
 4210   5431   
new file mode 100644
 4211   5432   
index 0000000..379dcb2
 4212         -
-- /dev/null
        5433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/public-key.json
 4213   5434   
@@ -0,0 +1,4 @@
        5435  +
{
        5436  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5437  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5438  +
}
 4214   5439   
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
 4215   5440   
new file mode 100644
 4216   5441   
index 0000000..a41a2f8
 4217         -
-- /dev/null
        5442  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-canonical-request.txt
 4218   5443   
@@ -0,0 +1,7 @@
        5444  +
GET
        5445  +
/%E1%88%B4
        5446  +
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
        5447  +
host:example.amazonaws.com
        5448  +
        5449  +
host
        5450  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4219   5451   
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
 4220   5452   
new file mode 100644
 4221   5453   
index 0000000..a5c7f4f
 4222         -
-- /dev/null
        5454  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signature.txt
 4223   5455   
@@ -0,0 +1 @@
        5456  +
30460221008cf2ac3d46b7529fe7b73add56626a546fc9372b458e197dbd355198465e0918022100c059b86e01bd11d31c5fe19ee7c73fe3b8058ad2cebe2fe74c779c4a6a95684a
              \
 No newline at end of file
 4224   5457   
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
 4225   5458   
new file mode 100644
 4226   5459   
index 0000000..492ed33
 4227         -
-- /dev/null
        5460  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-signed-request.txt
 4228   5461   
@@ -0,0 +1,3 @@
        5462  +
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
        5463  +
Host:example.amazonaws.com
        5464  +
 4229   5465   
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
 4230   5466   
new file mode 100644
 4231   5467   
index 0000000..a93108f
 4232         -
-- /dev/null
        5468  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/query-string-to-sign.txt
 4233   5469   
@@ -0,0 +1,4 @@
        5470  +
AWS4-ECDSA-P256-SHA256
        5471  +
20150830T123600Z
        5472  +
20150830/service/aws4_request
        5473  +
b77c78c8276c5eac930db70b21b69b34d0c2560e1a963ab28e28481ef6a4ff66
              \
 No newline at end of file
 4234   5474   
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
 4235   5475   
new file mode 100644
 4236   5476   
index 0000000..9e273f6
 4237         -
-- /dev/null
        5477  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-utf8/request.txt
 4238   5478   
@@ -0,0 +1,2 @@
        5479  +
GET /ሴ HTTP/1.1
        5480  +
Host:example.amazonaws.com
 4239   5481   
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
 4240   5482   
new file mode 100644
 4241   5483   
index 0000000..0468d80
 4242         -
-- /dev/null
        5484  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/context.json
 4243   5485   
@@ -0,0 +1,12 @@
        5486  +
{
        5487  +
    "credentials": {
        5488  +
        "access_key_id": "AKIDEXAMPLE",
        5489  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5490  +
    },
        5491  +
    "expiration_in_seconds": 3600,
        5492  +
    "normalize": true,
        5493  +
    "region": "us-east-1",
        5494  +
    "service": "service",
        5495  +
    "sign_body": false,
        5496  +
    "timestamp": "2015-08-30T12:36:00Z"
        5497  +
}
              \
 No newline at end of file
 4244   5498   
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
 4245   5499   
similarity index 99%
 4246   5500   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/header-canonical-request.txt
 4247   5501   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-canonical-request.txt
 4248   5502   
index bb9d4bf..edc0bb4 100644
 4249   5503   
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
 4250   5504   
new file mode 100644
 4251   5505   
index 0000000..ee9a272
 4252         -
-- /dev/null
        5506  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signature.txt
 4253   5507   
@@ -0,0 +1 @@
        5508  +
3044022075e5fe54105695e4af6f5b59ff39f4f1d84de3bfdd546a6b9212936a78e743ac02204f25f3b9826688eb9743088f426eabd6b306432fd2c4c5c5aa2bbb9058267542
              \
 No newline at end of file
 4254   5509   
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
 4255   5510   
new file mode 100644
 4256   5511   
index 0000000..2090343
 4257         -
-- /dev/null
        5512  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/header-signed-request.txt
 4258   5513   
@@ -0,0 +1,6 @@
        5514  +
GET /?Param1=value1 HTTP/1.1
        5515  +
Host:example.amazonaws.com
        5516  +
X-Amz-Date:20150830T123600Z
        5517  +
X-Amz-Region-Set:us-east-1
        5518  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502210093d40fe05684ddadfadfafc4b8565d18ca94d590fc897577224bf09696bbde6102206f12bb5e2503781303cf6880c0a2136d4b820221eb9d6ac5ad61378b16b8ea5d
        5519  +
 4259   5520   
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
 4260   5521   
similarity index 99%
 4261   5522   
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
 4262   5523   
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
 4263   5524   
index a176f1d..06ed74f 100644
 4264   5525   
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
 4265   5526   
new file mode 100644
 4266   5527   
index 0000000..379dcb2
 4267         -
-- /dev/null
        5528  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/public-key.json
 4268   5529   
@@ -0,0 +1,4 @@
        5530  +
{
        5531  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5532  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5533  +
}
 4269   5534   
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
 4270   5535   
similarity index 99%
 4271   5536   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-empty-query-key/query-canonical-request.txt
 4272   5537   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-canonical-request.txt
 4273   5538   
index 344384b..a875d70 100644
 4274   5539   
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
 4275   5540   
new file mode 100644
 4276   5541   
index 0000000..ef93624
 4277         -
-- /dev/null
        5542  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signature.txt
 4278   5543   
@@ -0,0 +1 @@
        5544  +
30460221009a9e99aefe8effed47320e6e9f54cb943e2f72ce638ed7aae2a6711240304b82022100a90e99f053dd51912a6993299229e19aebbd81e68d4d24a1bdedcc6717c9f456
              \
 No newline at end of file
 4279   5545   
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
 4280   5546   
new file mode 100644
 4281   5547   
index 0000000..92829f7
 4282         -
-- /dev/null
        5548  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/query-signed-request.txt
 4283   5549   
@@ -0,0 +1,3 @@
        5550  +
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
        5551  +
Host:example.amazonaws.com
        5552  +
 4284   5553   
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
 4285   5554   
similarity index 99%
 4286   5555   
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
 4287   5556   
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
 4288   5557   
index b625052..4ff9191 100644
 4289   5558   
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
 4290   5559   
similarity index 67%
 4291   5560   
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
 4292   5561   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4293   5562   
index 970d0a0..f4a03bb 100644
 4294         -
-- 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
        5563  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-empty-query-key/request.txt
 4295   5564   
@@ -1,3 +1,2 @@
 4296   5565   
GET /?Param1=value1 HTTP/1.1
 4297   5566   
Host:example.amazonaws.com
 4298         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4299   5567   
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
 4300   5568   
new file mode 100644
 4301   5569   
index 0000000..0468d80
 4302         -
-- /dev/null
        5570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/context.json
 4303   5571   
@@ -0,0 +1,12 @@
        5572  +
{
        5573  +
    "credentials": {
        5574  +
        "access_key_id": "AKIDEXAMPLE",
        5575  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5576  +
    },
        5577  +
    "expiration_in_seconds": 3600,
        5578  +
    "normalize": true,
        5579  +
    "region": "us-east-1",
        5580  +
    "service": "service",
        5581  +
    "sign_body": false,
        5582  +
    "timestamp": "2015-08-30T12:36:00Z"
        5583  +
}
              \
 No newline at end of file
 4304   5584   
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
 4305   5585   
new file mode 100644
 4306   5586   
index 0000000..da07537
 4307         -
-- /dev/null
        5587  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-canonical-request.txt
 4308   5588   
@@ -0,0 +1,9 @@
        5589  +
GET
        5590  +
/
        5591  +
%E1%88%B4=Value1&Param=Value2&Param-3=Value3
        5592  +
host:example.amazonaws.com
        5593  +
x-amz-date:20150830T123600Z
        5594  +
x-amz-region-set:us-east-1
        5595  +
        5596  +
host;x-amz-date;x-amz-region-set
        5597  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4309   5598   
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
 4310   5599   
new file mode 100644
 4311   5600   
index 0000000..edb21e5
 4312         -
-- /dev/null
        5601  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signature.txt
 4313   5602   
@@ -0,0 +1 @@
        5603  +
304402201c9d8aa856d87542e2fc29ccb3841bf604d7582a8ab2ca8e6c9e21c98693f35502207052f84ecd1dc8b6468a536e9d1bdc990cf14bae8142c1cc945f15bcf0e87613
              \
 No newline at end of file
 4314   5604   
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
 4315   5605   
new file mode 100644
 4316   5606   
index 0000000..e60394c
 4317         -
-- /dev/null
        5607  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-signed-request.txt
 4318   5608   
@@ -0,0 +1,6 @@
        5609  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5610  +
Host:example.amazonaws.com
        5611  +
X-Amz-Date:20150830T123600Z
        5612  +
X-Amz-Region-Set:us-east-1
        5613  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100cef3137947f52af13fe5591d4ddcff0260176e7b2a668b43ac8f0cba2e489fe502203b4fe53c9fe3e8925643fe0e4c3ec0b3ea6262917bf7300d2e2abb399078e6de
        5614  +
 4319   5615   
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
 4320   5616   
new file mode 100644
 4321   5617   
index 0000000..1dfc886
 4322         -
-- /dev/null
        5618  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/header-string-to-sign.txt
 4323   5619   
@@ -0,0 +1,4 @@
        5620  +
AWS4-ECDSA-P256-SHA256
        5621  +
20150830T123600Z
        5622  +
20150830/service/aws4_request
        5623  +
55568a29040b287c72015a5ab482d9aaceeb1e9881f3bc946378bc3d6079f6a5
              \
 No newline at end of file
 4324   5624   
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
 4325   5625   
new file mode 100644
 4326   5626   
index 0000000..379dcb2
 4327         -
-- /dev/null
        5627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/public-key.json
 4328   5628   
@@ -0,0 +1,4 @@
        5629  +
{
        5630  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5631  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5632  +
}
 4329   5633   
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
 4330   5634   
new file mode 100644
 4331   5635   
index 0000000..e94dc0c
 4332         -
-- /dev/null
        5636  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-canonical-request.txt
 4333   5637   
@@ -0,0 +1,7 @@
        5638  +
GET
        5639  +
/
        5640  +
%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
        5641  +
host:example.amazonaws.com
        5642  +
        5643  +
host
        5644  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4334   5645   
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
 4335   5646   
new file mode 100644
 4336   5647   
index 0000000..7489437
 4337         -
-- /dev/null
        5648  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signature.txt
 4338   5649   
@@ -0,0 +1 @@
        5650  +
3046022100dcc853d7fbd59ceebd1ac57d404b979a7252cf88c79dcc6d58167902750235fd022100ffa98128e35b03aa434287165980f78533e9e6dfc80373cea82b047f4f0554ee
              \
 No newline at end of file
 4339   5651   
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
 4340   5652   
new file mode 100644
 4341   5653   
index 0000000..90c0e73
 4342         -
-- /dev/null
        5654  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-signed-request.txt
 4343   5655   
@@ -0,0 +1,3 @@
        5656  +
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
        5657  +
Host:example.amazonaws.com
        5658  +
 4344   5659   
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
 4345   5660   
new file mode 100644
 4346   5661   
index 0000000..ab8a711
 4347         -
-- /dev/null
        5662  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/query-string-to-sign.txt
 4348   5663   
@@ -0,0 +1,4 @@
        5664  +
AWS4-ECDSA-P256-SHA256
        5665  +
20150830T123600Z
        5666  +
20150830/service/aws4_request
        5667  +
56d9ab07692614338f2aa44f1018ad4102b19305fba8b83383d2d7c6ca816614
              \
 No newline at end of file
 4349   5668   
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
 4350   5669   
new file mode 100644
 4351   5670   
index 0000000..368c6e3
 4352         -
-- /dev/null
        5671  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-encoded/request.txt
 4353   5672   
@@ -0,0 +1,2 @@
        5673  +
GET /?Param-3=Value3&Param=Value2&%E1%88%B4=Value1 HTTP/1.1
        5674  +
Host:example.amazonaws.com
 4354   5675   
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
 4355   5676   
new file mode 100644
 4356   5677   
index 0000000..0468d80
 4357         -
-- /dev/null
        5678  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/context.json
 4358   5679   
@@ -0,0 +1,12 @@
        5680  +
{
        5681  +
    "credentials": {
        5682  +
        "access_key_id": "AKIDEXAMPLE",
        5683  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5684  +
    },
        5685  +
    "expiration_in_seconds": 3600,
        5686  +
    "normalize": true,
        5687  +
    "region": "us-east-1",
        5688  +
    "service": "service",
        5689  +
    "sign_body": false,
        5690  +
    "timestamp": "2015-08-30T12:36:00Z"
        5691  +
}
              \
 No newline at end of file
 4359   5692   
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
 4360   5693   
similarity index 99%
 4361   5694   
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
 4362   5695   
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
 4363   5696   
index 74f625a..3db56f7 100644
 4364   5697   
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
 4365   5698   
new file mode 100644
 4366   5699   
index 0000000..e6042bc
 4367         -
-- /dev/null
        5700  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signature.txt
 4368   5701   
@@ -0,0 +1 @@
        5702  +
3045022100b342b0d62487d235a5baf82e970102670a8d7af34c61f086125d204a90724d9e022070304e846de3de228c57e528b61f4addfdb5fa788a8a452e483c6a286d8803f5
              \
 No newline at end of file
 4369   5703   
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
 4370   5704   
new file mode 100644
 4371   5705   
index 0000000..5505969
 4372         -
-- /dev/null
        5706  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/header-signed-request.txt
 4373   5707   
@@ -0,0 +1,6 @@
        5708  +
GET /?Param2=value2&Param1=value1 HTTP/1.1
        5709  +
Host:example.amazonaws.com
        5710  +
X-Amz-Date:20150830T123600Z
        5711  +
X-Amz-Region-Set:us-east-1
        5712  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220394fa0699225f403514cb4db03b7c479f64c5f9864bf520b871bb23a054d6517022100d4445c909fc62a43c6c485a8582621e0e14c6ef1e4218072bc2dcaffc1188f18
        5713  +
 4374   5714   
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
 4375   5715   
similarity index 99%
 4376   5716   
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
 4377   5717   
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
 4378   5718   
index 44873b7..e8f5e31 100644
 4379   5719   
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
 4380   5720   
new file mode 100644
 4381   5721   
index 0000000..379dcb2
 4382         -
-- /dev/null
        5722  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/public-key.json
 4383   5723   
@@ -0,0 +1,4 @@
        5724  +
{
        5725  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5726  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5727  +
}
 4384   5728   
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
 4385   5729   
similarity index 99%
 4386   5730   
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
 4387   5731   
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
 4388   5732   
index 6d30727..3fe6a9f 100644
 4389   5733   
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
 4390   5734   
new file mode 100644
 4391   5735   
index 0000000..3f35de8
 4392         -
-- /dev/null
        5736  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signature.txt
 4393   5737   
@@ -0,0 +1 @@
        5738  +
304402207c976c47b1bcf7333ad10fcf78498bb14a368a6cd8f58703d47c9e91c4468c13022059a3715bafae9410271bf3355ccd0bbc622fe90f3c0168203d83323297789de5
              \
 No newline at end of file
 4394   5739   
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
 4395   5740   
new file mode 100644
 4396   5741   
index 0000000..30b336b
 4397         -
-- /dev/null
        5742  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/query-signed-request.txt
 4398   5743   
@@ -0,0 +1,3 @@
        5744  +
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
        5745  +
Host:example.amazonaws.com
        5746  +
 4399   5747   
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
 4400   5748   
similarity index 99%
 4401   5749   
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
 4402   5750   
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
 4403   5751   
index 99d0510..7f0565f 100644
 4404   5752   
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
 4405   5753   
similarity index 100%
 4406   5754   
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
 4407   5755   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-order-key-case/request.txt
 4408   5756   
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
 4409   5757   
new file mode 100644
 4410   5758   
index 0000000..0468d80
 4411         -
-- /dev/null
        5759  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/context.json
 4412   5760   
@@ -0,0 +1,12 @@
        5761  +
{
        5762  +
    "credentials": {
        5763  +
        "access_key_id": "AKIDEXAMPLE",
        5764  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5765  +
    },
        5766  +
    "expiration_in_seconds": 3600,
        5767  +
    "normalize": true,
        5768  +
    "region": "us-east-1",
        5769  +
    "service": "service",
        5770  +
    "sign_body": false,
        5771  +
    "timestamp": "2015-08-30T12:36:00Z"
        5772  +
}
              \
 No newline at end of file
 4413   5773   
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
 4414   5774   
similarity index 99%
 4415   5775   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-canonical-request.txt
 4416   5776   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-canonical-request.txt
 4417   5777   
index 816c862..cc4537a 100644
 4418   5778   
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
 4419   5779   
new file mode 100644
 4420   5780   
index 0000000..70d38c1
 4421         -
-- /dev/null
        5781  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signature.txt
 4422   5782   
@@ -0,0 +1 @@
        5783  +
3045022100ce7ae9d07bea650598803710644006d47de14a884d0777abd71ccf76164a36c70220256f34ad94c5cb1291a05f7680c2a0068c51d2a31a4e2fe2100d4a58197565ed
              \
 No newline at end of file
 4423   5784   
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
 4424   5785   
new file mode 100644
 4425   5786   
index 0000000..0647eea
 4426         -
-- /dev/null
        5787  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-signed-request.txt
 4427   5788   
@@ -0,0 +1,6 @@
        5789  +
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
        5790  +
Host:example.amazonaws.com
        5791  +
X-Amz-Date:20150830T123600Z
        5792  +
X-Amz-Region-Set:us-east-1
        5793  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=30450220023b0ce37b4e3f7fe6b6e155dab72846b461d22ff4820f019a07afef476f61ee022100f985e993037270cc48ac905b360046d077770a2b28aa829ea909430b1b3ed8aa
        5794  +
 4428   5795   
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
 4429   5796   
similarity index 99%
 4430   5797   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/header-string-to-sign.txt
 4431   5798   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/header-string-to-sign.txt
 4432   5799   
index 6129fc5..cc19d14 100644
 4433   5800   
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
 4434   5801   
new file mode 100644
 4435   5802   
index 0000000..379dcb2
 4436         -
-- /dev/null
        5803  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/public-key.json
 4437   5804   
@@ -0,0 +1,4 @@
        5805  +
{
        5806  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5807  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5808  +
}
 4438   5809   
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
 4439   5810   
similarity index 99%
 4440   5811   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-canonical-request.txt
 4441   5812   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-canonical-request.txt
 4442   5813   
index b77ee9f..ed6a10e 100644
 4443   5814   
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
 4444   5815   
new file mode 100644
 4445   5816   
index 0000000..2ceba7b
 4446         -
-- /dev/null
        5817  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signature.txt
 4447   5818   
@@ -0,0 +1 @@
        5819  +
30450220720698c40b04f1a2e1f94e91ed9a59f8b2a2e70cb55e6dd245d0aec039cad6ea022100b2076666b780735e1ddabf773f141ff49f8df3686ffb6c4c7798ba22470e3819
              \
 No newline at end of file
 4448   5820   
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
 4449   5821   
new file mode 100644
 4450   5822   
index 0000000..0cd6d0a
 4451         -
-- /dev/null
        5823  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-signed-request.txt
 4452   5824   
@@ -0,0 +1,3 @@
        5825  +
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
        5826  +
Host:example.amazonaws.com
        5827  +
 4453   5828   
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
 4454   5829   
similarity index 99%
 4455   5830   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-query-unreserved/query-string-to-sign.txt
 4456   5831   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/query-string-to-sign.txt
 4457   5832   
index 1cfed7a..aad1421 100644
 4458   5833   
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
 4459   5834   
similarity index 86%
 4460   5835   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
 4461   5836   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4462   5837   
index d2833b3..36b2fe3 100644
 4463         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query-unreserved/get-vanilla-query-unreserved.req
        5838  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query-unreserved/request.txt
 4464   5839   
@@ -1,3 +1,2 @@
 4465   5840   
GET /?-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz=-._~0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz HTTP/1.1
 4466   5841   
Host:example.amazonaws.com
 4467         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4468   5842   
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
 4469   5843   
new file mode 100644
 4470   5844   
index 0000000..0468d80
 4471         -
-- /dev/null
        5845  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/context.json
 4472   5846   
@@ -0,0 +1,12 @@
        5847  +
{
        5848  +
    "credentials": {
        5849  +
        "access_key_id": "AKIDEXAMPLE",
        5850  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5851  +
    },
        5852  +
    "expiration_in_seconds": 3600,
        5853  +
    "normalize": true,
        5854  +
    "region": "us-east-1",
        5855  +
    "service": "service",
        5856  +
    "sign_body": false,
        5857  +
    "timestamp": "2015-08-30T12:36:00Z"
        5858  +
}
              \
 No newline at end of file
 4473   5859   
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
 4474   5860   
new file mode 100644
 4475   5861   
index 0000000..76db73d
 4476         -
-- /dev/null
        5862  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-canonical-request.txt
 4477   5863   
@@ -0,0 +1,9 @@
        5864  +
GET
        5865  +
/
        5866  +
        5867  +
host:example.amazonaws.com
        5868  +
x-amz-date:20150830T123600Z
        5869  +
x-amz-region-set:us-east-1
        5870  +
        5871  +
host;x-amz-date;x-amz-region-set
        5872  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4478   5873   
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
 4479   5874   
new file mode 100644
 4480   5875   
index 0000000..281cc62
 4481         -
-- /dev/null
        5876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signature.txt
 4482   5877   
@@ -0,0 +1 @@
        5878  +
304402202f36c5363f01990fac07fb18efd255fb82fa3807a8a84946f0b5ac2b71ac96f5022068a86869075a8ca0fe4f875f6a07af6df16538f156dba648c9a96b7c3d687924
              \
 No newline at end of file
 4483   5879   
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
 4484   5880   
new file mode 100644
 4485   5881   
index 0000000..cce9925
 4486         -
-- /dev/null
        5882  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-signed-request.txt
 4487   5883   
@@ -0,0 +1,6 @@
        5884  +
GET / HTTP/1.1
        5885  +
Host:example.amazonaws.com
        5886  +
X-Amz-Date:20150830T123600Z
        5887  +
X-Amz-Region-Set:us-east-1
        5888  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502201f8540fba7741deef60d162a2cf5a8abece28db296174e82420ae6790d93b8af022100d3109ac9ec7995b9e976efa2c54b278d3fab0737e3c73483771773d2061d8f3f
        5889  +
 4488   5890   
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
 4489   5891   
new file mode 100644
 4490   5892   
index 0000000..600f1d8
 4491         -
-- /dev/null
        5893  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/header-string-to-sign.txt
 4492   5894   
@@ -0,0 +1,4 @@
        5895  +
AWS4-ECDSA-P256-SHA256
        5896  +
20150830T123600Z
        5897  +
20150830/service/aws4_request
        5898  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4493   5899   
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
 4494   5900   
new file mode 100644
 4495   5901   
index 0000000..379dcb2
 4496         -
-- /dev/null
        5902  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/public-key.json
 4497   5903   
@@ -0,0 +1,4 @@
        5904  +
{
        5905  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        5906  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        5907  +
}
 4498   5908   
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
 4499   5909   
new file mode 100644
 4500   5910   
index 0000000..779c51c
 4501         -
-- /dev/null
        5911  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-canonical-request.txt
 4502   5912   
@@ -0,0 +1,7 @@
        5913  +
GET
        5914  +
/
        5915  +
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
        5916  +
host:example.amazonaws.com
        5917  +
        5918  +
host
        5919  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4503   5920   
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
 4504   5921   
new file mode 100644
 4505   5922   
index 0000000..2979e5e
 4506         -
-- /dev/null
        5923  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signature.txt
 4507   5924   
@@ -0,0 +1 @@
        5925  +
304402203840161a4739cd19b33c2186657554e140b84ce1fe9021074f154410b97ffad002200606f4430d72826616b2cd47590fcee42bbf23cb0287458389a43f9e6edd897d
              \
 No newline at end of file
 4508   5926   
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
 4509   5927   
new file mode 100644
 4510   5928   
index 0000000..1b3179c
 4511         -
-- /dev/null
        5929  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-signed-request.txt
 4512   5930   
@@ -0,0 +1,3 @@
        5931  +
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
        5932  +
Host:example.amazonaws.com
        5933  +
 4513   5934   
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
 4514   5935   
new file mode 100644
 4515   5936   
index 0000000..6e29a7e
 4516         -
-- /dev/null
        5937  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/query-string-to-sign.txt
 4517   5938   
@@ -0,0 +1,4 @@
        5939  +
AWS4-ECDSA-P256-SHA256
        5940  +
20150830T123600Z
        5941  +
20150830/service/aws4_request
        5942  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4518   5943   
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
 4519   5944   
similarity index 60%
 4520   5945   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
 4521   5946   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4522   5947   
index 0f7a9bf..e659c3b 100644
 4523         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla/get-vanilla.req
        5948  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-query/request.txt
 4524   5949   
@@ -1,3 +1,2 @@
 4525   5950   
GET / HTTP/1.1
 4526   5951   
Host:example.amazonaws.com
 4527         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4528   5952   
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
 4529   5953   
new file mode 100644
 4530   5954   
index 0000000..0468d80
 4531         -
-- /dev/null
        5955  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/context.json
 4532   5956   
@@ -0,0 +1,12 @@
        5957  +
{
        5958  +
    "credentials": {
        5959  +
        "access_key_id": "AKIDEXAMPLE",
        5960  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        5961  +
    },
        5962  +
    "expiration_in_seconds": 3600,
        5963  +
    "normalize": true,
        5964  +
    "region": "us-east-1",
        5965  +
    "service": "service",
        5966  +
    "sign_body": false,
        5967  +
    "timestamp": "2015-08-30T12:36:00Z"
        5968  +
}
              \
 No newline at end of file
 4533   5969   
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
 4534   5970   
new file mode 100644
 4535   5971   
index 0000000..8841ddf
 4536         -
-- /dev/null
        5972  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-canonical-request.txt
 4537   5973   
@@ -0,0 +1,9 @@
        5974  +
GET
        5975  +
/
        5976  +
%E1%88%B4=bar
        5977  +
host:example.amazonaws.com
        5978  +
x-amz-date:20150830T123600Z
        5979  +
x-amz-region-set:us-east-1
        5980  +
        5981  +
host;x-amz-date;x-amz-region-set
        5982  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4538   5983   
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
 4539   5984   
new file mode 100644
 4540   5985   
index 0000000..1497add
 4541         -
-- /dev/null
        5986  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signature.txt
 4542   5987   
@@ -0,0 +1 @@
        5988  +
3046022100b47fe24b090d857f34597a58a4e8acd0ea9639462e606af7e1fa1e2c3fae1d630221008ce7f870adf7d2c06f299da0c9870402b027c6a50ff027881655a664ff294cc3
              \
 No newline at end of file
 4543   5989   
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
 4544   5990   
new file mode 100644
 4545   5991   
index 0000000..961bc10
 4546         -
-- /dev/null
        5992  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-signed-request.txt
 4547   5993   
@@ -0,0 +1,6 @@
        5994  +
GET /?ሴ=bar HTTP/1.1
        5995  +
Host:example.amazonaws.com
        5996  +
X-Amz-Date:20150830T123600Z
        5997  +
X-Amz-Region-Set:us-east-1
        5998  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304502206e0b9d70bb0413a557946314e04739d721c9f301d452c072590edfdcb9320572022100846f242fb0346c8c56c76a6f0e70c521d7ac02742f09c2e7b5253f1e9afe5a44
        5999  +
 4548   6000   
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
 4549   6001   
new file mode 100644
 4550   6002   
index 0000000..e78ed70
 4551         -
-- /dev/null
        6003  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/header-string-to-sign.txt
 4552   6004   
@@ -0,0 +1,4 @@
        6005  +
AWS4-ECDSA-P256-SHA256
        6006  +
20150830T123600Z
        6007  +
20150830/service/aws4_request
        6008  +
b27131d754045e85823698b1fe3fc9694c17b16d97f4c43cef2359a1233c7b76
              \
 No newline at end of file
 4553   6009   
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
 4554   6010   
new file mode 100644
 4555   6011   
index 0000000..379dcb2
 4556         -
-- /dev/null
        6012  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/public-key.json
 4557   6013   
@@ -0,0 +1,4 @@
        6014  +
{
        6015  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6016  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6017  +
}
 4558   6018   
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
 4559   6019   
new file mode 100644
 4560   6020   
index 0000000..6d5ae93
 4561         -
-- /dev/null
        6021  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-canonical-request.txt
 4562   6022   
@@ -0,0 +1,7 @@
        6023  +
GET
        6024  +
/
        6025  +
%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
        6026  +
host:example.amazonaws.com
        6027  +
        6028  +
host
        6029  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4563   6030   
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
 4564   6031   
new file mode 100644
 4565   6032   
index 0000000..92107f2
 4566         -
-- /dev/null
        6033  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signature.txt
 4567   6034   
@@ -0,0 +1 @@
        6035  +
3044022076d8b03a19db63abc106c50f13487d5363f1eac2c77bc4eda764eadba8f84c6502205c0aa76554ba223a97958be9ff34aca35d84cb7b8c7ba698793ead9e6788e241
              \
 No newline at end of file
 4568   6036   
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
 4569   6037   
new file mode 100644
 4570   6038   
index 0000000..bb8a75b
 4571         -
-- /dev/null
        6039  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-signed-request.txt
 4572   6040   
@@ -0,0 +1,3 @@
        6041  +
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
        6042  +
Host:example.amazonaws.com
        6043  +
 4573   6044   
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
 4574   6045   
new file mode 100644
 4575   6046   
index 0000000..9fa94c7
 4576         -
-- /dev/null
        6047  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/query-string-to-sign.txt
 4577   6048   
@@ -0,0 +1,4 @@
        6049  +
AWS4-ECDSA-P256-SHA256
        6050  +
20150830T123600Z
        6051  +
20150830/service/aws4_request
        6052  +
e22d57192c68232f914afff959b8aa1027756098f879c7d4d7615a2469f85c1f
              \
 No newline at end of file
 4578   6053   
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
 4579   6054   
new file mode 100644
 4580   6055   
index 0000000..aff333a
 4581         -
-- /dev/null
        6056  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-utf8-query/request.txt
 4582   6057   
@@ -0,0 +1,2 @@
        6058  +
GET /?ሴ=bar HTTP/1.1
        6059  +
Host:example.amazonaws.com
 4583   6060   
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
 4584   6061   
new file mode 100644
 4585   6062   
index 0000000..a334e18
 4586         -
-- /dev/null
        6063  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/context.json
 4587   6064   
@@ -0,0 +1,13 @@
        6065  +
{
        6066  +
    "credentials": {
        6067  +
        "access_key_id": "AKIDEXAMPLE",
        6068  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6069  +
        "token": "6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267"
        6070  +
    },
        6071  +
    "expiration_in_seconds": 3600,
        6072  +
    "normalize": true,
        6073  +
    "region": "us-east-1",
        6074  +
    "service": "service",
        6075  +
    "sign_body": false,
        6076  +
    "timestamp": "2015-08-30T12:36:00Z"
        6077  +
}
              \
 No newline at end of file
 4588   6078   
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
 4589   6079   
similarity index 99%
 4590   6080   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/header-canonical-request.txt
 4591   6081   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-canonical-request.txt
 4592   6082   
index f14defd..0e9ad42 100644
 4593   6083   
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
 4594   6084   
new file mode 100644
 4595   6085   
index 0000000..a7673b5
 4596         -
-- /dev/null
        6086  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signature.txt
 4597   6087   
@@ -0,0 +1 @@
        6088  +
3044022035c6bc9a8cab8a434bd8bd1cc3b6f1401842f530f1537722ad10d72a1577f8c80220101352fe0720715efbab80f82edb133175f0b61cad85daf943ad615852f9ae10
              \
 No newline at end of file
 4598   6089   
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
 4599   6090   
new file mode 100644
 4600   6091   
index 0000000..ed16e76
 4601         -
-- /dev/null
        6092  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/header-signed-request.txt
 4602   6093   
@@ -0,0 +1,7 @@
        6094  +
GET / HTTP/1.1
        6095  +
Host:example.amazonaws.com
        6096  +
X-Amz-Security-Token:6e86291e8372ff2a2260956d9b8aae1d763fbf315fa00fa31553b73ebf194267
        6097  +
X-Amz-Date:20150830T123600Z
        6098  +
X-Amz-Region-Set:us-east-1
        6099  +
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
        6100  +
 4603   6101   
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
 4604   6102   
similarity index 99%
 4605   6103   
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
 4606   6104   
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
 4607   6105   
index 4edece5..6c1ec65 100644
 4608   6106   
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
 4609   6107   
new file mode 100644
 4610   6108   
index 0000000..379dcb2
 4611         -
-- /dev/null
        6109  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/public-key.json
 4612   6110   
@@ -0,0 +1,4 @@
        6111  +
{
        6112  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6113  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6114  +
}
 4613   6115   
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
 4614   6116   
similarity index 99%
 4615   6117   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/get-vanilla-with-session-token/query-canonical-request.txt
 4616   6118   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-canonical-request.txt
 4617   6119   
index 7c042af..1876b42 100644
 4618   6120   
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
 4619   6121   
new file mode 100644
 4620   6122   
index 0000000..903dfb4
 4621         -
-- /dev/null
        6123  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signature.txt
 4622   6124   
@@ -0,0 +1 @@
        6125  +
3046022100d51f7ae1ac1b6b3db6c40f69aafb4306f81cdd2d87a85f69b2c4cb8fd057cf21022100cdb787a698c3f53d961f5b6279a0ff246097f50c874bcbf7a249bf4c0f118fb3
              \
 No newline at end of file
 4623   6126   
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
 4624   6127   
new file mode 100644
 4625   6128   
index 0000000..bf1d246
 4626         -
-- /dev/null
        6129  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/query-signed-request.txt
 4627   6130   
@@ -0,0 +1,3 @@
        6131  +
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
        6132  +
Host:example.amazonaws.com
        6133  +
 4628   6134   
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
 4629   6135   
similarity index 99%
 4630   6136   
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
 4631   6137   
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
 4632   6138   
index 0fd066a..f1b1790 100644
 4633   6139   
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
 4634   6140   
similarity index 60%
 4635   6141   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
 4636   6142   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4637   6143   
index 0f7a9bf..e659c3b 100644
 4638         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/get-vanilla-query/get-vanilla-query.req
        6144  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla-with-session-token/request.txt
 4639   6145   
@@ -1,3 +1,2 @@
 4640   6146   
GET / HTTP/1.1
 4641   6147   
Host:example.amazonaws.com
 4642         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4643   6148   
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
 4644   6149   
new file mode 100644
 4645   6150   
index 0000000..76db73d
 4646         -
-- /dev/null
        6151  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/canonical-request.txt
 4647   6152   
@@ -0,0 +1,9 @@
        6153  +
GET
        6154  +
/
        6155  +
        6156  +
host:example.amazonaws.com
        6157  +
x-amz-date:20150830T123600Z
        6158  +
x-amz-region-set:us-east-1
        6159  +
        6160  +
host;x-amz-date;x-amz-region-set
        6161  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4648   6162   
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
 4649   6163   
new file mode 100644
 4650   6164   
index 0000000..0468d80
 4651         -
-- /dev/null
        6165  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/context.json
 4652   6166   
@@ -0,0 +1,12 @@
        6167  +
{
        6168  +
    "credentials": {
        6169  +
        "access_key_id": "AKIDEXAMPLE",
        6170  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6171  +
    },
        6172  +
    "expiration_in_seconds": 3600,
        6173  +
    "normalize": true,
        6174  +
    "region": "us-east-1",
        6175  +
    "service": "service",
        6176  +
    "sign_body": false,
        6177  +
    "timestamp": "2015-08-30T12:36:00Z"
        6178  +
}
              \
 No newline at end of file
 4653   6179   
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
 4654   6180   
new file mode 100644
 4655   6181   
index 0000000..76db73d
 4656         -
-- /dev/null
        6182  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-canonical-request.txt
 4657   6183   
@@ -0,0 +1,9 @@
        6184  +
GET
        6185  +
/
        6186  +
        6187  +
host:example.amazonaws.com
        6188  +
x-amz-date:20150830T123600Z
        6189  +
x-amz-region-set:us-east-1
        6190  +
        6191  +
host;x-amz-date;x-amz-region-set
        6192  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4658   6193   
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
 4659   6194   
new file mode 100644
 4660   6195   
index 0000000..a96ff24
 4661         -
-- /dev/null
        6196  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signature.txt
 4662   6197   
@@ -0,0 +1 @@
        6198  +
3045022018b4e277d0281864beb51d3600e23f88510ea5031d68ddfbb68614b82a5eb7d2022100effb9c5f22ed9ef3ae0ab243d21f06bce82365bbb79529a07b6888c343ae5f8c
              \
 No newline at end of file
 4663   6199   
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
 4664   6200   
new file mode 100644
 4665   6201   
index 0000000..689078b
 4666         -
-- /dev/null
        6202  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-signed-request.txt
 4667   6203   
@@ -0,0 +1,6 @@
        6204  +
GET / HTTP/1.1
        6205  +
Host:example.amazonaws.com
        6206  +
X-Amz-Date:20150830T123600Z
        6207  +
X-Amz-Region-Set:us-east-1
        6208  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3046022100fddaaf816a31e30d04973875b13bc27b98da10907a3a1872fd5819a221334abc022100de2ee81d83b54f31efc82834de07e6cd4d5c6f25bfa08e0f29a15bb0977c343e
        6209  +
 4668   6210   
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
 4669   6211   
new file mode 100644
 4670   6212   
index 0000000..600f1d8
 4671         -
-- /dev/null
        6213  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/header-string-to-sign.txt
 4672   6214   
@@ -0,0 +1,4 @@
        6215  +
AWS4-ECDSA-P256-SHA256
        6216  +
20150830T123600Z
        6217  +
20150830/service/aws4_request
        6218  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4673   6219   
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
 4674   6220   
new file mode 100644
 4675   6221   
index 0000000..379dcb2
 4676         -
-- /dev/null
        6222  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/public-key.json
 4677   6223   
@@ -0,0 +1,4 @@
        6224  +
{
        6225  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6226  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6227  +
}
 4678   6228   
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
 4679   6229   
new file mode 100644
 4680   6230   
index 0000000..779c51c
 4681         -
-- /dev/null
        6231  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-canonical-request.txt
 4682   6232   
@@ -0,0 +1,7 @@
        6233  +
GET
        6234  +
/
        6235  +
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
        6236  +
host:example.amazonaws.com
        6237  +
        6238  +
host
        6239  +
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
              \
 No newline at end of file
 4683   6240   
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
 4684   6241   
new file mode 100644
 4685   6242   
index 0000000..cc42158
 4686         -
-- /dev/null
        6243  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signature.txt
 4687   6244   
@@ -0,0 +1 @@
        6245  +
3045022100b3246f8e1442dd58e73292ae1294720c3256ee58f6cea50f3a3f83b4a4b0331a0220329693f7745c9008a5887c0529ceccb0fae4e16d707b712ea66acdbaf963769a
              \
 No newline at end of file
 4688   6246   
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
 4689   6247   
new file mode 100644
 4690   6248   
index 0000000..dc6d01d
 4691         -
-- /dev/null
        6249  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-signed-request.txt
 4692   6250   
@@ -0,0 +1,3 @@
        6251  +
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
        6252  +
Host:example.amazonaws.com
        6253  +
 4693   6254   
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
 4694   6255   
new file mode 100644
 4695   6256   
index 0000000..6e29a7e
 4696         -
-- /dev/null
        6257  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/query-string-to-sign.txt
 4697   6258   
@@ -0,0 +1,4 @@
        6259  +
AWS4-ECDSA-P256-SHA256
        6260  +
20150830T123600Z
        6261  +
20150830/service/aws4_request
        6262  +
890c4ed28c1a1ac10b5862719b537afbe392e987dc1aab1efa16fe7de41d3c81
              \
 No newline at end of file
 4698   6263   
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
 4699   6264   
new file mode 100644
 4700   6265   
index 0000000..e659c3b
 4701         -
-- /dev/null
        6266  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/request.txt
 4702   6267   
@@ -0,0 +1,2 @@
        6268  +
GET / HTTP/1.1
        6269  +
Host:example.amazonaws.com
 4703   6270   
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
 4704   6271   
new file mode 100644
 4705   6272   
index 0000000..600f1d8
 4706         -
-- /dev/null
        6273  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/get-vanilla/string-to-sign.txt
 4707   6274   
@@ -0,0 +1,4 @@
        6275  +
AWS4-ECDSA-P256-SHA256
        6276  +
20150830T123600Z
        6277  +
20150830/service/aws4_request
        6278  +
cf59db423e841c8b7e3444158185aa261b724a5c27cbe762676f3eed19f4dc02
              \
 No newline at end of file
 4708   6279   
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
 4709   6280   
new file mode 100644
 4710   6281   
index 0000000..0468d80
 4711         -
-- /dev/null
        6282  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/context.json
 4712   6283   
@@ -0,0 +1,12 @@
        6284  +
{
        6285  +
    "credentials": {
        6286  +
        "access_key_id": "AKIDEXAMPLE",
        6287  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6288  +
    },
        6289  +
    "expiration_in_seconds": 3600,
        6290  +
    "normalize": true,
        6291  +
    "region": "us-east-1",
        6292  +
    "service": "service",
        6293  +
    "sign_body": false,
        6294  +
    "timestamp": "2015-08-30T12:36:00Z"
        6295  +
}
              \
 No newline at end of file
 4713   6296   
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
 4714   6297   
similarity index 99%
 4715   6298   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-canonical-request.txt
 4716   6299   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-canonical-request.txt
 4717   6300   
index a6942c1..e881ac7 100644
 4718   6301   
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
 4719   6302   
new file mode 100644
 4720   6303   
index 0000000..4210210
 4721         -
-- /dev/null
        6304  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signature.txt
 4722   6305   
@@ -0,0 +1 @@
        6306  +
3044022025397839d55c2147eead39170f5b1758c9f9fb4ccbcda4c8612a23df8e90c13d022079f5fc1377201691a11be43def8be12fe882e998589317508ff67b8dbe982722
              \
 No newline at end of file
 4723   6307   
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
 4724   6308   
new file mode 100644
 4725   6309   
index 0000000..257b110
 4726         -
-- /dev/null
        6310  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-signed-request.txt
 4727   6311   
@@ -0,0 +1,6 @@
        6312  +
POST / HTTP/1.1
        6313  +
Host:example.amazonaws.com
        6314  +
X-Amz-Date:20150830T123600Z
        6315  +
X-Amz-Region-Set:us-east-1
        6316  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304602210081bb2a93eae5cce843abe0e7cac2f0e4cecdd0a79cb8d60e5b9dc4c8e8906b61022100e18c8119f50b8218da995ada62080d88ff75d2f02309c3685a02dfb9a83b103f
        6317  +
 4728   6318   
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
 4729   6319   
similarity index 99%
 4730   6320   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/header-string-to-sign.txt
 4731   6321   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/header-string-to-sign.txt
 4732   6322   
index d5650cb..f8adf13 100644
 4733   6323   
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
 4734   6324   
new file mode 100644
 4735   6325   
index 0000000..379dcb2
 4736         -
-- /dev/null
        6326  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/public-key.json
 4737   6327   
@@ -0,0 +1,4 @@
        6328  +
{
        6329  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6330  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6331  +
}
 4738   6332   
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
 4739   6333   
similarity index 99%
 4740   6334   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-canonical-request.txt
 4741   6335   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-canonical-request.txt
 4742   6336   
index e48ce07..5ea8e3c 100644
 4743   6337   
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
 4744   6338   
new file mode 100644
 4745   6339   
index 0000000..9e2069e
 4746         -
-- /dev/null
        6340  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signature.txt
 4747   6341   
@@ -0,0 +1 @@
        6342  +
304402204afe4ce8de62e37853d0cb8a00f9601532fdeca89d6d8591c72d5bbf728bee2f02202feb0d8e680cab063e0c3c9090c0483f400511678ce83169ddce3e6d040f9ed8
              \
 No newline at end of file
 4748   6343   
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
 4749   6344   
new file mode 100644
 4750   6345   
index 0000000..67f5d29
 4751         -
-- /dev/null
        6346  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-signed-request.txt
 4752   6347   
@@ -0,0 +1,3 @@
        6348  +
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
        6349  +
Host:example.amazonaws.com
        6350  +
 4753   6351   
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
 4754   6352   
similarity index 99%
 4755   6353   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-case/query-string-to-sign.txt
 4756   6354   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/query-string-to-sign.txt
 4757   6355   
index 34e3382..711c162 100644
 4758   6356   
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
 4759   6357   
similarity index 61%
 4760   6358   
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
 4761   6359   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4762   6360   
index 3dc4179..3f0a82a 100644
 4763         -
-- 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
        6361  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-case/request.txt
 4764   6362   
@@ -1,3 +1,2 @@
 4765   6363   
POST / HTTP/1.1
 4766   6364   
Host:example.amazonaws.com
 4767         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4768   6365   
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
 4769   6366   
new file mode 100644
 4770   6367   
index 0000000..0468d80
 4771         -
-- /dev/null
        6368  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/context.json
 4772   6369   
@@ -0,0 +1,12 @@
        6370  +
{
        6371  +
    "credentials": {
        6372  +
        "access_key_id": "AKIDEXAMPLE",
        6373  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6374  +
    },
        6375  +
    "expiration_in_seconds": 3600,
        6376  +
    "normalize": true,
        6377  +
    "region": "us-east-1",
        6378  +
    "service": "service",
        6379  +
    "sign_body": false,
        6380  +
    "timestamp": "2015-08-30T12:36:00Z"
        6381  +
}
              \
 No newline at end of file
 4773   6382   
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
 4774   6383   
similarity index 99%
 4775   6384   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-canonical-request.txt
 4776   6385   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-canonical-request.txt
 4777   6386   
index a8e1727..2883822 100644
 4778   6387   
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
 4779   6388   
new file mode 100644
 4780   6389   
index 0000000..e3c2e6e
 4781         -
-- /dev/null
        6390  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signature.txt
 4782   6391   
@@ -0,0 +1 @@
        6392  +
304502210097752f8c9953078cbb6b370471cb7029aea9517d59fb835d8befce66a91e6c4a022043a8c62681ff76e6cbaaeaed2fff2fcfee8efceebb7bd9e562ecd5a08b2c563f
              \
 No newline at end of file
 4783   6393   
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
 4784   6394   
new file mode 100644
 4785   6395   
index 0000000..1d6e288
 4786         -
-- /dev/null
        6396  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-signed-request.txt
 4787   6397   
@@ -0,0 +1,7 @@
        6398  +
POST / HTTP/1.1
        6399  +
Host:example.amazonaws.com
        6400  +
My-Header1:value1
        6401  +
X-Amz-Date:20150830T123600Z
        6402  +
X-Amz-Region-Set:us-east-1
        6403  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3046022100a5dc03771b33997d8eeb15d639cb7bdef2aff78a4a59c7996070e5f94fe149780221009a732061539208209ba0ae6755bef956c258a0c0ac6a6916489486efde21cfeb
        6404  +
 4788   6405   
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
 4789   6406   
similarity index 99%
 4790   6407   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/header-string-to-sign.txt
 4791   6408   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/header-string-to-sign.txt
 4792   6409   
index f6e3e9b..7c5236a 100644
 4793   6410   
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
 4794   6411   
new file mode 100644
 4795   6412   
index 0000000..379dcb2
 4796         -
-- /dev/null
        6413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/public-key.json
 4797   6414   
@@ -0,0 +1,4 @@
        6415  +
{
        6416  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6417  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6418  +
}
 4798   6419   
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
 4799   6420   
similarity index 99%
 4800   6421   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-canonical-request.txt
 4801   6422   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-canonical-request.txt
 4802   6423   
index 0ae73e1..2cf3f29 100644
 4803   6424   
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
 4804   6425   
new file mode 100644
 4805   6426   
index 0000000..2a08401
 4806         -
-- /dev/null
        6427  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signature.txt
 4807   6428   
@@ -0,0 +1 @@
        6429  +
304502204f2a31513c9bea5c92dd8045e226dc1db150f768e60b538cacce157c623873dc022100ab5d654ce3c7b917656cec2cf58a3689159e89deed5241ca21e19a40173674c4
              \
 No newline at end of file
 4808   6430   
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
 4809   6431   
new file mode 100644
 4810   6432   
index 0000000..8d2343f
 4811         -
-- /dev/null
        6433  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-signed-request.txt
 4812   6434   
@@ -0,0 +1,4 @@
        6435  +
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
        6436  +
Host:example.amazonaws.com
        6437  +
My-Header1:value1
        6438  +
 4813   6439   
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
 4814   6440   
similarity index 99%
 4815   6441   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-key-sort/query-string-to-sign.txt
 4816   6442   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/query-string-to-sign.txt
 4817   6443   
index 8cb96bf..2c4db7a 100644
 4818   6444   
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
 4819   6445   
similarity index 69%
 4820   6446   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
 4821   6447   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4822   6448   
index 0253f19..917720e 100644
 4823         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-sort/post-header-key-sort.req
        6449  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-key-sort/request.txt
 4824   6450   
@@ -1,4 +1,3 @@
 4825   6451   
POST / HTTP/1.1
 4826   6452   
Host:example.amazonaws.com
 4827   6453   
My-Header1:value1
 4828         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4829   6454   
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
 4830   6455   
new file mode 100644
 4831   6456   
index 0000000..0468d80
 4832         -
-- /dev/null
        6457  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/context.json
 4833   6458   
@@ -0,0 +1,12 @@
        6459  +
{
        6460  +
    "credentials": {
        6461  +
        "access_key_id": "AKIDEXAMPLE",
        6462  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6463  +
    },
        6464  +
    "expiration_in_seconds": 3600,
        6465  +
    "normalize": true,
        6466  +
    "region": "us-east-1",
        6467  +
    "service": "service",
        6468  +
    "sign_body": false,
        6469  +
    "timestamp": "2015-08-30T12:36:00Z"
        6470  +
}
              \
 No newline at end of file
 4834   6471   
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
 4835   6472   
similarity index 99%
 4836   6473   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-canonical-request.txt
 4837   6474   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-canonical-request.txt
 4838   6475   
index 1dc3ef8..164e65c 100644
 4839   6476   
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
 4840   6477   
new file mode 100644
 4841   6478   
index 0000000..7072b0e
 4842         -
-- /dev/null
        6479  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signature.txt
 4843   6480   
@@ -0,0 +1 @@
        6481  +
304402207b3baf259f5d29f13511eb4c9b236045c43168ca70369ed639611f4bff9eb6490220465e922e8b19146de9c70147440f4ee80a3318f0c756c8050dbfd641e6ff0456
              \
 No newline at end of file
 4844   6482   
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
 4845   6483   
new file mode 100644
 4846   6484   
index 0000000..17f5e3e
 4847         -
-- /dev/null
        6485  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-signed-request.txt
 4848   6486   
@@ -0,0 +1,7 @@
        6487  +
POST / HTTP/1.1
        6488  +
Host:example.amazonaws.com
        6489  +
My-Header1:VALUE1
        6490  +
X-Amz-Date:20150830T123600Z
        6491  +
X-Amz-Region-Set:us-east-1
        6492  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;my-header1;x-amz-date;x-amz-region-set, Signature=3045022100c72dd4d54c45d3eb30858c6227e9512f41b7379b7c685e39e0cd39a793d7ee3102205c900d330270e31d2f7b5138fb3d791b6743f6f3b9ffbc34a4adcc8307591b11
        6493  +
 4849   6494   
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
 4850   6495   
similarity index 99%
 4851   6496   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/header-string-to-sign.txt
 4852   6497   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/header-string-to-sign.txt
 4853   6498   
index 59c7e45..620f54e 100644
 4854   6499   
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
 4855   6500   
new file mode 100644
 4856   6501   
index 0000000..379dcb2
 4857         -
-- /dev/null
        6502  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/public-key.json
 4858   6503   
@@ -0,0 +1,4 @@
        6504  +
{
        6505  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6506  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6507  +
}
 4859   6508   
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
 4860   6509   
similarity index 99%
 4861   6510   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-canonical-request.txt
 4862   6511   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-canonical-request.txt
 4863   6512   
index 377e6f3..23e0da3 100644
 4864   6513   
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
 4865   6514   
new file mode 100644
 4866   6515   
index 0000000..a18acb8
 4867         -
-- /dev/null
        6516  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signature.txt
 4868   6517   
@@ -0,0 +1 @@
        6518  +
30450221009895446cb62cfb2dbb5e943baa12cad86c9d903bcfdb400f7e24391566709d8002205a12b1179a7d3569a8dfbfb8c15d0ad2e5e816aff6b2ee0c3deaf0e89fcbea80
              \
 No newline at end of file
 4869   6519   
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
 4870   6520   
new file mode 100644
 4871   6521   
index 0000000..7cbdcfa
 4872         -
-- /dev/null
        6522  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-signed-request.txt
 4873   6523   
@@ -0,0 +1,4 @@
        6524  +
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
        6525  +
Host:example.amazonaws.com
        6526  +
My-Header1:VALUE1
        6527  +
 4874   6528   
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
 4875   6529   
similarity index 99%
 4876   6530   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-header-value-case/query-string-to-sign.txt
 4877   6531   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/query-string-to-sign.txt
 4878   6532   
index 84a7afd..0c90627 100644
 4879   6533   
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
 4880   6534   
similarity index 69%
 4881   6535   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
 4882   6536   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4883   6537   
index 3f9987a..5f14c91 100644
 4884         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-value-case/post-header-value-case.req
        6538  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-header-value-case/request.txt
 4885   6539   
@@ -1,4 +1,3 @@
 4886   6540   
POST / HTTP/1.1
 4887   6541   
Host:example.amazonaws.com
 4888   6542   
My-Header1:VALUE1
 4889         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4890   6543   
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
 4891   6544   
new file mode 100644
 4892   6545   
index 0000000..8f1d5ce
 4893         -
-- /dev/null
        6546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/context.json
 4894   6547   
@@ -0,0 +1,14 @@
        6548  +
{
        6549  +
    "credentials": {
        6550  +
        "access_key_id": "AKIDEXAMPLE",
        6551  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6552  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6553  +
    },
        6554  +
    "expiration_in_seconds": 3600,
        6555  +
    "normalize": true,
        6556  +
    "region": "us-east-1",
        6557  +
    "service": "service",
        6558  +
    "sign_body": false,
        6559  +
    "timestamp": "2015-08-30T12:36:00Z",
        6560  +
    "omit_session_token": true
        6561  +
}
 4895   6562   
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
 4896   6563   
similarity index 99%
 4897   6564   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-canonical-request.txt
 4898   6565   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-canonical-request.txt
 4899   6566   
index a6942c1..e881ac7 100644
 4900   6567   
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
 4901   6568   
new file mode 100644
 4902   6569   
index 0000000..9c5ecb9
 4903         -
-- /dev/null
        6570  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signature.txt
 4904   6571   
@@ -0,0 +1 @@
        6572  +
3045022005936b1139f85e06856778dc6fefa39c534143129dca2e0a40d1c910d42f12f1022100b97f90927755775d36f57803214c2268a051914bbdab196c071ec24462f6baae
              \
 No newline at end of file
 4905   6573   
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
 4906   6574   
similarity index 52%
 4907   6575   
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
 4908   6576   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4909   6577   
index 9d91775..61b6527 100644
 4910         -
-- 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
        6578  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-signed-request.txt
 4911   6579   
@@ -1,4 +1,7 @@
 4912   6580   
POST / HTTP/1.1
 4913   6581   
Host:example.amazonaws.com
 4914         -
X-Amz-Date:20150830T123600Z
 4915   6582   
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6583  +
X-Amz-Date:20150830T123600Z
        6584  +
X-Amz-Region-Set:us-east-1
        6585  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3045022100f7866e35aa214de4541aa33326aa9b5e9a409b72c9185c7a2e2d246ebb5a25a80220642e809f3d016fb3674364776c2ffadf7e7f8da94c36538a4715fa9425b52ed8
        6586  +
 4916   6587   
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
 4917   6588   
similarity index 99%
 4918   6589   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/header-string-to-sign.txt
 4919   6590   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/header-string-to-sign.txt
 4920   6591   
index d5650cb..f8adf13 100644
 4921   6592   
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
 4922   6593   
new file mode 100644
 4923   6594   
index 0000000..379dcb2
 4924         -
-- /dev/null
        6595  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/public-key.json
 4925   6596   
@@ -0,0 +1,4 @@
        6597  +
{
        6598  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6599  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6600  +
}
 4926   6601   
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
 4927   6602   
similarity index 99%
 4928   6603   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-canonical-request.txt
 4929   6604   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-canonical-request.txt
 4930   6605   
index e48ce07..5ea8e3c 100644
 4931   6606   
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
 4932   6607   
new file mode 100644
 4933   6608   
index 0000000..ff8823a
 4934         -
-- /dev/null
        6609  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signature.txt
 4935   6610   
@@ -0,0 +1 @@
        6611  +
3046022100f7c89084cbc2c276f6cbc02a6f6b353e2fb3538d02ed31f819324acf0f49cd0b022100823e6714c97899ea16d7f409989b250a911e6930112f8c73cf7d8c660bf2ed2f
              \
 No newline at end of file
 4936   6612   
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
 4937   6613   
new file mode 100644
 4938   6614   
index 0000000..cfac41b
 4939         -
-- /dev/null
        6615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-signed-request.txt
 4940   6616   
@@ -0,0 +1,3 @@
        6617  +
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
        6618  +
Host:example.amazonaws.com
        6619  +
 4941   6620   
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
 4942   6621   
similarity index 99%
 4943   6622   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-after/query-string-to-sign.txt
 4944   6623   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/query-string-to-sign.txt
 4945   6624   
index 34e3382..711c162 100644
 4946   6625   
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
 4947   6626   
similarity index 61%
 4948   6627   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
 4949   6628   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4950   6629   
index 3dc4179..3f0a82a 100644
 4951         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla/post-vanilla.req
        6630  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-after/request.txt
 4952   6631   
@@ -1,3 +1,2 @@
 4953   6632   
POST / HTTP/1.1
 4954   6633   
Host:example.amazonaws.com
 4955         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 4956   6634   
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
 4957   6635   
new file mode 100644
 4958   6636   
index 0000000..5187392
 4959         -
-- /dev/null
        6637  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/context.json
 4960   6638   
@@ -0,0 +1,14 @@
        6639  +
{
        6640  +
    "credentials": {
        6641  +
        "access_key_id": "AKIDEXAMPLE",
        6642  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY",
        6643  +
        "token": "AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA=="
        6644  +
    },
        6645  +
    "expiration_in_seconds": 3600,
        6646  +
    "normalize": true,
        6647  +
    "region": "us-east-1",
        6648  +
    "service": "service",
        6649  +
    "sign_body": false,
        6650  +
    "timestamp": "2015-08-30T12:36:00Z",
        6651  +
    "omit_session_token": false
        6652  +
}
 4961   6653   
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
 4962   6654   
similarity index 99%
 4963   6655   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-canonical-request.txt
 4964   6656   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-canonical-request.txt
 4965   6657   
index dd408c8..e95924e 100644
 4966   6658   
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
 4967   6659   
new file mode 100644
 4968   6660   
index 0000000..1573f07
 4969         -
-- /dev/null
        6661  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signature.txt
 4970   6662   
@@ -0,0 +1 @@
        6663  +
30450221009cf93687a6055c287c68f881d4a907a6c99eef88b9c908e33e15740ec5a75e43022072df645db08e18ba4cd7436b3d67691792815a353d48113c7c444bb67c630e50
              \
 No newline at end of file
 4971   6664   
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
 4972   6665   
new file mode 100644
 4973   6666   
index 0000000..6ef9a08
 4974         -
-- /dev/null
        6667  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-signed-request.txt
 4975   6668   
@@ -0,0 +1,7 @@
        6669  +
POST / HTTP/1.1
        6670  +
Host:example.amazonaws.com
        6671  +
X-Amz-Security-Token:AQoDYXdzEPT//////////wEXAMPLEtc764bNrC9SAPBSM22wDOk4x4HIZ8j4FZTwdQWLWsKWHGBuFqwAeMicRXmxfpSPfIeoIYRqTflfKD8YUuwthAx7mSEI/qkPpKPi/kMcGdQrmGdeehM4IC1NtBmUpp2wUE8phUZampKsburEDy0KPkyQDYwT7WZ0wq5VSXDvp75YU9HFvlRd8Tx6q6fE8YQcHNVXAkiY9q6d+xo0rKwT38xVqr7ZD0u0iPPkUL64lIZbqBAz+scqKmlzm8FDrypNC9Yjc8fPOLn9FX9KSYvKTr4rvx3iSIlTJabIQwj2ICCR/oLxBA==
        6672  +
X-Amz-Date:20150830T123600Z
        6673  +
X-Amz-Region-Set:us-east-1
        6674  +
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
        6675  +
 4976   6676   
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
 4977   6677   
similarity index 99%
 4978   6678   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/header-string-to-sign.txt
 4979   6679   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/header-string-to-sign.txt
 4980   6680   
index f352b54..3c3235f 100644
 4981   6681   
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
 4982   6682   
new file mode 100644
 4983   6683   
index 0000000..379dcb2
 4984         -
-- /dev/null
        6684  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/public-key.json
 4985   6685   
@@ -0,0 +1,4 @@
        6686  +
{
        6687  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6688  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6689  +
}
 4986   6690   
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
 4987   6691   
similarity index 99%
 4988   6692   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-canonical-request.txt
 4989   6693   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-canonical-request.txt
 4990   6694   
index 832cdc0..63b7de5 100644
 4991   6695   
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
 4992   6696   
new file mode 100644
 4993   6697   
index 0000000..713f57c
 4994         -
-- /dev/null
        6698  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signature.txt
 4995   6699   
@@ -0,0 +1 @@
        6700  +
304402203a4d2e9bd05ccf8b1e5834f2bb5ab81ea3b1dfbeb84388f07ab3b61ab519332a02204db83afae56ac4e713f631cd15268605d7b36119e672458d86df0cfcb68fe836
              \
 No newline at end of file
 4996   6701   
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
 4997   6702   
new file mode 100644
 4998   6703   
index 0000000..32c3bb3
 4999         -
-- /dev/null
        6704  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-signed-request.txt
 5000   6705   
@@ -0,0 +1,3 @@
        6706  +
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
        6707  +
Host:example.amazonaws.com
        6708  +
 5001   6709   
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
 5002   6710   
similarity index 99%
 5003   6711   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-sts-header-before/query-string-to-sign.txt
 5004   6712   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/query-string-to-sign.txt
 5005   6713   
index d7f3668..b46cd8c 100644
 5006   6714   
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
 5007   6715   
similarity index 60%
 5008   6716   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
 5009   6717   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5010   6718   
index 8b5efc8..3f0a82a 100644
 5011         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-header-key-case/post-header-key-case.req
        6719  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-sts-header-before/request.txt
 5012   6720   
@@ -1,3 +1,2 @@
 5013   6721   
POST / HTTP/1.1
 5014   6722   
Host:example.amazonaws.com
 5015         -
X-Amz-Date:20150830T123600Z
 5016   6723   
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
 5017   6724   
new file mode 100644
 5018   6725   
index 0000000..0468d80
 5019         -
-- /dev/null
        6726  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/context.json
 5020   6727   
@@ -0,0 +1,12 @@
        6728  +
{
        6729  +
    "credentials": {
        6730  +
        "access_key_id": "AKIDEXAMPLE",
        6731  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6732  +
    },
        6733  +
    "expiration_in_seconds": 3600,
        6734  +
    "normalize": true,
        6735  +
    "region": "us-east-1",
        6736  +
    "service": "service",
        6737  +
    "sign_body": false,
        6738  +
    "timestamp": "2015-08-30T12:36:00Z"
        6739  +
}
              \
 No newline at end of file
 5021   6740   
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
 5022   6741   
similarity index 99%
 5023   6742   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-canonical-request.txt
 5024   6743   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-canonical-request.txt
 5025   6744   
index 02af60f..34b8c11 100644
 5026   6745   
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
 5027   6746   
new file mode 100644
 5028   6747   
index 0000000..aac6427
 5029         -
-- /dev/null
        6748  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signature.txt
 5030   6749   
@@ -0,0 +1 @@
        6750  +
3045022077e142d360c6c3d6768c94c89856f6de0e4fe088328ed0a2324d78ffb73570f1022100ed84c9cd071b43d78f2d70cc1694b3ea807638c648d29a2c401cf3301b34e081
              \
 No newline at end of file
 5031   6751   
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
 5032   6752   
new file mode 100644
 5033   6753   
index 0000000..a611436
 5034         -
-- /dev/null
        6754  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/header-signed-request.txt
 5035   6755   
@@ -0,0 +1,6 @@
        6756  +
POST /?Param1=value1 HTTP/1.1
        6757  +
Host:example.amazonaws.com
        6758  +
X-Amz-Date:20150830T123600Z
        6759  +
X-Amz-Region-Set:us-east-1
        6760  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402203129b52c7149bcf5761f83d023986576af5846b9e9f11050651639f9e24c9ebd02200f7e2f6c2aed2bbb76580e50d32e8aa09dc65f7544cdb169b4a690a2a248efd3
        6761  +
 5036   6762   
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
 5037   6763   
similarity index 99%
 5038   6764   
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
 5039   6765   
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
 5040   6766   
index 4256b4f..ad88dff 100644
 5041   6767   
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
 5042   6768   
new file mode 100644
 5043   6769   
index 0000000..379dcb2
 5044         -
-- /dev/null
        6770  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/public-key.json
 5045   6771   
@@ -0,0 +1,4 @@
        6772  +
{
        6773  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6774  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6775  +
}
 5046   6776   
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
 5047   6777   
similarity index 99%
 5048   6778   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-canonical-request.txt
 5049   6779   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-canonical-request.txt
 5050   6780   
index fa84bbd..76d5ad6 100644
 5051   6781   
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
 5052   6782   
new file mode 100644
 5053   6783   
index 0000000..4cb1c94
 5054         -
-- /dev/null
        6784  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signature.txt
 5055   6785   
@@ -0,0 +1 @@
        6786  +
3045022100df7ad6c7c07d989d8bf5bdc3953a5992ceb0e0acb40c8fba0fdb2e12b1003a0e022002a3b1109182bf60285df0b581ce2d8c6665215d7c0ae4bc32a43a30bad21626
              \
 No newline at end of file
 5056   6787   
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
 5057   6788   
new file mode 100644
 5058   6789   
index 0000000..bd22b97
 5059         -
-- /dev/null
        6790  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/query-signed-request.txt
 5060   6791   
@@ -0,0 +1,3 @@
        6792  +
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
        6793  +
Host:example.amazonaws.com
        6794  +
 5061   6795   
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
 5062   6796   
similarity index 99%
 5063   6797   
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
 5064   6798   
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
 5065   6799   
index de270ef..8c9d319 100644
 5066   6800   
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
 5067   6801   
similarity index 67%
 5068   6802   
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
 5069   6803   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5070   6804   
index 9157bc7..c9d6e5d 100644
 5071         -
-- 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
        6805  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-empty-query-value/request.txt
 5072   6806   
@@ -1,3 +1,2 @@
 5073   6807   
POST /?Param1=value1 HTTP/1.1
 5074   6808   
Host:example.amazonaws.com
 5075         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5076   6809   
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
 5077   6810   
new file mode 100644
 5078   6811   
index 0000000..0468d80
 5079         -
-- /dev/null
        6812  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/context.json
 5080   6813   
@@ -0,0 +1,12 @@
        6814  +
{
        6815  +
    "credentials": {
        6816  +
        "access_key_id": "AKIDEXAMPLE",
        6817  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6818  +
    },
        6819  +
    "expiration_in_seconds": 3600,
        6820  +
    "normalize": true,
        6821  +
    "region": "us-east-1",
        6822  +
    "service": "service",
        6823  +
    "sign_body": false,
        6824  +
    "timestamp": "2015-08-30T12:36:00Z"
        6825  +
}
              \
 No newline at end of file
 5081   6826   
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
 5082   6827   
similarity index 99%
 5083   6828   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/header-canonical-request.txt
 5084   6829   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-canonical-request.txt
 5085   6830   
index 02af60f..34b8c11 100644
 5086   6831   
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
 5087   6832   
new file mode 100644
 5088   6833   
index 0000000..34f75c8
 5089         -
-- /dev/null
        6834  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signature.txt
 5090   6835   
@@ -0,0 +1 @@
        6836  +
3046022100b876f1bd2e85da20227bf515463de11ed5334e78e559bf814ce39c6a500af453022100a0a4797c60fda7bca3af5ae71680853b0c4e401d3da0821e3266062ff3463275
              \
 No newline at end of file
 5091   6837   
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
 5092   6838   
new file mode 100644
 5093   6839   
index 0000000..c731408
 5094         -
-- /dev/null
        6840  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-signed-request.txt
 5095   6841   
@@ -0,0 +1,6 @@
        6842  +
POST /?Param1=value1 HTTP/1.1
        6843  +
Host:example.amazonaws.com
        6844  +
X-Amz-Date:20150830T123600Z
        6845  +
X-Amz-Region-Set:us-east-1
        6846  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=304402202785ef1eddce96aa4f4cb359f00fcb1155fa7f679b4af8949a8ea097381543fc02205a9719949fcc5452e690dcd2426318aa17d87aa67c68fdd66f815ae2d3591b49
        6847  +
 5096   6848   
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
 5097   6849   
similarity index 99%
 5098   6850   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/header-string-to-sign.txt
 5099   6851   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/header-string-to-sign.txt
 5100   6852   
index 4256b4f..ad88dff 100644
 5101   6853   
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
 5102   6854   
new file mode 100644
 5103   6855   
index 0000000..379dcb2
 5104         -
-- /dev/null
        6856  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/public-key.json
 5105   6857   
@@ -0,0 +1,4 @@
        6858  +
{
        6859  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6860  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6861  +
}
 5106   6862   
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
 5107   6863   
similarity index 99%
 5108   6864   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-empty-query-value/query-canonical-request.txt
 5109   6865   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-canonical-request.txt
 5110   6866   
index fa84bbd..76d5ad6 100644
 5111   6867   
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
 5112   6868   
new file mode 100644
 5113   6869   
index 0000000..ae000d6
 5114         -
-- /dev/null
        6870  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signature.txt
 5115   6871   
@@ -0,0 +1 @@
        6872  +
304402206c9877a31b4f7d0118d45b1e1ac58ed605f2d7ded4005d59c86ac7331737097302201772085759c0ab0ecbf67a85128823319866ee7118945cf569dd17f678aafce5
              \
 No newline at end of file
 5116   6873   
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
 5117   6874   
new file mode 100644
 5118   6875   
index 0000000..a868f7d
 5119         -
-- /dev/null
        6876  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-signed-request.txt
 5120   6877   
@@ -0,0 +1,3 @@
        6878  +
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
        6879  +
Host:example.amazonaws.com
        6880  +
 5121   6881   
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
 5122   6882   
similarity index 99%
 5123   6883   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla-query/query-string-to-sign.txt
 5124   6884   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/query-string-to-sign.txt
 5125   6885   
index de270ef..8c9d319 100644
 5126   6886   
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
 5127   6887   
similarity index 67%
 5128   6888   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
 5129   6889   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5130   6890   
index 9157bc7..c9d6e5d 100644
 5131         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4-test-suite/post-vanilla-query/post-vanilla-query.req
        6891  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla-query/request.txt
 5132   6892   
@@ -1,3 +1,2 @@
 5133   6893   
POST /?Param1=value1 HTTP/1.1
 5134   6894   
Host:example.amazonaws.com
 5135         -
X-Amz-Date:20150830T123600Z
              \
 No newline at end of file
 5136   6895   
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
 5137   6896   
new file mode 100644
 5138   6897   
index 0000000..0468d80
 5139         -
-- /dev/null
        6898  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/context.json
 5140   6899   
@@ -0,0 +1,12 @@
        6900  +
{
        6901  +
    "credentials": {
        6902  +
        "access_key_id": "AKIDEXAMPLE",
        6903  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6904  +
    },
        6905  +
    "expiration_in_seconds": 3600,
        6906  +
    "normalize": true,
        6907  +
    "region": "us-east-1",
        6908  +
    "service": "service",
        6909  +
    "sign_body": false,
        6910  +
    "timestamp": "2015-08-30T12:36:00Z"
        6911  +
}
              \
 No newline at end of file
 5141   6912   
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
 5142   6913   
similarity index 99%
 5143   6914   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-canonical-request.txt
 5144   6915   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-canonical-request.txt
 5145   6916   
index a6942c1..e881ac7 100644
 5146   6917   
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
 5147   6918   
new file mode 100644
 5148   6919   
index 0000000..7c5e47b
 5149         -
-- /dev/null
        6920  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signature.txt
 5150   6921   
@@ -0,0 +1 @@
        6922  +
3044022051fe398025aafbfc21d054bc78e5edfb96c9acb7fd272795565181d757815e4702202e7b8d2b92324290b1d95f8b0fc5e333bb8b5e333f6160bcab39d7258156d224
              \
 No newline at end of file
 5151   6923   
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
 5152   6924   
new file mode 100644
 5153   6925   
index 0000000..c0e50a0
 5154         -
-- /dev/null
        6926  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-signed-request.txt
 5155   6927   
@@ -0,0 +1,6 @@
        6928  +
POST / HTTP/1.1
        6929  +
Host:example.amazonaws.com
        6930  +
X-Amz-Date:20150830T123600Z
        6931  +
X-Amz-Region-Set:us-east-1
        6932  +
Authorization:AWS4-ECDSA-P256-SHA256 Credential=AKIDEXAMPLE/20150830/service/aws4_request, SignedHeaders=host;x-amz-date;x-amz-region-set, Signature=3044022020e04d83be1fc4c7669eb2530c48444ff2ef65e73ab6d4084ba89b886b70d01a0220570df05bd3ba39ccd96a3e831ed8757fbb516baa603d78eaed3ccc95d50a2abb
        6933  +
 5156   6934   
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
 5157   6935   
similarity index 99%
 5158   6936   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/header-string-to-sign.txt
 5159   6937   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/header-string-to-sign.txt
 5160   6938   
index d5650cb..f8adf13 100644
 5161   6939   
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
 5162   6940   
new file mode 100644
 5163   6941   
index 0000000..379dcb2
 5164         -
-- /dev/null
        6942  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/public-key.json
 5165   6943   
@@ -0,0 +1,4 @@
        6944  +
{
        6945  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        6946  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        6947  +
}
 5166   6948   
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
 5167   6949   
similarity index 99%
 5168   6950   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-canonical-request.txt
 5169   6951   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-canonical-request.txt
 5170   6952   
index e48ce07..5ea8e3c 100644
 5171   6953   
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
 5172   6954   
new file mode 100644
 5173   6955   
index 0000000..ea8e3b4
 5174         -
-- /dev/null
        6956  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signature.txt
 5175   6957   
@@ -0,0 +1 @@
        6958  +
30440220158b75ce84ef2d97a0b287759f9104b9e093ef3a912a84bd78d30274d08c10c4022064fb9961da1d951aba42455df5752c3e3fa8055cd053b59ad53b140d54f6aafd
              \
 No newline at end of file
 5176   6959   
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
 5177   6960   
new file mode 100644
 5178   6961   
index 0000000..616973f
 5179         -
-- /dev/null
        6962  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-signed-request.txt
 5180   6963   
@@ -0,0 +1,3 @@
        6964  +
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
        6965  +
Host:example.amazonaws.com
        6966  +
 5181   6967   
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
 5182   6968   
similarity index 99%
 5183   6969   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-vanilla/query-string-to-sign.txt
 5184   6970   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/query-string-to-sign.txt
 5185   6971   
index 34e3382..711c162 100644
 5186   6972   
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
 5187   6973   
new file mode 100644
 5188   6974   
index 0000000..3f0a82a
 5189         -
-- /dev/null
        6975  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-vanilla/request.txt
 5190   6976   
@@ -0,0 +1,2 @@
        6977  +
POST / HTTP/1.1
        6978  +
Host:example.amazonaws.com
 5191   6979   
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
 5192   6980   
new file mode 100644
 5193   6981   
index 0000000..0db1df1
 5194         -
-- /dev/null
        6982  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/context.json
 5195   6983   
@@ -0,0 +1,12 @@
        6984  +
{
        6985  +
    "credentials": {
        6986  +
        "access_key_id": "AKIDEXAMPLE",
        6987  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        6988  +
    },
        6989  +
    "expiration_in_seconds": 3600,
        6990  +
    "normalize": true,
        6991  +
    "region": "us-east-1",
        6992  +
    "service": "service",
        6993  +
    "sign_body": true,
        6994  +
    "timestamp": "2015-08-30T12:36:00Z"
        6995  +
}
              \
 No newline at end of file
 5196   6996   
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
 5197   6997   
similarity index 62%
 5198   6998   
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
 5199   6999   
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
 5200   7000   
index 05ab787..62639b2 100644
 5201         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
        7001  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-canonical-request.txt
 5202   7002   
@@ -1,12 +1,12 @@
 5203   7003   
POST
 5204   7004   
/
 5205   7005   
 5206   7006   
content-length:13
 5207   7007   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5208   7008   
host:example.amazonaws.com
 5209         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7009  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5210   7010   
x-amz-date:20150830T123600Z
 5211   7011   
x-amz-region-set:us-east-1
 5212   7012   
 5213   7013   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5214         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7014  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5215   7015   
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
 5216   7016   
new file mode 100644
 5217   7017   
index 0000000..006ec2e
 5218         -
-- /dev/null
        7018  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signature.txt
 5219   7019   
@@ -0,0 +1 @@
        7020  +
3045022100eaa8151b5a6e60d9c52dfa60d186a304d0226984aa9ed21f2913267cdfd365c902203bfd4e6dfea58e68d3cb892939f3a00ac91e80c8df69828aefa1e48245928678
              \
 No newline at end of file
 5220   7021   
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
 5221   7022   
new file mode 100644
 5222   7023   
index 0000000..87a11f2
 5223         -
-- /dev/null
        7024  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/header-signed-request.txt
 5224   7025   
@@ -0,0 +1,10 @@
        7026  +
POST / HTTP/1.1
        7027  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        7028  +
Host:example.amazonaws.com
        7029  +
Content-Length:13
        7030  +
X-Amz-Date:20150830T123600Z
        7031  +
X-Amz-Region-Set:us-east-1
        7032  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7033  +
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
        7034  +
        7035  +
Param1=value1
              \
 No newline at end of file
 5225   7036   
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
 5226   7037   
new file mode 100644
 5227   7038   
index 0000000..c047afb
 5228         -
-- /dev/null
        7039  +
++ 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
 5229   7040   
@@ -0,0 +1,4 @@
        7041  +
AWS4-ECDSA-P256-SHA256
        7042  +
20150830T123600Z
        7043  +
20150830/service/aws4_request
        7044  +
bcdb9ab3050c0bb18c5e9eb60e6eb1aaaf00907920065569a99b0c51278639b5
              \
 No newline at end of file
 5230   7045   
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
 5231   7046   
new file mode 100644
 5232   7047   
index 0000000..379dcb2
 5233         -
-- /dev/null
        7048  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/public-key.json
 5234   7049   
@@ -0,0 +1,4 @@
        7050  +
{
        7051  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7052  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7053  +
}
 5235   7054   
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
 5236   7055   
similarity index 85%
 5237   7056   
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
 5238   7057   
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
 5239   7058   
index fcc454f..6933a8c 100644
 5240         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
        7059  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-canonical-request.txt
 5241   7060   
@@ -1,9 +1,9 @@
 5242   7061   
POST
 5243   7062   
/
 5244   7063   
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
 5245   7064   
content-length:13
 5246   7065   
content-type:application/x-www-form-urlencoded; charset=utf-8
 5247   7066   
host:example.amazonaws.com
 5248   7067   
 5249   7068   
content-length;content-type;host
 5250         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7069  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5251   7070   
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
 5252   7071   
new file mode 100644
 5253   7072   
index 0000000..34a2e12
 5254         -
-- /dev/null
        7073  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signature.txt
 5255   7074   
@@ -0,0 +1 @@
        7075  +
3046022100dcfa462c480d85707221a690323639df78fb10eb2f4913abcfc4eec215c39fb8022100bad863cf9d951963fc2d8068a2887742d553283e5086f644e3ca9ff8b262e13c
              \
 No newline at end of file
 5256   7076   
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
 5257   7077   
new file mode 100644
 5258   7078   
index 0000000..197b99e
 5259         -
-- /dev/null
        7079  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/query-signed-request.txt
 5260   7080   
@@ -0,0 +1,6 @@
        7081  +
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
        7082  +
Content-Type:application/x-www-form-urlencoded; charset=utf-8
        7083  +
Host:example.amazonaws.com
        7084  +
Content-Length:13
        7085  +
        7086  +
Param1=value1
              \
 No newline at end of file
 5261   7087   
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
 5262   7088   
new file mode 100644
 5263   7089   
index 0000000..9d2bc74
 5264         -
-- /dev/null
        7090  +
++ 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
 5265   7091   
@@ -0,0 +1,4 @@
        7092  +
AWS4-ECDSA-P256-SHA256
        7093  +
20150830T123600Z
        7094  +
20150830/service/aws4_request
        7095  +
d4dab970413a0459d2a3bb644b278e96e85f2f6ac8fa09a74bbd6a269ec3dd82
              \
 No newline at end of file
 5266   7096   
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
 5267   7097   
similarity index 80%
 5268   7098   
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
 5269   7099   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5270   7100   
index 36015f1..8289eaa 100644
 5271         -
-- 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
        7101  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded-parameters/request.txt
 5272   7102   
@@ -1,6 +1,6 @@
 5273   7103   
POST / HTTP/1.1
 5274   7104   
Content-Type:application/x-www-form-urlencoded; charset=utf-8
 5275   7105   
Host:example.amazonaws.com
 5276         -
X-Amz-Date:20150830T123600Z
        7106  +
Content-Length:13
 5277   7107   
 5278   7108   
Param1=value1
              \
 No newline at end of file
 5279   7109   
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
 5280   7110   
new file mode 100644
 5281   7111   
index 0000000..0db1df1
 5282         -
-- /dev/null
        7112  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/context.json
 5283   7113   
@@ -0,0 +1,12 @@
        7114  +
{
        7115  +
    "credentials": {
        7116  +
        "access_key_id": "AKIDEXAMPLE",
        7117  +
        "secret_access_key": "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY"
        7118  +
    },
        7119  +
    "expiration_in_seconds": 3600,
        7120  +
    "normalize": true,
        7121  +
    "region": "us-east-1",
        7122  +
    "service": "service",
        7123  +
    "sign_body": true,
        7124  +
    "timestamp": "2015-08-30T12:36:00Z"
        7125  +
}
              \
 No newline at end of file
 5284   7126   
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
 5285   7127   
similarity index 61%
 5286   7128   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
 5287   7129   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5288   7130   
index 69009dc..797632b 100644
 5289         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/header-canonical-request.txt
        7131  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-canonical-request.txt
 5290   7132   
@@ -1,12 +1,12 @@
 5291   7133   
POST
 5292   7134   
/
 5293   7135   
 5294   7136   
content-length:13
 5295   7137   
content-type:application/x-www-form-urlencoded
 5296   7138   
host:example.amazonaws.com
 5297         -
x-amz-content-sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7139  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
 5298   7140   
x-amz-date:20150830T123600Z
 5299   7141   
x-amz-region-set:us-east-1
 5300   7142   
 5301   7143   
content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-region-set
 5302         -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
        7144  +
9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
              \
 No newline at end of file
 5303   7145   
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
 5304   7146   
new file mode 100644
 5305   7147   
index 0000000..f5a641c
 5306         -
-- /dev/null
        7148  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signature.txt
 5307   7149   
@@ -0,0 +1 @@
        7150  +
304402202dc0a1ca6ca9308bece143f48201f2500761a242ba6efc7857e1ba01a022e843022053f570cb5adf521df2f6732b5077becd86bc2073b30e9d48c2057851902c1c0e
              \
 No newline at end of file
 5308   7151   
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
 5309   7152   
new file mode 100644
 5310   7153   
index 0000000..7bd94a7
 5311         -
-- /dev/null
        7154  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-signed-request.txt
 5312   7155   
@@ -0,0 +1,10 @@
        7156  +
POST / HTTP/1.1
        7157  +
Content-Type:application/x-www-form-urlencoded
        7158  +
Host:example.amazonaws.com
        7159  +
Content-Length:13
        7160  +
X-Amz-Date:20150830T123600Z
        7161  +
X-Amz-Region-Set:us-east-1
        7162  +
x-amz-content-sha256:9095672bbd1f56dfc5b65f3e153adc8731a4a654192329106275f4c7b24d0b6e
        7163  +
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
        7164  +
        7165  +
Param1=value1
              \
 No newline at end of file
 5313   7166   
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
 5314   7167   
new file mode 100644
 5315   7168   
index 0000000..8d25ba9
 5316         -
-- /dev/null
        7169  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/header-string-to-sign.txt
 5317   7170   
@@ -0,0 +1,4 @@
        7171  +
AWS4-ECDSA-P256-SHA256
        7172  +
20150830T123600Z
        7173  +
20150830/service/aws4_request
        7174  +
ba7fa291aefad463b308fdc89b33d852aea9fbcfa151d820117bd8189066cb91
              \
 No newline at end of file
 5318   7175   
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
 5319   7176   
new file mode 100644
 5320   7177   
index 0000000..379dcb2
 5321         -
-- /dev/null
        7178  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/public-key.json
 5322   7179   
@@ -0,0 +1,4 @@
        7180  +
{
        7181  +
  "X":"b6618f6a65740a99e650b33b6b4b5bd0d43b176d721a3edfea7e7d2d56d936b1",
        7182  +
  "Y":"865ed22a7eadc9c5cb9d2cbaca1b3699139fedc5043dc6661864218330c8e518"
        7183  +
}
 5323   7184   
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
 5324   7185   
similarity index 99%
 5325   7186   
rename from tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-sig-v4a-test-suite/post-x-www-form-urlencoded/query-canonical-request.txt
 5326   7187   
rename to tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-canonical-request.txt
 5327   7188   
index 9ed065b..563ff58 100644
 5328   7189   
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
 5329   7190   
new file mode 100644
 5330   7191   
index 0000000..0c77daf
 5331         -
-- /dev/null
        7192  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signature.txt
 5332   7193   
@@ -0,0 +1 @@
        7194  +
304402205e21d399153f879b0f32c38742d12941299467bfdc213224cc76a97acffd6ec6022035a9be37a38c19e98e5cfc536fabe885e82fbf999081234b364cab5cacff8733
              \
 No newline at end of file
 5333   7195   
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
 5334   7196   
new file mode 100644
 5335   7197   
index 0000000..71d6de9
 5336         -
-- /dev/null
        7198  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/query-signed-request.txt
 5337   7199   
@@ -0,0 +1,6 @@
        7200  +
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
        7201  +
Content-Type:application/x-www-form-urlencoded
        7202  +
Host:example.amazonaws.com
        7203  +
Content-Length:13
        7204  +
        7205  +
Param1=value1
              \
 No newline at end of file
 5338   7206   
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
 5339   7207   
similarity index 99%
 5340   7208   
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
 5341   7209   
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
 5342   7210   
index bef3143..cc7a224 100644
 5343   7211   
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
 5344   7212   
new file mode 100644
 5345   7213   
index 0000000..760b2d3
 5346         -
-- /dev/null
        7214  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/aws-signing-test-suite/v4a/post-x-www-form-urlencoded/request.txt
 5347   7215   
@@ -0,0 +1,6 @@
        7216  +
POST / HTTP/1.1
        7217  +
Content-Type:application/x-www-form-urlencoded
        7218  +
Host:example.amazonaws.com
        7219  +
Content-Length:13
        7220  +
        7221  +
Param1=value1
              \
 No newline at end of file
 5348   7222   
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
 5349   7223   
index 9bd636f..b53f33f 100644
 5350         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
        7224  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/canonical_request.rs
 5351   7225   
@@ -346,67 +346,78 @@ impl CanonicalRequest<'_> {
 5352   7226   
            params.push((Cow::Borrowed(k), Cow::Borrowed(v)));
 5353   7227   
        }
 5354   7228   
 5355   7229   
        if let SignatureValues::QueryParams(values) = values {
 5356   7230   
            add_param(&mut params, param::X_AMZ_DATE, &values.date_time);
 5357   7231   
            add_param(&mut params, param::X_AMZ_EXPIRES, &values.expires);
 5358   7232   
 5359   7233   
            #[cfg(feature = "sigv4a")]
 5360   7234   
            if let Some(regions) = values.region_set {
 5361   7235   
                add_param(&mut params, sigv4a::param::X_AMZ_REGION_SET, regions);
 5362   7236   
            }
 5363   7237   
 5364   7238   
            add_param(&mut params, param::X_AMZ_ALGORITHM, values.algorithm);
 5365   7239   
            add_param(&mut params, param::X_AMZ_CREDENTIAL, &values.credential);
 5366   7240   
            add_param(
 5367   7241   
                &mut params,
 5368   7242   
                param::X_AMZ_SIGNED_HEADERS,
 5369   7243   
                values.signed_headers.as_str(),
 5370   7244   
            );
 5371   7245   
 5372   7246   
            if let Some(security_token) = values.security_token {
 5373   7247   
                add_param(
 5374   7248   
                    &mut params,
 5375   7249   
                    settings
 5376   7250   
                        .session_token_name_override
 5377   7251   
                        .unwrap_or(param::X_AMZ_SECURITY_TOKEN),
 5378   7252   
                    security_token,
 5379   7253   
                );
 5380   7254   
            }
 5381   7255   
        }
 5382         -
        // Sort by param name, and then by param value
        7256  +
        7257  +
        // Sort on the _encoded_ key/value pairs
        7258  +
        let mut params: Vec<(String, String)> = params
        7259  +
            .into_iter()
        7260  +
            .map(|x| {
        7261  +
                use aws_smithy_http::query::fmt_string;
        7262  +
                let enc_k = fmt_string(&x.0);
        7263  +
                let enc_v = fmt_string(&x.1);
        7264  +
                (enc_k, enc_v)
        7265  +
            })
        7266  +
            .collect();
        7267  +
 5383   7268   
        params.sort();
 5384   7269   
 5385   7270   
        let mut query = QueryWriter::new(uri);
 5386   7271   
        query.clear_params();
 5387   7272   
        for (key, value) in params {
 5388         -
            query.insert(&key, &value);
        7273  +
            query.insert_encoded(&key, &value);
 5389   7274   
        }
 5390   7275   
 5391   7276   
        let query = query.build_query();
 5392   7277   
        if query.is_empty() {
 5393   7278   
            None
 5394   7279   
        } else {
 5395   7280   
            Some(query)
 5396   7281   
        }
 5397   7282   
    }
 5398   7283   
 5399   7284   
    fn insert_host_header(
 5400   7285   
        canonical_headers: &mut HeaderMap<HeaderValue>,
 5401   7286   
        uri: &Uri,
 5402   7287   
    ) -> HeaderValue {
 5403   7288   
        match canonical_headers.get(&HOST) {
 5404   7289   
            Some(header) => header.clone(),
 5405   7290   
            None => {
 5406   7291   
                let port = uri.port();
 5407   7292   
                let scheme = uri.scheme();
 5408   7293   
                let authority = uri
 5409   7294   
                    .authority()
 5410   7295   
                    .expect("request uri authority must be set for signing")
 5411   7296   
                    .as_str();
 5412   7297   
                let host = uri
 5413   7298   
                    .host()
 5414   7299   
                    .expect("request uri host must be set for signing");
 5415   7300   
 5416   7301   
                // Check if port is default (80 for HTTP, 443 for HTTPS) and if so exclude it from the
 5417   7302   
                // Host header when signing since RFC 2616 indicates that the default port should not be
 5418   7303   
                // sent in the Host header (and Hyper strips default ports if they are present)
 5419   7304   
@@ -642,310 +653,320 @@ impl<'a> StringToSign<'a> {
 5420   7305   
            service,
 5421   7306   
            hashed_creq,
 5422   7307   
            signature_version: SignatureVersion::V4a,
 5423   7308   
        }
 5424   7309   
    }
 5425   7310   
}
 5426   7311   
 5427   7312   
impl fmt::Display for StringToSign<'_> {
 5428   7313   
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
 5429   7314   
        write!(
 5430   7315   
            f,
 5431   7316   
            "{}\n{}\n{}\n{}",
 5432   7317   
            self.algorithm,
 5433   7318   
            format_date_time(self.time),
 5434   7319   
            match self.signature_version {
 5435   7320   
                SignatureVersion::V4 => self.scope.to_string(),
 5436   7321   
                SignatureVersion::V4a => self.scope.v4a_display(),
 5437   7322   
            },
 5438   7323   
            self.hashed_creq
 5439   7324   
        )
 5440   7325   
    }
 5441   7326   
}
 5442   7327   
 5443   7328   
#[cfg(test)]
 5444   7329   
mod tests {
 5445   7330   
    use crate::date_time::test_parsers::parse_date_time;
 5446   7331   
    use crate::http_request::canonical_request::{
 5447   7332   
        normalize_header_value, trim_all, CanonicalRequest, SigningScope, StringToSign,
 5448   7333   
    };
 5449   7334   
    use crate::http_request::test;
        7335  +
    use crate::http_request::test::SigningSuiteTest;
 5450   7336   
    use crate::http_request::{
 5451   7337   
        PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
 5452   7338   
        SigningParams, SigningSettings,
 5453   7339   
    };
 5454   7340   
    use crate::sign::v4;
 5455   7341   
    use crate::sign::v4::sha256_hex_string;
 5456   7342   
    use aws_credential_types::Credentials;
 5457   7343   
    use aws_smithy_http::query_writer::QueryWriter;
 5458   7344   
    use aws_smithy_runtime_api::client::identity::Identity;
 5459   7345   
    use http0::{HeaderValue, Uri};
 5460   7346   
    use pretty_assertions::assert_eq;
 5461   7347   
    use proptest::{prelude::*, proptest};
 5462   7348   
    use std::borrow::Cow;
 5463   7349   
    use std::time::Duration;
 5464   7350   
 5465   7351   
    fn signing_params(identity: &Identity, settings: SigningSettings) -> SigningParams<'_> {
 5466   7352   
        v4::signing_params::Builder::default()
 5467   7353   
            .identity(identity)
 5468   7354   
            .region("test-region")
 5469   7355   
            .name("testservicename")
 5470   7356   
            .time(parse_date_time("20210511T154045Z").unwrap())
 5471   7357   
            .settings(settings)
 5472   7358   
            .build()
 5473   7359   
            .unwrap()
 5474   7360   
            .into()
 5475   7361   
    }
 5476   7362   
 5477   7363   
    #[test]
 5478   7364   
    fn test_repeated_header() {
 5479         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7365  +
        let test = test::SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7366  +
        let mut req = test.request();
 5480   7367   
        req.headers.push((
 5481   7368   
            "x-amz-object-attributes".to_string(),
 5482   7369   
            "Checksum".to_string(),
 5483   7370   
        ));
 5484   7371   
        req.headers.push((
 5485   7372   
            "x-amz-object-attributes".to_string(),
 5486   7373   
            "ObjectSize".to_string(),
 5487   7374   
        ));
 5488   7375   
        let req = SignableRequest::from(&req);
 5489   7376   
        let settings = SigningSettings {
 5490   7377   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5491   7378   
            session_token_mode: SessionTokenMode::Exclude,
 5492   7379   
            ..Default::default()
 5493   7380   
        };
 5494   7381   
        let identity = Credentials::for_tests().into();
 5495   7382   
        let signing_params = signing_params(&identity, settings);
 5496   7383   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5497   7384   
 5498   7385   
        assert_eq!(
 5499   7386   
            creq.values.signed_headers().to_string(),
 5500   7387   
            "host;x-amz-content-sha256;x-amz-date;x-amz-object-attributes"
 5501   7388   
        );
 5502   7389   
        assert_eq!(
 5503   7390   
            creq.header_values_for("x-amz-object-attributes"),
 5504   7391   
            "Checksum,ObjectSize",
 5505   7392   
        );
 5506   7393   
    }
 5507   7394   
 5508   7395   
    #[test]
 5509   7396   
    fn test_host_header_properly_handles_ports() {
 5510   7397   
        fn host_header_test_setup(endpoint: String) -> String {
 5511         -
            let mut req = test::v4::test_request("get-vanilla");
        7398  +
            let test = SigningSuiteTest::v4("get-vanilla");
        7399  +
            let mut req = test.request();
 5512   7400   
            req.uri = endpoint;
 5513   7401   
            let req = SignableRequest::from(&req);
 5514   7402   
            let settings = SigningSettings {
 5515   7403   
                payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5516   7404   
                session_token_mode: SessionTokenMode::Exclude,
 5517   7405   
                ..Default::default()
 5518   7406   
            };
 5519   7407   
            let identity = Credentials::for_tests().into();
 5520   7408   
            let signing_params = signing_params(&identity, settings);
 5521   7409   
            let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5522   7410   
            creq.header_values_for("host")
 5523   7411   
        }
 5524   7412   
 5525   7413   
        // HTTP request with 80 port should not be signed with that port
 5526   7414   
        let http_80_host_header = host_header_test_setup("http://localhost:80".into());
 5527   7415   
        assert_eq!(http_80_host_header, "localhost",);
 5528   7416   
 5529   7417   
        // HTTP request with non-80 port should be signed with that port
 5530   7418   
        let http_1234_host_header = host_header_test_setup("http://localhost:1234".into());
 5531   7419   
        assert_eq!(http_1234_host_header, "localhost:1234",);
 5532   7420   
 5533   7421   
        // HTTPS request with 443 port should not be signed with that port
 5534   7422   
        let https_443_host_header = host_header_test_setup("https://localhost:443".into());
 5535   7423   
        assert_eq!(https_443_host_header, "localhost",);
 5536   7424   
 5537   7425   
        // HTTPS request with non-443 port should be signed with that port
 5538   7426   
        let https_1234_host_header = host_header_test_setup("https://localhost:1234".into());
 5539   7427   
        assert_eq!(https_1234_host_header, "localhost:1234",);
 5540   7428   
    }
 5541   7429   
 5542   7430   
    #[test]
 5543   7431   
    fn test_set_xamz_sha_256() {
 5544         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7432  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7433  +
        let req = test.request();
 5545   7434   
        let req = SignableRequest::from(&req);
 5546   7435   
        let settings = SigningSettings {
 5547   7436   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5548   7437   
            session_token_mode: SessionTokenMode::Exclude,
 5549   7438   
            ..Default::default()
 5550   7439   
        };
 5551   7440   
        let identity = Credentials::for_tests().into();
 5552   7441   
        let mut signing_params = signing_params(&identity, settings);
 5553   7442   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5554   7443   
        assert_eq!(
 5555   7444   
            creq.values.content_sha256(),
 5556   7445   
            "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
 5557   7446   
        );
 5558   7447   
        // assert that the sha256 header was added
 5559   7448   
        assert_eq!(
 5560   7449   
            creq.values.signed_headers().as_str(),
 5561   7450   
            "host;x-amz-content-sha256;x-amz-date"
 5562   7451   
        );
 5563   7452   
 5564   7453   
        signing_params.set_payload_checksum_kind(PayloadChecksumKind::NoHeader);
 5565   7454   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5566   7455   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5567   7456   
    }
 5568   7457   
 5569   7458   
    #[test]
 5570   7459   
    fn test_unsigned_payload() {
 5571         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7460  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7461  +
        let mut req = test.request();
 5572   7462   
        req.set_body(SignableBody::UnsignedPayload);
 5573   7463   
        let req: SignableRequest<'_> = SignableRequest::from(&req);
 5574   7464   
 5575   7465   
        let settings = SigningSettings {
 5576   7466   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5577   7467   
            ..Default::default()
 5578   7468   
        };
 5579   7469   
        let identity = Credentials::for_tests().into();
 5580   7470   
        let signing_params = signing_params(&identity, settings);
 5581   7471   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5582   7472   
        assert_eq!(creq.values.content_sha256(), "UNSIGNED-PAYLOAD");
 5583   7473   
        assert!(creq.to_string().ends_with("UNSIGNED-PAYLOAD"));
 5584   7474   
    }
 5585   7475   
 5586   7476   
    #[test]
 5587   7477   
    fn test_precomputed_payload() {
 5588   7478   
        let payload_hash = "44ce7dd67c959e0d3524ffac1771dfbba87d2b6b4b4e99e42034a8b803f8b072";
 5589         -
        let mut req = test::v4::test_request("get-vanilla-query-order-key-case");
        7479  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7480  +
        let mut req = test.request();
 5590   7481   
        req.set_body(SignableBody::Precomputed(String::from(payload_hash)));
 5591   7482   
        let req = SignableRequest::from(&req);
 5592   7483   
        let settings = SigningSettings {
 5593   7484   
            payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 5594   7485   
            ..Default::default()
 5595   7486   
        };
 5596   7487   
        let identity = Credentials::for_tests().into();
 5597   7488   
        let signing_params = signing_params(&identity, settings);
 5598   7489   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5599   7490   
        assert_eq!(creq.values.content_sha256(), payload_hash);
 5600   7491   
        assert!(creq.to_string().ends_with(payload_hash));
 5601   7492   
    }
 5602   7493   
 5603   7494   
    #[test]
 5604   7495   
    fn test_generate_scope() {
 5605   7496   
        let expected = "20150830/us-east-1/iam/aws4_request\n";
 5606   7497   
        let scope = SigningScope {
 5607   7498   
            time: parse_date_time("20150830T123600Z").unwrap(),
 5608   7499   
            region: "us-east-1",
 5609   7500   
            service: "iam",
 5610   7501   
        };
 5611   7502   
        assert_eq!(format!("{}\n", scope), expected);
 5612   7503   
    }
 5613   7504   
 5614   7505   
    #[test]
 5615   7506   
    fn test_string_to_sign() {
 5616   7507   
        let time = parse_date_time("20150830T123600Z").unwrap();
 5617         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
 5618         -
        let expected_sts = test::v4::test_sts("get-vanilla-query-order-key-case");
        7508  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7509  +
        let creq = test.canonical_request(SignatureLocation::Headers);
        7510  +
        let expected_sts = test.string_to_sign(SignatureLocation::Headers);
 5619   7511   
        let encoded = sha256_hex_string(creq.as_bytes());
 5620   7512   
 5621   7513   
        let actual = StringToSign::new_v4(time, "us-east-1", "service", &encoded);
 5622   7514   
        assert_eq!(expected_sts, actual.to_string());
 5623   7515   
    }
 5624   7516   
 5625   7517   
    #[test]
 5626   7518   
    fn test_digest_of_canonical_request() {
 5627         -
        let creq = test::v4::test_canonical_request("get-vanilla-query-order-key-case");
        7519  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7520  +
        let creq = test.canonical_request(SignatureLocation::Headers);
 5628   7521   
        let expected = "816cd5b414d056048ba4f7c5386d6e0533120fb1fcfa93762cf0fc39e2cf19e0";
 5629   7522   
        let actual = sha256_hex_string(creq.as_bytes());
 5630   7523   
        assert_eq!(expected, actual);
 5631   7524   
    }
 5632   7525   
 5633   7526   
    #[test]
 5634   7527   
    fn test_double_url_encode_path() {
 5635         -
        let req = test::v4::test_request("double-encode-path");
        7528  +
        let test = SigningSuiteTest::v4("double-encode-path");
        7529  +
        let req = test.request();
 5636   7530   
        let req = SignableRequest::from(&req);
 5637   7531   
        let identity = Credentials::for_tests().into();
 5638   7532   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5639   7533   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5640   7534   
 5641         -
        let expected = test::v4::test_canonical_request("double-encode-path");
        7535  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5642   7536   
        let actual = format!("{}", creq);
 5643   7537   
        assert_eq!(actual, expected);
 5644   7538   
    }
 5645   7539   
 5646   7540   
    #[test]
 5647   7541   
    fn test_double_url_encode() {
 5648         -
        let req = test::v4::test_request("double-url-encode");
        7542  +
        let test = SigningSuiteTest::v4("double-url-encode");
        7543  +
        let req = test.request();
 5649   7544   
        let req = SignableRequest::from(&req);
 5650   7545   
        let identity = Credentials::for_tests().into();
 5651   7546   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5652   7547   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5653         -
 5654         -
        let expected = test::v4::test_canonical_request("double-url-encode");
        7548  +
        let expected = test.canonical_request(SignatureLocation::Headers);
 5655   7549   
        let actual = format!("{}", creq);
 5656   7550   
        assert_eq!(actual, expected);
 5657   7551   
    }
 5658   7552   
 5659   7553   
    #[test]
 5660   7554   
    fn test_tilde_in_uri() {
 5661   7555   
        let req = http0::Request::builder()
 5662   7556   
            .uri("https://s3.us-east-1.amazonaws.com/my-bucket?list-type=2&prefix=~objprefix&single&k=&unreserved=-_.~").body("").unwrap().into();
 5663   7557   
        let req = SignableRequest::from(&req);
 5664   7558   
        let identity = Credentials::for_tests().into();
 5665   7559   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5666   7560   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5667   7561   
        assert_eq!(
 5668   7562   
            Some("k=&list-type=2&prefix=~objprefix&single=&unreserved=-_.~"),
 5669   7563   
            creq.params.as_deref(),
 5670   7564   
        );
 5671   7565   
    }
 5672   7566   
 5673   7567   
    #[test]
 5674   7568   
    fn test_signing_urls_with_percent_encoded_query_strings() {
 5675   7569   
        let all_printable_ascii_chars: String = (32u8..127).map(char::from).collect();
 5676   7570   
        let uri = Uri::from_static("https://s3.us-east-1.amazonaws.com/my-bucket");
 5677   7571   
 5678   7572   
        let mut query_writer = QueryWriter::new(&uri);
 5679   7573   
        query_writer.insert("list-type", "2");
 5680   7574   
        query_writer.insert("prefix", &all_printable_ascii_chars);
 5681   7575   
 5682   7576   
        let req = http0::Request::builder()
 5683   7577   
            .uri(query_writer.build_uri())
 5684   7578   
            .body("")
 5685   7579   
            .unwrap()
 5686   7580   
            .into();
 5687   7581   
        let req = SignableRequest::from(&req);
 5688   7582   
        let identity = Credentials::for_tests().into();
 5689   7583   
        let signing_params = signing_params(&identity, SigningSettings::default());
 5690   7584   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5691   7585   
 5692   7586   
        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~";
 5693   7587   
        let actual = creq.params.unwrap();
 5694   7588   
        assert_eq!(expected, actual);
 5695   7589   
    }
 5696   7590   
 5697   7591   
    #[test]
 5698   7592   
    fn test_omit_session_token() {
 5699         -
        let req = test::v4::test_request("get-vanilla-query-order-key-case");
        7593  +
        let test = SigningSuiteTest::v4("get-vanilla-query-order-key-case");
        7594  +
        let req = test.request();
 5700   7595   
        let req = SignableRequest::from(&req);
 5701   7596   
        let settings = SigningSettings {
 5702   7597   
            session_token_mode: SessionTokenMode::Include,
 5703   7598   
            ..Default::default()
 5704   7599   
        };
 5705   7600   
        let identity = Credentials::for_tests_with_session_token().into();
 5706   7601   
        let mut signing_params = signing_params(&identity, settings);
 5707   7602   
 5708   7603   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5709   7604   
        assert_eq!(
 5710   7605   
            creq.values.signed_headers().as_str(),
 5711   7606   
            "host;x-amz-date;x-amz-security-token"
 5712   7607   
        );
 5713   7608   
        assert_eq!(
 5714   7609   
            creq.headers.get("x-amz-security-token").unwrap(),
 5715   7610   
            "notarealsessiontoken"
 5716   7611   
        );
 5717   7612   
 5718   7613   
        signing_params.set_session_token_mode(SessionTokenMode::Exclude);
 5719   7614   
        let creq = CanonicalRequest::from(&req, &signing_params).unwrap();
 5720   7615   
        assert_eq!(
 5721   7616   
            creq.headers.get("x-amz-security-token").unwrap(),
 5722   7617   
            "notarealsessiontoken"
 5723   7618   
        );
 5724   7619   
        assert_eq!(creq.values.signed_headers().as_str(), "host;x-amz-date");
 5725   7620   
    }
 5726   7621   
 5727   7622   
    // It should exclude authorization, user-agent, x-amzn-trace-id, and transfer-encoding headers from presigning
 5728   7623   
    #[test]
 5729   7624   
    fn non_presigning_header_exclusion() {
 5730   7625   
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
 5731   7626   
index c4bbbee..30b4743 100644
 5732         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
        7627  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/sign.rs
 5733   7628   
@@ -478,436 +478,324 @@ fn add_header(map: &mut Vec<Header>, key: &'static str, value: &str, sensitive:
 5734   7629   
        sensitive,
 5735   7630   
    });
 5736   7631   
}
 5737   7632   
 5738   7633   
// add signature to authorization header
 5739   7634   
// Authorization: algorithm Credential=access key ID/credential scope, SignedHeaders=SignedHeaders, Signature=signature
 5740   7635   
fn build_authorization_header(
 5741   7636   
    access_key: &str,
 5742   7637   
    creq: &CanonicalRequest<'_>,
 5743   7638   
    sts: StringToSign<'_>,
 5744   7639   
    signature: &str,
 5745   7640   
    signature_version: SignatureVersion,
 5746   7641   
) -> String {
 5747   7642   
    let scope = match signature_version {
 5748   7643   
        SignatureVersion::V4 => sts.scope.to_string(),
 5749   7644   
        SignatureVersion::V4a => sts.scope.v4a_display(),
 5750   7645   
    };
 5751   7646   
    format!(
 5752   7647   
        "{} Credential={}/{}, SignedHeaders={}, Signature={}",
 5753   7648   
        sts.algorithm,
 5754   7649   
        access_key,
 5755   7650   
        scope,
 5756   7651   
        creq.values.signed_headers().as_str(),
 5757   7652   
        signature
 5758   7653   
    )
 5759   7654   
}
 5760   7655   
#[cfg(test)]
 5761   7656   
mod tests {
 5762   7657   
    use crate::date_time::test_parsers::parse_date_time;
 5763   7658   
    use crate::http_request::sign::{add_header, SignableRequest};
        7659  +
    use crate::http_request::test::SigningSuiteTest;
 5764   7660   
    use crate::http_request::{
 5765         -
        sign, test, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
        7661  +
        sign, SessionTokenMode, SignableBody, SignatureLocation, SigningInstructions,
 5766   7662   
        SigningSettings,
 5767   7663   
    };
 5768   7664   
    use crate::sign::v4;
 5769   7665   
    use aws_credential_types::Credentials;
 5770   7666   
    use http0::{HeaderValue, Request};
 5771   7667   
    use pretty_assertions::assert_eq;
 5772   7668   
    use proptest::proptest;
 5773   7669   
    use std::borrow::Cow;
 5774   7670   
    use std::iter;
 5775         -
    use std::time::Duration;
 5776   7671   
 5777   7672   
    macro_rules! assert_req_eq {
 5778   7673   
        (http: $expected:expr, $actual:expr) => {
 5779   7674   
            let mut expected = ($expected).map(|_b|"body");
 5780   7675   
            let mut actual = ($actual).map(|_b|"body");
 5781   7676   
            make_headers_comparable(&mut expected);
 5782   7677   
            make_headers_comparable(&mut actual);
 5783   7678   
            assert_eq!(format!("{:?}", expected), format!("{:?}", actual));
 5784   7679   
        };
 5785   7680   
        ($expected:tt, $actual:tt) => {
 5786   7681   
            assert_req_eq!(http: ($expected).as_http_request(), $actual);
 5787   7682   
        };
 5788   7683   
    }
 5789   7684   
 5790   7685   
    pub(crate) fn make_headers_comparable<B>(request: &mut Request<B>) {
 5791   7686   
        for (_name, value) in request.headers_mut() {
 5792   7687   
            value.set_sensitive(false);
 5793   7688   
        }
 5794   7689   
    }
 5795   7690   
 5796         -
    #[test]
 5797         -
    fn test_sign_vanilla_with_headers() {
 5798         -
        let settings = SigningSettings::default();
 5799         -
        let identity = &Credentials::for_tests().into();
 5800         -
        let params = v4::SigningParams {
 5801         -
            identity,
 5802         -
            region: "us-east-1",
 5803         -
            name: "service",
 5804         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 5805         -
            settings,
 5806         -
        }
 5807         -
        .into();
 5808         -
 5809         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 5810         -
        let signable = SignableRequest::from(&original);
 5811         -
        let out = sign(signable, &params).unwrap();
 5812         -
        assert_eq!(
 5813         -
            "5557820e7380d585310524bd93d51a08d7757fb5efd7344ee12088f2b0860947",
 5814         -
            out.signature
 5815         -
        );
 5816         -
 5817         -
        let mut signed = original.as_http_request();
 5818         -
        out.output.apply_to_request_http0x(&mut signed);
 5819         -
 5820         -
        let expected = test::v4::test_signed_request("get-vanilla-query-order-key-case");
 5821         -
        assert_req_eq!(expected, signed);
 5822         -
    }
 5823         -
        7691  +
    // Sigv4A suite tests
 5824   7692   
    #[cfg(feature = "sigv4a")]
 5825         -
    mod sigv4a_tests {
 5826         -
        use super::*;
 5827         -
        use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
 5828         -
        use crate::http_request::{sign, test, SigningParams};
 5829         -
        use crate::sign::v4a;
 5830         -
        use p256::ecdsa::signature::{Signature, Verifier};
 5831         -
        use p256::ecdsa::{DerSignature, SigningKey};
 5832         -
        use pretty_assertions::assert_eq;
 5833         -
 5834         -
        fn new_v4a_signing_params_from_context(
 5835         -
            test_context: &'_ test::v4a::TestContext,
 5836         -
            signature_location: SignatureLocation,
 5837         -
        ) -> SigningParams<'_> {
 5838         -
            let mut params = v4a::SigningParams::from(test_context);
 5839         -
            params.settings.signature_location = signature_location;
 5840         -
 5841         -
            params.into()
 5842         -
        }
 5843         -
 5844         -
        fn run_v4a_test_suite(test_name: &str, signature_location: SignatureLocation) {
 5845         -
            let tc = test::v4a::test_context(test_name);
 5846         -
            let params = new_v4a_signing_params_from_context(&tc, signature_location);
 5847         -
 5848         -
            let req = test::v4a::test_request(test_name);
 5849         -
            let expected_creq = test::v4a::test_canonical_request(test_name, signature_location);
 5850         -
            let signable_req = SignableRequest::from(&req);
 5851         -
            let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
 5852         -
 5853         -
            assert_eq!(expected_creq, actual_creq.to_string(), "creq didn't match");
        7693  +
    mod v4a_suite {
        7694  +
        use crate::http_request::test::v4a::run_test_suite_v4a;
 5854   7695   
 5855         -
            let expected_string_to_sign =
 5856         -
                test::v4a::test_string_to_sign(test_name, signature_location);
 5857         -
            let hashed_creq = &v4::sha256_hex_string(actual_creq.to_string().as_bytes());
 5858         -
            let actual_string_to_sign = StringToSign::new_v4a(
 5859         -
                *params.time(),
 5860         -
                params.region_set().unwrap(),
 5861         -
                params.name(),
 5862         -
                hashed_creq,
 5863         -
            )
 5864         -
            .to_string();
 5865         -
 5866         -
            assert_eq!(
 5867         -
                expected_string_to_sign, actual_string_to_sign,
 5868         -
                "'string to sign' didn't match"
 5869         -
            );
 5870         -
 5871         -
            let out = sign(signable_req, &params).unwrap();
 5872         -
            // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
 5873         -
            out.output
 5874         -
                .apply_to_request_http0x(&mut req.as_http_request());
 5875         -
 5876         -
            let creds = params.credentials().unwrap();
 5877         -
            let signing_key =
 5878         -
                v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
 5879         -
            let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
 5880         -
            let sig = sig
 5881         -
                .try_into()
 5882         -
                .expect("DER-style signatures are always convertible into fixed-size signatures");
 5883         -
 5884         -
            let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
 5885         -
            let peer_public_key = signing_key.verifying_key();
 5886         -
            let sts = actual_string_to_sign.as_bytes();
 5887         -
            peer_public_key.verify(sts, &sig).unwrap();
        7696  +
        #[test]
        7697  +
        fn test_get_header_key_duplicate() {
        7698  +
            run_test_suite_v4a("get-header-key-duplicate")
 5888   7699   
        }
 5889   7700   
 5890   7701   
        #[test]
 5891         -
        fn test_get_header_key_duplicate() {
 5892         -
            run_v4a_test_suite("get-header-key-duplicate", SignatureLocation::Headers);
        7702  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7703  +
        fn test_get_header_value_multiline() {
        7704  +
            run_test_suite_v4a("get-header-value-multiline")
 5893   7705   
        }
 5894   7706   
 5895   7707   
        #[test]
 5896   7708   
        fn test_get_header_value_order() {
 5897         -
            run_v4a_test_suite("get-header-value-order", SignatureLocation::Headers);
        7709  +
            run_test_suite_v4a("get-header-value-order")
 5898   7710   
        }
 5899   7711   
 5900   7712   
        #[test]
 5901   7713   
        fn test_get_header_value_trim() {
 5902         -
            run_v4a_test_suite("get-header-value-trim", SignatureLocation::Headers);
        7714  +
            run_test_suite_v4a("get-header-value-trim");
 5903   7715   
        }
 5904   7716   
 5905   7717   
        #[test]
 5906   7718   
        fn test_get_relative_normalized() {
 5907         -
            run_v4a_test_suite("get-relative-normalized", SignatureLocation::Headers);
        7719  +
            run_test_suite_v4a("get-relative-normalized");
 5908   7720   
        }
 5909   7721   
 5910   7722   
        #[test]
 5911   7723   
        fn test_get_relative_relative_normalized() {
 5912         -
            run_v4a_test_suite(
 5913         -
                "get-relative-relative-normalized",
 5914         -
                SignatureLocation::Headers,
 5915         -
            );
        7724  +
            run_test_suite_v4a("get-relative-relative-normalized");
 5916   7725   
        }
 5917   7726   
 5918   7727   
        #[test]
 5919   7728   
        fn test_get_relative_relative_unnormalized() {
 5920         -
            run_v4a_test_suite(
 5921         -
                "get-relative-relative-unnormalized",
 5922         -
                SignatureLocation::Headers,
 5923         -
            );
        7729  +
            run_test_suite_v4a("get-relative-relative-unnormalized");
 5924   7730   
        }
 5925   7731   
 5926   7732   
        #[test]
 5927   7733   
        fn test_get_relative_unnormalized() {
 5928         -
            run_v4a_test_suite("get-relative-unnormalized", SignatureLocation::Headers);
        7734  +
            run_test_suite_v4a("get-relative-unnormalized");
 5929   7735   
        }
 5930   7736   
 5931   7737   
        #[test]
 5932   7738   
        fn test_get_slash_dot_slash_normalized() {
 5933         -
            run_v4a_test_suite("get-slash-dot-slash-normalized", SignatureLocation::Headers);
        7739  +
            run_test_suite_v4a("get-slash-dot-slash-normalized");
 5934   7740   
        }
 5935   7741   
 5936   7742   
        #[test]
 5937   7743   
        fn test_get_slash_dot_slash_unnormalized() {
 5938         -
            run_v4a_test_suite(
 5939         -
                "get-slash-dot-slash-unnormalized",
 5940         -
                SignatureLocation::Headers,
 5941         -
            );
        7744  +
            run_test_suite_v4a("get-slash-dot-slash-unnormalized");
 5942   7745   
        }
 5943   7746   
 5944   7747   
        #[test]
 5945   7748   
        fn test_get_slash_normalized() {
 5946         -
            run_v4a_test_suite("get-slash-normalized", SignatureLocation::Headers);
        7749  +
            run_test_suite_v4a("get-slash-normalized");
 5947   7750   
        }
 5948   7751   
 5949   7752   
        #[test]
 5950   7753   
        fn test_get_slash_pointless_dot_normalized() {
 5951         -
            run_v4a_test_suite(
 5952         -
                "get-slash-pointless-dot-normalized",
 5953         -
                SignatureLocation::Headers,
 5954         -
            );
        7754  +
            run_test_suite_v4a("get-slash-pointless-dot-normalized");
 5955   7755   
        }
 5956   7756   
 5957   7757   
        #[test]
 5958   7758   
        fn test_get_slash_pointless_dot_unnormalized() {
 5959         -
            run_v4a_test_suite(
 5960         -
                "get-slash-pointless-dot-unnormalized",
 5961         -
                SignatureLocation::Headers,
 5962         -
            );
        7759  +
            run_test_suite_v4a("get-slash-pointless-dot-unnormalized");
 5963   7760   
        }
 5964   7761   
 5965   7762   
        #[test]
 5966   7763   
        fn test_get_slash_unnormalized() {
 5967         -
            run_v4a_test_suite("get-slash-unnormalized", SignatureLocation::Headers);
        7764  +
            run_test_suite_v4a("get-slash-unnormalized");
 5968   7765   
        }
 5969   7766   
 5970   7767   
        #[test]
 5971   7768   
        fn test_get_slashes_normalized() {
 5972         -
            run_v4a_test_suite("get-slashes-normalized", SignatureLocation::Headers);
        7769  +
            run_test_suite_v4a("get-slashes-normalized");
 5973   7770   
        }
 5974   7771   
 5975   7772   
        #[test]
 5976   7773   
        fn test_get_slashes_unnormalized() {
 5977         -
            run_v4a_test_suite("get-slashes-unnormalized", SignatureLocation::Headers);
        7774  +
            run_test_suite_v4a("get-slashes-unnormalized");
        7775  +
        }
        7776  +
        7777  +
        #[test]
        7778  +
        #[ignore = "relies on single encode of path segments"]
        7779  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        7780  +
        // skipped until we add control over double_uri_encode in context.json
        7781  +
        fn test_get_space_normalized() {
        7782  +
            run_test_suite_v4a("get-space-normalized");
        7783  +
        }
        7784  +
        7785  +
        #[test]
        7786  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        7787  +
        // the input request has unencoded space ' ' in the path which fails to parse
        7788  +
        fn test_get_space_unnormalized() {
        7789  +
            run_test_suite_v4a("get-space-unnormalized");
 5978   7790   
        }
 5979   7791   
 5980   7792   
        #[test]
 5981   7793   
        fn test_get_unreserved() {
 5982         -
            run_v4a_test_suite("get-unreserved", SignatureLocation::Headers);
        7794  +
            run_test_suite_v4a("get-unreserved");
        7795  +
        }
        7796  +
        7797  +
        #[test]
        7798  +
        #[ignore = "httparse fails on invalid uri character"]
        7799  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7800  +
        fn test_get_utf8() {
        7801  +
            run_test_suite_v4a("get-utf8");
 5983   7802   
        }
 5984   7803   
 5985   7804   
        #[test]
 5986   7805   
        fn test_get_vanilla() {
 5987         -
            run_v4a_test_suite("get-vanilla", SignatureLocation::Headers);
        7806  +
            run_test_suite_v4a("get-vanilla");
 5988   7807   
        }
 5989   7808   
 5990   7809   
        #[test]
 5991   7810   
        fn test_get_vanilla_empty_query_key() {
 5992         -
            run_v4a_test_suite(
 5993         -
                "get-vanilla-empty-query-key",
 5994         -
                SignatureLocation::QueryParams,
 5995         -
            );
        7811  +
            run_test_suite_v4a("get-vanilla-empty-query-key");
 5996   7812   
        }
 5997   7813   
 5998   7814   
        #[test]
 5999   7815   
        fn test_get_vanilla_query() {
 6000         -
            run_v4a_test_suite("get-vanilla-query", SignatureLocation::QueryParams);
        7816  +
            run_test_suite_v4a("get-vanilla-query");
        7817  +
        }
        7818  +
        7819  +
        #[test]
        7820  +
        fn test_get_vanilla_query_order_encoded() {
        7821  +
            run_test_suite_v4a("get-vanilla-query-order-encoded");
 6001   7822   
        }
 6002   7823   
 6003   7824   
        #[test]
 6004   7825   
        fn test_get_vanilla_query_order_key_case() {
 6005         -
            run_v4a_test_suite(
 6006         -
                "get-vanilla-query-order-key-case",
 6007         -
                SignatureLocation::QueryParams,
 6008         -
            );
        7826  +
            run_test_suite_v4a("get-vanilla-query-order-key-case");
 6009   7827   
        }
 6010   7828   
 6011   7829   
        #[test]
 6012   7830   
        fn test_get_vanilla_query_unreserved() {
 6013         -
            run_v4a_test_suite(
 6014         -
                "get-vanilla-query-unreserved",
 6015         -
                SignatureLocation::QueryParams,
 6016         -
            );
        7831  +
            run_test_suite_v4a("get-vanilla-query-unreserved");
        7832  +
        }
        7833  +
        7834  +
        #[test]
        7835  +
        #[ignore = "httparse fails on invalid uri character"]
        7836  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        7837  +
        fn test_get_vanilla_utf8_query() {
        7838  +
            run_test_suite_v4a("get-vanilla-utf8-query");
 6017   7839   
        }
 6018   7840   
 6019   7841   
        #[test]
 6020   7842   
        fn test_get_vanilla_with_session_token() {
 6021         -
            run_v4a_test_suite("get-vanilla-with-session-token", SignatureLocation::Headers);
        7843  +
            run_test_suite_v4a("get-vanilla-with-session-token")
 6022   7844   
        }
 6023   7845   
 6024   7846   
        #[test]
 6025   7847   
        fn test_post_header_key_case() {
 6026         -
            run_v4a_test_suite("post-header-key-case", SignatureLocation::Headers);
        7848  +
            run_test_suite_v4a("post-header-key-case");
 6027   7849   
        }
 6028   7850   
 6029   7851   
        #[test]
 6030   7852   
        fn test_post_header_key_sort() {
 6031         -
            run_v4a_test_suite("post-header-key-sort", SignatureLocation::Headers);
        7853  +
            run_test_suite_v4a("post-header-key-sort");
 6032   7854   
        }
 6033   7855   
 6034   7856   
        #[test]
 6035   7857   
        fn test_post_header_value_case() {
 6036         -
            run_v4a_test_suite("post-header-value-case", SignatureLocation::Headers);
        7858  +
            run_test_suite_v4a("post-header-value-case");
 6037   7859   
        }
 6038   7860   
 6039   7861   
        #[test]
 6040   7862   
        fn test_post_sts_header_after() {
 6041         -
            run_v4a_test_suite("post-sts-header-after", SignatureLocation::Headers);
        7863  +
            run_test_suite_v4a("post-sts-header-after");
 6042   7864   
        }
 6043   7865   
 6044   7866   
        #[test]
 6045   7867   
        fn test_post_sts_header_before() {
 6046         -
            run_v4a_test_suite("post-sts-header-before", SignatureLocation::Headers);
        7868  +
            run_test_suite_v4a("post-sts-header-before");
 6047   7869   
        }
 6048   7870   
 6049   7871   
        #[test]
 6050   7872   
        fn test_post_vanilla() {
 6051         -
            run_v4a_test_suite("post-vanilla", SignatureLocation::Headers);
        7873  +
            run_test_suite_v4a("post-vanilla");
 6052   7874   
        }
 6053   7875   
 6054   7876   
        #[test]
 6055   7877   
        fn test_post_vanilla_empty_query_value() {
 6056         -
            run_v4a_test_suite(
 6057         -
                "post-vanilla-empty-query-value",
 6058         -
                SignatureLocation::QueryParams,
 6059         -
            );
        7878  +
            run_test_suite_v4a("post-vanilla-empty-query-value");
 6060   7879   
        }
 6061   7880   
 6062   7881   
        #[test]
 6063   7882   
        fn test_post_vanilla_query() {
 6064         -
            run_v4a_test_suite("post-vanilla-query", SignatureLocation::QueryParams);
        7883  +
            run_test_suite_v4a("post-vanilla-query");
 6065   7884   
        }
 6066   7885   
 6067   7886   
        #[test]
 6068   7887   
        fn test_post_x_www_form_urlencoded() {
 6069         -
            run_v4a_test_suite("post-x-www-form-urlencoded", SignatureLocation::Headers);
        7888  +
            run_test_suite_v4a("post-x-www-form-urlencoded");
 6070   7889   
        }
 6071   7890   
 6072   7891   
        #[test]
 6073   7892   
        fn test_post_x_www_form_urlencoded_parameters() {
 6074         -
            run_v4a_test_suite(
 6075         -
                "post-x-www-form-urlencoded-parameters",
 6076         -
                SignatureLocation::QueryParams,
 6077         -
            );
        7893  +
            run_test_suite_v4a("post-x-www-form-urlencoded-parameters");
 6078   7894   
        }
 6079   7895   
    }
 6080   7896   
 6081   7897   
    #[test]
 6082   7898   
    fn test_sign_url_escape() {
 6083         -
        let test = "double-encode-path";
        7899  +
        let test = SigningSuiteTest::v4("double-encode-path");
 6084   7900   
        let settings = SigningSettings::default();
 6085   7901   
        let identity = &Credentials::for_tests().into();
 6086   7902   
        let params = v4::SigningParams {
 6087   7903   
            identity,
 6088   7904   
            region: "us-east-1",
 6089   7905   
            name: "service",
 6090   7906   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6091   7907   
            settings,
 6092   7908   
        }
 6093   7909   
        .into();
 6094   7910   
 6095         -
        let original = test::v4::test_request(test);
        7911  +
        let original = test.request();
 6096   7912   
        let signable = SignableRequest::from(&original);
 6097   7913   
        let out = sign(signable, &params).unwrap();
 6098   7914   
        assert_eq!(
 6099   7915   
            "57d157672191bac40bae387e48bbe14b15303c001fdbb01f4abf295dccb09705",
 6100   7916   
            out.signature
 6101   7917   
        );
 6102   7918   
 6103   7919   
        let mut signed = original.as_http_request();
 6104   7920   
        out.output.apply_to_request_http0x(&mut signed);
 6105   7921   
 6106         -
        let expected = test::v4::test_signed_request(test);
 6107         -
        assert_req_eq!(expected, signed);
 6108         -
    }
 6109         -
 6110         -
    #[test]
 6111         -
    fn test_sign_vanilla_with_query_params() {
 6112         -
        let settings = SigningSettings {
 6113         -
            signature_location: SignatureLocation::QueryParams,
 6114         -
            expires_in: Some(Duration::from_secs(35)),
 6115         -
            ..Default::default()
 6116         -
        };
 6117         -
        let identity = &Credentials::for_tests().into();
 6118         -
        let params = v4::SigningParams {
 6119         -
            identity,
 6120         -
            region: "us-east-1",
 6121         -
            name: "service",
 6122         -
            time: parse_date_time("20150830T123600Z").unwrap(),
 6123         -
            settings,
 6124         -
        }
 6125         -
        .into();
 6126         -
 6127         -
        let original = test::v4::test_request("get-vanilla-query-order-key-case");
 6128         -
        let signable = SignableRequest::from(&original);
 6129         -
        let out = sign(signable, &params).unwrap();
 6130         -
        assert_eq!(
 6131         -
            "ecce208e4b4f7d7e3a4cc22ced6acc2ad1d170ee8ba87d7165f6fa4b9aff09ab",
 6132         -
            out.signature
 6133         -
        );
 6134         -
 6135         -
        let mut signed = original.as_http_request();
 6136         -
        out.output.apply_to_request_http0x(&mut signed);
 6137         -
 6138         -
        let expected =
 6139         -
            test::v4::test_signed_request_query_params("get-vanilla-query-order-key-case");
        7922  +
        let expected = test.signed_request(SignatureLocation::Headers);
 6140   7923   
        assert_req_eq!(expected, signed);
 6141   7924   
    }
 6142   7925   
 6143   7926   
    #[test]
 6144   7927   
    fn test_sign_headers_utf8() {
 6145   7928   
        let settings = SigningSettings::default();
 6146   7929   
        let identity = &Credentials::for_tests().into();
 6147   7930   
        let params = v4::SigningParams {
 6148   7931   
            identity,
 6149   7932   
            region: "us-east-1",
 6150   7933   
            name: "service",
 6151   7934   
            time: parse_date_time("20150830T123600Z").unwrap(),
 6152   7935   
            settings,
 6153   7936   
        }
 6154   7937   
        .into();
 6155   7938   
 6156   7939   
        let original = http0::Request::builder()
 6157   7940   
            .uri("https://some-endpoint.some-region.amazonaws.com")
 6158   7941   
            .header("some-header", HeaderValue::from_str("テスト").unwrap())
 6159   7942   
            .body("")
 6160   7943   
            .unwrap()
 6161   7944   
            .into();
 6162   7945   
        let signable = SignableRequest::from(&original);
 6163   7946   
        let out = sign(signable, &params).unwrap();
 6164   7947   
        assert_eq!(
 6165   7948   
            "55e16b31f9bde5fd04f9d3b780dd2b5e5f11a5219001f91a8ca9ec83eaf1618f",
 6166   7949   
            out.signature
 6167   7950   
        );
 6168   7951   
 6169   7952   
        let mut signed = original.as_http_request();
 6170   7953   
@@ -1138,31 +1026,236 @@ mod tests {
 6171   7954   
        let mut request = http::Request::builder()
 6172   7955   
            .uri("https://some-endpoint.some-region.amazonaws.com/some/path")
 6173   7956   
            .body("")
 6174   7957   
            .unwrap();
 6175   7958   
 6176   7959   
        instructions.apply_to_request_http1x(&mut request);
 6177   7960   
 6178   7961   
        assert_eq!(
 6179   7962   
            "/some/path?some-param=f%26o%3Fo&some-other-param%3F=bar",
 6180   7963   
            request.uri().path_and_query().unwrap().to_string()
 6181   7964   
        );
 6182   7965   
    }
 6183   7966   
 6184   7967   
    #[test]
 6185   7968   
    fn test_debug_signable_body() {
 6186   7969   
        let sut = SignableBody::Bytes(b"hello signable body");
 6187   7970   
        assert_eq!(
 6188   7971   
            "Bytes(\"** REDACTED **. To print 19 bytes of raw data, set environment variable `LOG_SIGNABLE_BODY=true`\")",
 6189   7972   
            format!("{sut:?}")
 6190   7973   
        );
 6191   7974   
 6192   7975   
        let sut = SignableBody::UnsignedPayload;
 6193   7976   
        assert_eq!("UnsignedPayload", format!("{sut:?}"));
 6194   7977   
 6195   7978   
        let sut = SignableBody::Precomputed("precomputed".to_owned());
 6196   7979   
        assert_eq!("Precomputed(\"precomputed\")", format!("{sut:?}"));
 6197   7980   
 6198   7981   
        let sut = SignableBody::StreamingUnsignedPayloadTrailer;
 6199   7982   
        assert_eq!("StreamingUnsignedPayloadTrailer", format!("{sut:?}"));
 6200   7983   
    }
        7984  +
        7985  +
    // v4 test suite
        7986  +
    mod v4_suite {
        7987  +
        use crate::http_request::test::run_test_suite_v4;
        7988  +
        7989  +
        #[test]
        7990  +
        fn test_get_header_key_duplicate() {
        7991  +
            run_test_suite_v4("get-header-key-duplicate");
        7992  +
        }
        7993  +
        7994  +
        #[test]
        7995  +
        #[ignore = "httpparse doesn't support parsing multiline headers since they are deprecated in RFC7230"]
        7996  +
        fn test_get_header_value_multiline() {
        7997  +
            run_test_suite_v4("get-header-value-multiline");
        7998  +
        }
        7999  +
        8000  +
        #[test]
        8001  +
        fn test_get_header_value_order() {
        8002  +
            run_test_suite_v4("get-header-value-order");
        8003  +
        }
        8004  +
        8005  +
        #[test]
        8006  +
        fn test_get_header_value_trim() {
        8007  +
            run_test_suite_v4("get-header-value-trim");
        8008  +
        }
        8009  +
        8010  +
        #[test]
        8011  +
        fn test_get_relative_normalized() {
        8012  +
            run_test_suite_v4("get-relative-normalized");
        8013  +
        }
        8014  +
        8015  +
        #[test]
        8016  +
        fn test_get_relative_relative_normalized() {
        8017  +
            run_test_suite_v4("get-relative-relative-normalized");
        8018  +
        }
        8019  +
        8020  +
        #[test]
        8021  +
        fn test_get_relative_relative_unnormalized() {
        8022  +
            run_test_suite_v4("get-relative-relative-unnormalized");
        8023  +
        }
        8024  +
        8025  +
        #[test]
        8026  +
        fn test_get_relative_unnormalized() {
        8027  +
            run_test_suite_v4("get-relative-unnormalized");
        8028  +
        }
        8029  +
        8030  +
        #[test]
        8031  +
        fn test_get_slash_dot_slash_normalized() {
        8032  +
            run_test_suite_v4("get-slash-dot-slash-normalized");
        8033  +
        }
        8034  +
        8035  +
        #[test]
        8036  +
        fn test_get_slash_dot_slash_unnormalized() {
        8037  +
            run_test_suite_v4("get-slash-dot-slash-unnormalized");
        8038  +
        }
        8039  +
        8040  +
        #[test]
        8041  +
        fn test_get_slash_normalized() {
        8042  +
            run_test_suite_v4("get-slash-normalized");
        8043  +
        }
        8044  +
        8045  +
        #[test]
        8046  +
        fn test_get_slash_pointless_dot_normalized() {
        8047  +
            run_test_suite_v4("get-slash-pointless-dot-normalized");
        8048  +
        }
        8049  +
        8050  +
        #[test]
        8051  +
        fn test_get_slash_pointless_dot_unnormalized() {
        8052  +
            run_test_suite_v4("get-slash-pointless-dot-unnormalized");
        8053  +
        }
        8054  +
        8055  +
        #[test]
        8056  +
        fn test_get_slash_unnormalized() {
        8057  +
            run_test_suite_v4("get-slash-unnormalized");
        8058  +
        }
        8059  +
        8060  +
        #[test]
        8061  +
        fn test_get_slashes_normalized() {
        8062  +
            run_test_suite_v4("get-slashes-normalized");
        8063  +
        }
        8064  +
        8065  +
        #[test]
        8066  +
        fn test_get_slashes_unnormalized() {
        8067  +
            run_test_suite_v4("get-slashes-unnormalized");
        8068  +
        }
        8069  +
        8070  +
        #[test]
        8071  +
        #[ignore = "relies on single encode of path segments"]
        8072  +
        // rely on single encoding of path segments, i.e. string-to-sign contains %20 for spaces rather than %25%20 as it should.
        8073  +
        // skipped until we add control over double_uri_encode in context.json
        8074  +
        fn test_get_space_normalized() {
        8075  +
            run_test_suite_v4("get-space-normalized");
        8076  +
        }
        8077  +
        8078  +
        #[test]
        8079  +
        #[ignore = "httpparse fails on unencoded spaces in path"]
        8080  +
        // the input request has unencoded space ' ' in the path which fails to parse
        8081  +
        fn test_get_space_unnormalized() {
        8082  +
            run_test_suite_v4("get-space-unnormalized");
        8083  +
        }
        8084  +
        8085  +
        #[test]
        8086  +
        fn test_get_unreserved() {
        8087  +
            run_test_suite_v4("get-unreserved");
        8088  +
        }
        8089  +
        8090  +
        #[test]
        8091  +
        #[ignore = "httparse fails on invalid uri character"]
        8092  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8093  +
        fn test_get_utf8() {
        8094  +
            run_test_suite_v4("get-utf8");
        8095  +
        }
        8096  +
        8097  +
        #[test]
        8098  +
        fn test_get_vanilla() {
        8099  +
            run_test_suite_v4("get-vanilla");
        8100  +
        }
        8101  +
        8102  +
        #[test]
        8103  +
        fn test_get_vanilla_empty_query_key() {
        8104  +
            run_test_suite_v4("get-vanilla-empty-query-key");
        8105  +
        }
        8106  +
        8107  +
        #[test]
        8108  +
        fn test_get_vanilla_query() {
        8109  +
            run_test_suite_v4("get-vanilla-query");
        8110  +
        }
        8111  +
        8112  +
        #[test]
        8113  +
        fn test_get_vanilla_query_order_encoded() {
        8114  +
            run_test_suite_v4("get-vanilla-query-order-encoded");
        8115  +
        }
        8116  +
        8117  +
        #[test]
        8118  +
        fn test_get_vanilla_query_order_key_case() {
        8119  +
            run_test_suite_v4("get-vanilla-query-order-key-case");
        8120  +
        }
        8121  +
        8122  +
        #[test]
        8123  +
        fn test_get_vanilla_query_unreserved() {
        8124  +
            run_test_suite_v4("get-vanilla-query-unreserved");
        8125  +
        }
        8126  +
        8127  +
        #[test]
        8128  +
        #[ignore = "httparse fails on invalid uri character"]
        8129  +
        // relies on /ሴ canonicalized as /%E1%88%B4 when it should be /%25%E1%25%88%25%B4
        8130  +
        fn test_get_vanilla_utf8_query() {
        8131  +
            run_test_suite_v4("get-vanilla-utf8-query");
        8132  +
        }
        8133  +
        8134  +
        #[test]
        8135  +
        fn test_get_vanilla_with_session_token() {
        8136  +
            run_test_suite_v4("get-vanilla-with-session-token");
        8137  +
        }
        8138  +
        8139  +
        #[test]
        8140  +
        fn test_post_header_key_case() {
        8141  +
            run_test_suite_v4("post-header-key-case");
        8142  +
        }
        8143  +
        8144  +
        #[test]
        8145  +
        fn test_post_header_key_sort() {
        8146  +
            run_test_suite_v4("post-header-key-sort");
        8147  +
        }
        8148  +
        8149  +
        #[test]
        8150  +
        fn test_post_header_value_case() {
        8151  +
            run_test_suite_v4("post-header-value-case");
        8152  +
        }
        8153  +
        8154  +
        #[test]
        8155  +
        fn test_post_sts_header_after() {
        8156  +
            run_test_suite_v4("post-sts-header-after");
        8157  +
        }
        8158  +
        8159  +
        #[test]
        8160  +
        fn test_post_sts_header_before() {
        8161  +
            run_test_suite_v4("post-sts-header-before");
        8162  +
        }
        8163  +
        8164  +
        #[test]
        8165  +
        fn test_post_vanilla() {
        8166  +
            run_test_suite_v4("post-vanilla");
        8167  +
        }
        8168  +
        8169  +
        #[test]
        8170  +
        fn test_post_vanilla_empty_query_value() {
        8171  +
            run_test_suite_v4("post-vanilla-empty-query-value");
        8172  +
        }
        8173  +
        8174  +
        #[test]
        8175  +
        fn test_post_vanilla_query() {
        8176  +
            run_test_suite_v4("post-vanilla-query");
        8177  +
        }
        8178  +
        8179  +
        #[test]
        8180  +
        fn test_post_x_www_form_urlencoded() {
        8181  +
            run_test_suite_v4("post-x-www-form-urlencoded");
        8182  +
        }
        8183  +
        8184  +
        #[test]
        8185  +
        fn test_post_x_www_form_urlencoded_parameters() {
        8186  +
            run_test_suite_v4("post-x-www-form-urlencoded-parameters");
        8187  +
        }
        8188  +
    }
 6201   8189   
}
 6202   8190   
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
 6203   8191   
index be6c496..86eec20 100644
 6204         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
        8192  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/http_request/test.rs
 6205   8193   
@@ -1,242 +1,453 @@
 6206   8194   
/*
 6207   8195   
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 6208   8196   
 * SPDX-License-Identifier: Apache-2.0
 6209   8197   
 */
 6210   8198   
 6211   8199   
//! Functions shared between the tests of several modules.
 6212   8200   
 6213         -
use crate::http_request::{SignableBody, SignableRequest};
        8201  +
use crate::http_request::canonical_request::{CanonicalRequest, StringToSign};
        8202  +
use crate::http_request::{
        8203  +
    PayloadChecksumKind, SessionTokenMode, SignableBody, SignableRequest, SignatureLocation,
        8204  +
    SigningSettings,
        8205  +
};
        8206  +
use aws_credential_types::Credentials;
        8207  +
use aws_smithy_runtime_api::client::identity::Identity;
 6214   8208   
use http0::{Method, Uri};
        8209  +
use std::borrow::Cow;
 6215   8210   
use std::error::Error as StdError;
        8211  +
use std::time::{Duration, SystemTime};
        8212  +
use time::format_description::well_known::Rfc3339;
        8213  +
use time::OffsetDateTime;
        8214  +
        8215  +
/// Common test suite collection
        8216  +
#[derive(Debug, Clone, Copy, Eq, PartialEq)]
        8217  +
enum Collection {
        8218  +
    V4,
        8219  +
    V4A,
        8220  +
}
 6216   8221   
 6217         -
pub(crate) mod v4 {
 6218         -
    use super::*;
        8222  +
/// A test from the common CRT test suite
        8223  +
#[derive(Debug, Clone)]
        8224  +
pub(crate) struct SigningSuiteTest {
        8225  +
    test_name: &'static str,
        8226  +
    collection: Collection,
        8227  +
}
 6219   8228   
 6220         -
    fn path(name: &str, ext: &str) -> String {
 6221         -
        format!("aws-sig-v4-test-suite/{}/{}.{}", name, name, ext)
        8229  +
impl SigningSuiteTest {
        8230  +
    /// Create a new test from the V4 test suite
        8231  +
    pub(crate) fn v4(test_name: &'static str) -> Self {
        8232  +
        Self {
        8233  +
            test_name,
        8234  +
            collection: Collection::V4,
 6222   8235   
        }
 6223         -
 6224         -
    pub(crate) fn test_canonical_request(name: &str) -> String {
 6225         -
        // Tests fail if there's a trailing newline in the file, and pre-commit requires trailing newlines
 6226         -
        read(&path(name, "creq")).trim().to_string()
 6227   8236   
    }
 6228   8237   
 6229         -
    pub(crate) fn test_sts(name: &str) -> String {
 6230         -
        read(&path(name, "sts"))
        8238  +
    /// Create a new test from the V4a test suite
        8239  +
    pub(crate) fn v4a(test_name: &'static str) -> Self {
        8240  +
        Self {
        8241  +
            test_name,
        8242  +
            collection: Collection::V4A,
 6231   8243   
        }
 6232         -
 6233         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6234         -
        test_parsed_request(name, "req")
 6235   8244   
    }
 6236   8245   
 6237         -
    pub(crate) fn test_signed_request(name: &str) -> TestRequest {
 6238         -
        test_parsed_request(name, "sreq")
        8246  +
    /// Get the path to a file in this test suite directory
        8247  +
    fn path(&self, filename: &str) -> String {
        8248  +
        let dir = match self.collection {
        8249  +
            Collection::V4 => "v4",
        8250  +
            Collection::V4A => "v4a",
        8251  +
        };
        8252  +
        format!("aws-signing-test-suite/{dir}/{}/{filename}", self.test_name)
 6239   8253   
    }
 6240   8254   
 6241         -
    pub(crate) fn test_signed_request_query_params(name: &str) -> TestRequest {
 6242         -
        test_parsed_request(name, "qpsreq")
        8255  +
    /// Get the HTTP request for the test
        8256  +
    pub(crate) fn request(&self) -> TestRequest {
        8257  +
        test_parsed_request(&self.path("request.txt"))
 6243   8258   
    }
 6244   8259   
 6245         -
    fn test_parsed_request(name: &str, ext: &str) -> TestRequest {
 6246         -
        let path = path(name, ext);
 6247         -
        match parse_request(read(&path).as_bytes()) {
 6248         -
            Ok(parsed) => parsed,
 6249         -
            Err(err) => panic!("Failed to parse {}: {}", path, err),
        8260  +
    /// Get the signed HTTP request for the test
        8261  +
    pub(crate) fn signed_request(&self, signature_location: SignatureLocation) -> TestRequest {
        8262  +
        match signature_location {
        8263  +
            SignatureLocation::QueryParams => {
        8264  +
                test_parsed_request(&self.path("query-signed-request.txt"))
 6250   8265   
            }
        8266  +
            SignatureLocation::Headers => {
        8267  +
                test_parsed_request(&self.path("header-signed-request.txt"))
 6251   8268   
            }
 6252         -
 6253         -
    #[test]
 6254         -
    fn test_parse() {
 6255         -
        test_request("post-header-key-case");
 6256   8269   
        }
 6257         -
 6258         -
    #[test]
 6259         -
    fn test_read_query_params() {
 6260         -
        test_request("get-vanilla-query-order-key-case");
 6261   8270   
    }
 6262         -
}
 6263         -
 6264         -
#[cfg(feature = "sigv4a")]
 6265         -
pub(crate) mod v4a {
 6266         -
    use super::*;
 6267         -
    use crate::http_request::{
 6268         -
        PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
 6269         -
    };
 6270         -
    use aws_credential_types::Credentials;
 6271         -
    use aws_smithy_runtime_api::client::identity::Identity;
 6272         -
    use serde_derive::Deserialize;
 6273         -
    use std::time::{Duration, SystemTime};
 6274         -
    use time::format_description::well_known::Rfc3339;
 6275         -
    use time::OffsetDateTime;
 6276   8271   
 6277         -
    fn path(test_name: &str, definition_name: &str) -> String {
 6278         -
        format!("aws-sig-v4a-test-suite/{test_name}/{definition_name}.txt")
        8272  +
    /// Get the canonical request for the test
        8273  +
    pub(crate) fn canonical_request(&self, signature_location: SignatureLocation) -> String {
        8274  +
        match signature_location {
        8275  +
            SignatureLocation::QueryParams => read(&self.path("query-canonical-request.txt")),
        8276  +
            SignatureLocation::Headers => read(&self.path("header-canonical-request.txt")),
 6279   8277   
        }
 6280         -
 6281         -
    pub(crate) fn test_request(name: &str) -> TestRequest {
 6282         -
        test_parsed_request(&path(name, "request"))
 6283   8278   
    }
 6284   8279   
 6285         -
    pub(crate) fn test_canonical_request(
 6286         -
        name: &str,
 6287         -
        signature_location: SignatureLocation,
 6288         -
    ) -> String {
        8280  +
    /// Get the string to sign for the test
        8281  +
    pub(crate) fn string_to_sign(&self, signature_location: SignatureLocation) -> String {
 6289   8282   
        match signature_location {
 6290         -
            SignatureLocation::QueryParams => read(&path(name, "query-canonical-request")),
 6291         -
            SignatureLocation::Headers => read(&path(name, "header-canonical-request")),
        8283  +
            SignatureLocation::QueryParams => read(&self.path("query-string-to-sign.txt")),
        8284  +
            SignatureLocation::Headers => read(&self.path("header-string-to-sign.txt")),
 6292   8285   
        }
 6293   8286   
    }
 6294   8287   
 6295         -
    pub(crate) fn test_string_to_sign(name: &str, signature_location: SignatureLocation) -> String {
        8288  +
    /// Get the signature for the test
        8289  +
    pub(crate) fn signature(&self, signature_location: SignatureLocation) -> String {
 6296   8290   
        match signature_location {
 6297         -
            SignatureLocation::QueryParams => read(&path(name, "query-string-to-sign")),
 6298         -
            SignatureLocation::Headers => read(&path(name, "header-string-to-sign")),
        8291  +
            SignatureLocation::QueryParams => read(&self.path("query-signature.txt")),
        8292  +
            SignatureLocation::Headers => read(&self.path("header-signature.txt")),
        8293  +
        }
 6299   8294   
    }
        8295  +
        8296  +
    /// Get the test context for the test
        8297  +
    pub(crate) fn context(&self) -> TestContext {
        8298  +
        let context = read(&self.path("context.json"));
        8299  +
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
        8300  +
        tc_builder.build()
 6300   8301   
    }
        8302  +
}
 6301   8303   
 6302         -
    fn test_parsed_request(path: &str) -> TestRequest {
        8304  +
fn test_parsed_request(path: &str) -> TestRequest {
 6303   8305   
    match parse_request(read(path).as_bytes()) {
 6304   8306   
        Ok(parsed) => parsed,
 6305   8307   
        Err(err) => panic!("Failed to parse {}: {}", path, err),
 6306   8308   
    }
 6307         -
    }
        8309  +
}
 6308   8310   
 6309         -
    pub(crate) fn test_context(test_name: &str) -> TestContext {
 6310         -
        let path = format!("aws-sig-v4a-test-suite/{test_name}/context.json");
 6311         -
        let context = read(&path);
 6312         -
        let tc_builder: TestContextBuilder = serde_json::from_str(&context).unwrap();
 6313         -
        tc_builder.build()
 6314         -
    }
        8311  +
fn new_v4_signing_params_from_context(
        8312  +
    test_context: &'_ TestContext,
        8313  +
    signature_location: SignatureLocation,
        8314  +
) -> crate::http_request::SigningParams<'_> {
        8315  +
    let mut params = crate::sign::v4::SigningParams::from(test_context);
        8316  +
    params.settings.signature_location = signature_location;
        8317  +
    params.into()
        8318  +
}
        8319  +
        8320  +
/// Run the given test from the v4 suite for both header and query
        8321  +
/// signature locations
        8322  +
pub(crate) fn run_test_suite_v4(test_name: &'static str) {
        8323  +
    run_v4_test(test_name, SignatureLocation::Headers);
        8324  +
    run_v4_test(test_name, SignatureLocation::QueryParams);
        8325  +
}
        8326  +
        8327  +
fn assert_uri_eq(expected: &Uri, actual: &Uri) {
        8328  +
    assert_eq!(expected.scheme(), actual.scheme());
        8329  +
    assert_eq!(expected.authority(), actual.authority());
        8330  +
    assert_eq!(expected.path(), actual.path());
        8331  +
        8332  +
    // query params may be out of order
        8333  +
    let mut expected_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8334  +
        form_urlencoded::parse(expected.query().unwrap_or_default().as_bytes()).collect();
        8335  +
    expected_params.sort();
        8336  +
        8337  +
    let mut actual_params: Vec<(Cow<'_, str>, Cow<'_, str>)> =
        8338  +
        form_urlencoded::parse(actual.query().unwrap_or_default().as_bytes()).collect();
        8339  +
    actual_params.sort();
        8340  +
        8341  +
    assert_eq!(expected_params, actual_params);
        8342  +
}
 6315   8343   
 6316         -
    pub(crate) struct TestContext {
        8344  +
fn assert_requests_eq(expected: TestRequest, actual: http0::Request<&str>) {
        8345  +
    let expected = expected.as_http_request();
        8346  +
    let actual = actual;
        8347  +
    assert_eq!(expected.method(), actual.method());
        8348  +
    assert_eq!(
        8349  +
        expected.headers().len(),
        8350  +
        actual.headers().len(),
        8351  +
        "extra or missing headers"
        8352  +
    );
        8353  +
    assert_eq!(expected.headers(), actual.headers(), "headers mismatch");
        8354  +
    assert_uri_eq(expected.uri(), actual.uri());
        8355  +
    assert_eq!(*expected.body(), *actual.body(), "body mismatch");
        8356  +
}
        8357  +
        8358  +
/// Run the given test from the v4 suite for the given signature location
        8359  +
pub(crate) fn run_v4_test(test_name: &'static str, signature_location: SignatureLocation) {
        8360  +
    let test = SigningSuiteTest::v4(test_name);
        8361  +
    let tc = test.context();
        8362  +
    let params = new_v4_signing_params_from_context(&tc, signature_location);
        8363  +
        8364  +
    let req = test.request();
        8365  +
    let expected_creq = test.canonical_request(signature_location);
        8366  +
    let signable_req = SignableRequest::from(&req);
        8367  +
    let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8368  +
        8369  +
    // check canonical request
        8370  +
    assert_eq!(
        8371  +
        expected_creq,
        8372  +
        actual_creq.to_string(),
        8373  +
        "canonical request didn't match (signature location: {signature_location:?})"
        8374  +
    );
        8375  +
        8376  +
    let expected_string_to_sign = test.string_to_sign(signature_location);
        8377  +
    let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8378  +
    let actual_string_to_sign = StringToSign::new_v4(
        8379  +
        *params.time(),
        8380  +
        params.region().unwrap(),
        8381  +
        params.name(),
        8382  +
        hashed_creq,
        8383  +
    )
        8384  +
    .to_string();
        8385  +
        8386  +
    // check string to sign
        8387  +
    assert_eq!(
        8388  +
        expected_string_to_sign, actual_string_to_sign,
        8389  +
        "'string to sign' didn't match (signature location: {signature_location:?})"
        8390  +
    );
        8391  +
        8392  +
    let out = crate::http_request::sign(signable_req, &params).unwrap();
        8393  +
    let mut signed = req.as_http_request();
        8394  +
    out.output.apply_to_request_http0x(&mut signed);
        8395  +
        8396  +
    // check signature
        8397  +
    assert_eq!(
        8398  +
        test.signature(signature_location),
        8399  +
        out.signature,
        8400  +
        "signature didn't match (signature location: {signature_location:?})"
        8401  +
    );
        8402  +
        8403  +
    let expected = test.signed_request(signature_location);
        8404  +
    assert_requests_eq(expected, signed);
        8405  +
}
        8406  +
        8407  +
/// Test suite context.json
        8408  +
pub(crate) struct TestContext {
 6317   8409   
    pub(crate) identity: Identity,
 6318   8410   
    pub(crate) expiration_in_seconds: u64,
 6319   8411   
    pub(crate) normalize: bool,
 6320   8412   
    pub(crate) region: String,
 6321   8413   
    pub(crate) service: String,
 6322   8414   
    pub(crate) timestamp: String,
 6323   8415   
    pub(crate) omit_session_token: bool,
 6324   8416   
    pub(crate) sign_body: bool,
 6325         -
    }
 6326         -
 6327         -
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
 6328         -
        fn from(tc: &'a TestContext) -> Self {
 6329         -
            crate::sign::v4a::SigningParams {
 6330         -
                identity: &tc.identity,
 6331         -
                region_set: &tc.region,
 6332         -
                name: &tc.service,
 6333         -
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
 6334         -
                    .unwrap()
 6335         -
                    .into(),
 6336         -
                settings: SigningSettings {
 6337         -
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
 6338         -
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
 6339         -
                    uri_path_normalization_mode: tc.normalize.into(),
 6340         -
                    session_token_mode: if tc.omit_session_token {
 6341         -
                        SessionTokenMode::Exclude
 6342         -
                    } else {
 6343         -
                        SessionTokenMode::Include
 6344         -
                    },
 6345         -
                    payload_checksum_kind: if tc.sign_body {
 6346         -
                        PayloadChecksumKind::XAmzSha256
 6347         -
                    } else {
 6348         -
                        PayloadChecksumKind::NoHeader
 6349         -
                    },
 6350         -
                    ..Default::default()
 6351         -
                },
 6352         -
            }
 6353         -
        }
 6354         -
    }
        8417  +
}
 6355   8418   
 6356         -
    // Serde has limitations requiring this odd workaround.
 6357         -
    // See https://github.com/serde-rs/serde/issues/368 for more info.
 6358         -
    fn return_true() -> bool {
        8419  +
// Serde has limitations requiring this odd workaround.
        8420  +
// See https://github.com/serde-rs/serde/issues/368 for more info.
        8421  +
fn return_true() -> bool {
 6359   8422   
    true
 6360         -
    }
        8423  +
}
 6361   8424   
 6362         -
    #[derive(Deserialize)]
 6363         -
    pub(crate) struct TestContextBuilder {
        8425  +
#[derive(serde_derive::Deserialize)]
        8426  +
pub(crate) struct TestContextBuilder {
 6364   8427   
    credentials: TestContextCreds,
 6365   8428   
    expiration_in_seconds: u64,
 6366   8429   
    normalize: bool,
 6367   8430   
    region: String,
 6368   8431   
    service: String,
 6369   8432   
    timestamp: String,
 6370   8433   
    #[serde(default)]
 6371   8434   
    omit_session_token: bool,
 6372   8435   
    #[serde(default = "return_true")]
 6373   8436   
    sign_body: bool,
 6374         -
    }
        8437  +
}
 6375   8438   
 6376         -
    impl TestContextBuilder {
        8439  +
impl TestContextBuilder {
 6377   8440   
    pub(crate) fn build(self) -> TestContext {
 6378   8441   
        let identity = Identity::new(
 6379   8442   
            Credentials::from_keys(
 6380   8443   
                &self.credentials.access_key_id,
 6381   8444   
                &self.credentials.secret_access_key,
 6382   8445   
                self.credentials.token.clone(),
 6383   8446   
            ),
 6384   8447   
            Some(SystemTime::UNIX_EPOCH + Duration::from_secs(self.expiration_in_seconds)),
 6385   8448   
        );
 6386   8449   
 6387   8450   
        TestContext {
 6388   8451   
            identity,
 6389   8452   
            expiration_in_seconds: self.expiration_in_seconds,
 6390   8453   
            normalize: self.normalize,
 6391   8454   
            region: self.region,
 6392   8455   
            service: self.service,
 6393   8456   
            timestamp: self.timestamp,
 6394   8457   
            omit_session_token: self.omit_session_token,
 6395   8458   
            sign_body: self.sign_body,
 6396   8459   
        }
 6397   8460   
    }
 6398         -
    }
        8461  +
}
 6399   8462   
 6400         -
    #[derive(Deserialize)]
 6401         -
    pub(crate) struct TestContextCreds {
        8463  +
#[derive(serde_derive::Deserialize)]
        8464  +
pub(crate) struct TestContextCreds {
 6402   8465   
    access_key_id: String,
 6403   8466   
    secret_access_key: String,
 6404   8467   
    token: Option<String>,
        8468  +
}
        8469  +
        8470  +
impl<'a> From<&'a TestContext> for crate::sign::v4::SigningParams<'a, SigningSettings> {
        8471  +
    fn from(tc: &'a TestContext) -> Self {
        8472  +
        crate::sign::v4::SigningParams {
        8473  +
            identity: &tc.identity,
        8474  +
            region: &tc.region,
        8475  +
            name: &tc.service,
        8476  +
            time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8477  +
                .unwrap()
        8478  +
                .into(),
        8479  +
            settings: SigningSettings {
        8480  +
                // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8481  +
                expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8482  +
                uri_path_normalization_mode: tc.normalize.into(),
        8483  +
                session_token_mode: if tc.omit_session_token {
        8484  +
                    SessionTokenMode::Exclude
        8485  +
                } else {
        8486  +
                    SessionTokenMode::Include
        8487  +
                },
        8488  +
                payload_checksum_kind: if tc.sign_body {
        8489  +
                    PayloadChecksumKind::XAmzSha256
        8490  +
                } else {
        8491  +
                    PayloadChecksumKind::NoHeader
        8492  +
                },
        8493  +
                ..Default::default()
        8494  +
            },
        8495  +
        }
        8496  +
    }
        8497  +
}
        8498  +
        8499  +
#[cfg(feature = "sigv4a")]
        8500  +
pub(crate) mod v4a {
        8501  +
    use super::*;
        8502  +
    use crate::http_request::{
        8503  +
        sign, PayloadChecksumKind, SessionTokenMode, SignatureLocation, SigningSettings,
        8504  +
    };
        8505  +
    use crate::sign::v4a;
        8506  +
    use p256::ecdsa::signature::{Signature, Verifier};
        8507  +
    use p256::ecdsa::{DerSignature, SigningKey};
        8508  +
    use std::time::Duration;
        8509  +
    use time::format_description::well_known::Rfc3339;
        8510  +
    use time::OffsetDateTime;
        8511  +
        8512  +
    fn new_v4a_signing_params_from_context(
        8513  +
        test_context: &'_ TestContext,
        8514  +
        signature_location: SignatureLocation,
        8515  +
    ) -> crate::http_request::SigningParams<'_> {
        8516  +
        let mut params = crate::sign::v4a::SigningParams::from(test_context);
        8517  +
        params.settings.signature_location = signature_location;
        8518  +
        params.into()
        8519  +
    }
        8520  +
        8521  +
    pub(crate) fn run_test_suite_v4a(test_name: &'static str) {
        8522  +
        run_v4a_test(test_name, SignatureLocation::Headers);
        8523  +
        run_v4a_test(test_name, SignatureLocation::QueryParams);
        8524  +
    }
        8525  +
        8526  +
    pub(crate) fn run_v4a_test(test_name: &'static str, signature_location: SignatureLocation) {
        8527  +
        let test = SigningSuiteTest::v4a(test_name);
        8528  +
        let tc = test.context();
        8529  +
        let params = new_v4a_signing_params_from_context(&tc, signature_location);
        8530  +
        8531  +
        let req = test.request();
        8532  +
        let expected_creq = test.canonical_request(signature_location);
        8533  +
        let signable_req = SignableRequest::from(&req);
        8534  +
        let actual_creq = CanonicalRequest::from(&signable_req, &params).unwrap();
        8535  +
        8536  +
        assert_eq!(
        8537  +
            expected_creq,
        8538  +
            actual_creq.to_string(),
        8539  +
            "canonical request didn't match (signature location: {signature_location:?})"
        8540  +
        );
        8541  +
        8542  +
        let expected_string_to_sign = test.string_to_sign(signature_location);
        8543  +
        let hashed_creq = &crate::sign::v4::sha256_hex_string(actual_creq.to_string().as_bytes());
        8544  +
        let actual_string_to_sign = StringToSign::new_v4a(
        8545  +
            *params.time(),
        8546  +
            params.region_set().unwrap(),
        8547  +
            params.name(),
        8548  +
            hashed_creq,
        8549  +
        )
        8550  +
        .to_string();
        8551  +
        8552  +
        assert_eq!(
        8553  +
            expected_string_to_sign, actual_string_to_sign,
        8554  +
            "'string to sign' didn't match (signature location: {signature_location:?})"
        8555  +
        );
        8556  +
        8557  +
        let out = sign(signable_req, &params).unwrap();
        8558  +
        // Sigv4a signatures are non-deterministic, so we can't compare the signature directly.
        8559  +
        out.output
        8560  +
            .apply_to_request_http0x(&mut req.as_http_request());
        8561  +
        8562  +
        let creds = params.credentials().unwrap();
        8563  +
        let signing_key =
        8564  +
            v4a::generate_signing_key(creds.access_key_id(), creds.secret_access_key());
        8565  +
        let sig = DerSignature::from_bytes(&hex::decode(out.signature).unwrap()).unwrap();
        8566  +
        let sig = sig
        8567  +
            .try_into()
        8568  +
            .expect("DER-style signatures are always convertible into fixed-size signatures");
        8569  +
        8570  +
        let signing_key = SigningKey::from_bytes(signing_key.as_ref()).unwrap();
        8571  +
        let peer_public_key = signing_key.verifying_key();
        8572  +
        let sts = actual_string_to_sign.as_bytes();
        8573  +
        peer_public_key.verify(sts, &sig).unwrap();
        8574  +
        // TODO(sigv4a) - use public.key.json as verifying key?
        8575  +
    }
        8576  +
        8577  +
    impl<'a> From<&'a TestContext> for crate::sign::v4a::SigningParams<'a, SigningSettings> {
        8578  +
        fn from(tc: &'a TestContext) -> Self {
        8579  +
            crate::sign::v4a::SigningParams {
        8580  +
                identity: &tc.identity,
        8581  +
                region_set: &tc.region,
        8582  +
                name: &tc.service,
        8583  +
                time: OffsetDateTime::parse(&tc.timestamp, &Rfc3339)
        8584  +
                    .unwrap()
        8585  +
                    .into(),
        8586  +
                settings: SigningSettings {
        8587  +
                    // payload_checksum_kind: PayloadChecksumKind::XAmzSha256,
        8588  +
                    expires_in: Some(Duration::from_secs(tc.expiration_in_seconds)),
        8589  +
                    uri_path_normalization_mode: tc.normalize.into(),
        8590  +
                    session_token_mode: if tc.omit_session_token {
        8591  +
                        SessionTokenMode::Exclude
        8592  +
                    } else {
        8593  +
                        SessionTokenMode::Include
        8594  +
                    },
        8595  +
                    payload_checksum_kind: if tc.sign_body {
        8596  +
                        PayloadChecksumKind::XAmzSha256
        8597  +
                    } else {
        8598  +
                        PayloadChecksumKind::NoHeader
        8599  +
                    },
        8600  +
                    ..Default::default()
        8601  +
                },
        8602  +
            }
        8603  +
        }
 6405   8604   
    }
 6406   8605   
 6407   8606   
    #[test]
 6408   8607   
    fn test_parse() {
 6409         -
        let req = test_request("post-header-key-case");
        8608  +
        let req = SigningSuiteTest::v4a("post-header-key-case").request();
 6410   8609   
        assert_eq!(req.method, "POST");
 6411   8610   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6412   8611   
        assert!(req.headers.is_empty());
 6413   8612   
    }
 6414   8613   
 6415   8614   
    #[test]
 6416   8615   
    fn test_read_query_params() {
 6417         -
        let req = test_request("get-header-value-trim");
        8616  +
        let req = SigningSuiteTest::v4a("get-header-value-trim").request();
 6418   8617   
        assert_eq!(req.method, "GET");
 6419   8618   
        assert_eq!(req.uri, "https://example.amazonaws.com/");
 6420   8619   
        assert!(!req.headers.is_empty());
 6421   8620   
    }
 6422   8621   
}
 6423   8622   
 6424   8623   
fn read(path: &str) -> String {
 6425   8624   
    println!("Loading `{}` for test case...", path);
 6426   8625   
    let v = {
 6427   8626   
        match std::fs::read_to_string(path) {
 6428   8627   
            // This replacement is necessary for tests to pass on Windows, as reading the
 6429   8628   
            // test snapshots from the file system results in CRLF line endings being inserted.
 6430   8629   
            Ok(value) => value.replace("\r\n", "\n"),
 6431   8630   
            Err(err) => {
 6432   8631   
                panic!("failed to load test case `{}`: {}", path, err);
 6433   8632   
            }
 6434   8633   
        }
 6435   8634   
    };
 6436   8635   
 6437   8636   
    v.trim().to_string()
 6438   8637   
}
 6439   8638   
 6440   8639   
pub(crate) struct TestRequest {
 6441   8640   
    pub(crate) uri: String,
 6442   8641   
    pub(crate) method: String,
 6443   8642   
    pub(crate) headers: Vec<(String, String)>,
 6444   8643   
    pub(crate) body: TestSignedBody,
 6445   8644   
}
 6446   8645   
 6447   8646   
pub(crate) enum TestSignedBody {
 6448   8647   
@@ -290,79 +501,87 @@ impl<B: AsRef<[u8]>> From<http0::Request<B>> for TestRequest {
 6449   8648   
                        String::from_utf8(v.as_bytes().to_vec()).unwrap(),
 6450   8649   
                    )
 6451   8650   
                })
 6452   8651   
                .collect::<Vec<_>>(),
 6453   8652   
            body: TestSignedBody::Bytes(value.body().as_ref().to_vec()),
 6454   8653   
        }
 6455   8654   
    }
 6456   8655   
}
 6457   8656   
 6458   8657   
impl<'a> From<&'a TestRequest> for SignableRequest<'a> {
 6459   8658   
    fn from(request: &'a TestRequest) -> SignableRequest<'a> {
 6460   8659   
        SignableRequest::new(
 6461   8660   
            &request.method,
 6462   8661   
            &request.uri,
 6463   8662   
            request
 6464   8663   
                .headers
 6465   8664   
                .iter()
 6466   8665   
                .map(|(k, v)| (k.as_str(), v.as_str())),
 6467   8666   
            request.body.as_signable_body(),
 6468   8667   
        )
 6469   8668   
        .expect("URI MUST be valid")
 6470   8669   
    }
 6471   8670   
}
 6472   8671   
 6473   8672   
fn parse_request(s: &[u8]) -> Result<TestRequest, Box<dyn StdError + Send + Sync + 'static>> {
 6474   8673   
    let mut headers = [httparse::EMPTY_HEADER; 64];
 6475   8674   
    // httparse 1.5 requires two trailing newlines to head the header section.
 6476   8675   
    let mut with_newline = Vec::from(s);
 6477   8676   
    with_newline.push(b'\n');
 6478   8677   
    let mut req = httparse::Request::new(&mut headers);
 6479         -
    let _ = req.parse(&with_newline).unwrap();
        8678  +
    let status = req.parse(&with_newline).unwrap();
        8679  +
        8680  +
    let body = if status.is_complete() {
        8681  +
        let body_offset = status.unwrap();
        8682  +
        // ignore the newline we added, take from original
        8683  +
        &s[body_offset..]
        8684  +
    } else {
        8685  +
        &[]
        8686  +
    };
 6480   8687   
 6481   8688   
    let mut uri_builder = Uri::builder().scheme("https");
 6482   8689   
    if let Some(path) = req.path {
 6483   8690   
        uri_builder = uri_builder.path_and_query(path);
 6484   8691   
    }
 6485   8692   
 6486   8693   
    let mut headers = vec![];
 6487   8694   
    for header in req.headers {
 6488   8695   
        let name = header.name.to_lowercase();
 6489   8696   
        if name == "host" {
 6490   8697   
            uri_builder = uri_builder.authority(header.value);
 6491   8698   
        } else if !name.is_empty() {
 6492   8699   
            headers.push((
 6493   8700   
                header.name.to_string(),
 6494   8701   
                std::str::from_utf8(header.value)?.to_string(),
 6495   8702   
            ));
 6496   8703   
        }
 6497   8704   
    }
 6498   8705   
 6499   8706   
    Ok(TestRequest {
 6500   8707   
        uri: uri_builder.build()?.to_string(),
 6501   8708   
        method: req.method.unwrap().to_string(),
 6502   8709   
        headers,
 6503         -
        body: TestSignedBody::Bytes(vec![]),
        8710  +
        body: TestSignedBody::Bytes(Vec::from(body)),
 6504   8711   
    })
 6505   8712   
}
 6506   8713   
 6507   8714   
#[test]
 6508   8715   
fn test_parse_headers() {
 6509   8716   
    let buf = b"Host:example.amazonaws.com\nX-Amz-Date:20150830T123600Z\n\nblah blah";
 6510   8717   
    let mut headers = [httparse::EMPTY_HEADER; 4];
 6511   8718   
    assert_eq!(
 6512   8719   
        httparse::parse_headers(buf, &mut headers),
 6513   8720   
        Ok(httparse::Status::Complete((
 6514   8721   
            56,
 6515   8722   
            &[
 6516   8723   
                httparse::Header {
 6517   8724   
                    name: "Host",
 6518   8725   
                    value: b"example.amazonaws.com",
 6519   8726   
                },
 6520   8727   
                httparse::Header {
 6521   8728   
                    name: "X-Amz-Date",
 6522   8729   
                    value: b"20150830T123600Z",
 6523   8730   
                }
 6524   8731   
            ][..]
 6525   8732   
        )))
 6526   8733   
    );
 6527   8734   
}
 6528   8735   
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
 6529   8736   
index a208453..fc00249 100644
 6530         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
        8737  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-sigv4/src/sign/v4.rs
 6531   8738   
@@ -168,52 +168,54 @@ pub mod signing_params {
 6532   8739   
        );
 6533   8740   
 6534   8741   
        /// Builds an instance of [`SigningParams`]. Will yield a [`BuildError`] if
 6535   8742   
        /// a required argument was not given.
 6536   8743   
        pub fn build(self) -> Result<SigningParams<'a, S>, BuildError> {
 6537   8744   
            Ok(SigningParams {
 6538   8745   
                identity: self
 6539   8746   
                    .identity
 6540   8747   
                    .ok_or_else(|| BuildError::new("identity is required"))?,
 6541   8748   
                region: self
 6542   8749   
                    .region
 6543   8750   
                    .ok_or_else(|| BuildError::new("region is required"))?,
 6544   8751   
                name: self
 6545   8752   
                    .name
 6546   8753   
                    .ok_or_else(|| BuildError::new("name is required"))?,
 6547   8754   
                time: self
 6548   8755   
                    .time
 6549   8756   
                    .ok_or_else(|| BuildError::new("time is required"))?,
 6550   8757   
                settings: self
 6551   8758   
                    .settings
 6552   8759   
                    .ok_or_else(|| BuildError::new("settings are required"))?,
 6553   8760   
            })
 6554   8761   
        }
 6555   8762   
    }
 6556   8763   
}
 6557   8764   
 6558   8765   
#[cfg(test)]
 6559   8766   
mod tests {
 6560   8767   
    use super::{calculate_signature, generate_signing_key, sha256_hex_string};
 6561   8768   
    use crate::date_time::test_parsers::parse_date_time;
 6562         -
    use crate::http_request::test;
 6563   8769   
 6564   8770   
    #[test]
 6565   8771   
    fn test_signature_calculation() {
 6566   8772   
        let secret = "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY";
 6567         -
        let creq = test::v4::test_canonical_request("iam");
        8773  +
        let creq = r#"AWS4-HMAC-SHA256
        8774  +
20150830T123600Z
        8775  +
20150830/us-east-1/iam/aws4_request
        8776  +
f536975d06c0309214f805bb90ccff089219ecd68b2577efef23edd43b7e1a59"#;
 6568   8777   
        let time = parse_date_time("20150830T123600Z").unwrap();
 6569   8778   
 6570   8779   
        let derived_key = generate_signing_key(secret, time, "us-east-1", "iam");
 6571   8780   
        let signature = calculate_signature(derived_key, creq.as_bytes());
 6572   8781   
 6573   8782   
        let expected = "5d672d79c15b13162d9279b0855cfba6789a8edb4c82c400e06b5924a6f2b5d7";
 6574   8783   
        assert_eq!(expected, &signature);
 6575   8784   
    }
 6576   8785   
 6577   8786   
    #[test]
 6578   8787   
    fn sign_payload_empty_string() {
 6579   8788   
        let expected = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
 6580   8789   
        let actual = sha256_hex_string([]);
 6581   8790   
        assert_eq!(expected, actual);
 6582   8791   
    }
 6583   8792   
}
 6584   8793   
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
 6585   8794   
index ce78c38..8c2f591 100644
 6586         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
        8795  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-checksums/Cargo.toml
 6587   8796   
@@ -1,43 +1,43 @@
 6588   8797   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6589   8798   
[package]
 6590   8799   
name = "aws-smithy-checksums"
 6591   8800   
version = "0.63.5"
 6592   8801   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Zelda Hessler <zhessler@amazon.com>"]
 6593   8802   
description = "Checksum calculation and verification callbacks"
 6594   8803   
edition = "2021"
 6595   8804   
license = "Apache-2.0"
 6596   8805   
repository = "https://github.com/smithy-lang/smithy-rs"
 6597   8806   
[package.metadata.docs.rs]
 6598   8807   
all-features = true
 6599   8808   
targets = ["x86_64-unknown-linux-gnu"]
 6600   8809   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6601   8810   
rustdoc-args = ["--cfg", "docsrs"]
 6602   8811   
 6603   8812   
[dependencies]
 6604   8813   
bytes = "1.10.0"
 6605   8814   
crc-fast = "1.3.0"
 6606   8815   
hex = "0.4.3"
 6607   8816   
http = "0.2.9"
 6608   8817   
http-body = "0.4.5"
 6609   8818   
md-5 = "0.10"
 6610   8819   
pin-project-lite = "0.2.14"
 6611   8820   
sha1 = "0.10"
 6612   8821   
sha2 = "0.10"
 6613   8822   
tracing = "0.1.40"
 6614   8823   
 6615   8824   
[dependencies.aws-smithy-http]
 6616   8825   
path = "../aws-smithy-http"
 6617         -
version = "0.62.2"
        8826  +
version = "0.62.3"
 6618   8827   
 6619   8828   
[dependencies.aws-smithy-types]
 6620   8829   
path = "../aws-smithy-types"
 6621   8830   
version = "1.3.2"
 6622   8831   
 6623   8832   
[dev-dependencies]
 6624   8833   
bytes-utils = "0.1.2"
 6625   8834   
pretty_assertions = "1.3"
 6626   8835   
tracing-test = "0.2.1"
 6627   8836   
 6628   8837   
[dev-dependencies.tokio]
 6629   8838   
version = "1.23.1"
 6630   8839   
features = ["macros", "rt"]
 6631   8840   
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
 6632   8841   
index 970c99e..d3c7a49 100644
 6633         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
        8842  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/Cargo.toml
 6634   8843   
@@ -1,34 +1,34 @@
 6635   8844   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6636   8845   
[package]
 6637   8846   
name = "aws-smithy-http"
 6638         -
version = "0.62.2"
        8847  +
version = "0.62.3"
 6639   8848   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 6640   8849   
description = "Smithy HTTP logic for smithy-rs."
 6641   8850   
edition = "2021"
 6642   8851   
license = "Apache-2.0"
 6643   8852   
repository = "https://github.com/smithy-lang/smithy-rs"
 6644   8853   
[package.metadata.docs.rs]
 6645   8854   
all-features = true
 6646   8855   
targets = ["x86_64-unknown-linux-gnu"]
 6647   8856   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6648   8857   
rustdoc-args = ["--cfg", "docsrs"]
 6649   8858   
 6650   8859   
[features]
 6651   8860   
event-stream = ["aws-smithy-eventstream"]
 6652   8861   
rt-tokio = ["aws-smithy-types/rt-tokio"]
 6653   8862   
 6654   8863   
[dependencies]
 6655   8864   
bytes = "1.10.0"
 6656   8865   
bytes-utils = "0.1"
 6657   8866   
percent-encoding = "2.3.1"
 6658   8867   
pin-project-lite = "0.2.14"
 6659   8868   
pin-utils = "0.1.0"
 6660   8869   
tracing = "0.1.40"
 6661   8870   
futures-core = "0.3.31"
 6662   8871   
 6663   8872   
[dependencies.aws-smithy-eventstream]
 6664   8873   
path = "../aws-smithy-eventstream"
 6665   8874   
optional = true
 6666   8875   
version = "0.60.10"
 6667   8876   
 6668   8877   
[dependencies.aws-smithy-runtime-api]
 6669   8878   
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
 6670   8879   
index 508f7a2..361545e 100644
 6671         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
        8880  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/fuzz/Cargo.toml
 6672   8881   
@@ -1,27 +1,27 @@
 6673   8882   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6674   8883   
[[bin]]
 6675   8884   
name = "read_many_from_str"
 6676   8885   
path = "fuzz_targets/read_many_from_str.rs"
 6677   8886   
test = false
 6678   8887   
doc = false
 6679   8888   
 6680   8889   
[package]
 6681   8890   
name = "aws-smithy-http-fuzz"
 6682   8891   
version = "0.0.0"
 6683   8892   
authors = ["Automatically generated"]
 6684   8893   
publish = false
 6685   8894   
edition = "2021"
 6686   8895   
 6687   8896   
[package.metadata]
 6688   8897   
cargo-fuzz = true
 6689   8898   
 6690   8899   
[dependencies]
 6691   8900   
libfuzzer-sys = "=0.4.7"
 6692   8901   
http = "0.2.3"
 6693   8902   
 6694   8903   
[dependencies.aws-smithy-http]
 6695   8904   
path = ".."
 6696         -
version = "0.62.2"
        8905  +
version = "0.62.3"
 6697   8906   
 6698   8907   
[workspace]
 6699   8908   
members = ["."]
 6700   8909   
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
 6701   8910   
index fef41d0..2792229 100644
 6702         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
        8911  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-http/src/query_writer.rs
 6703   8912   
@@ -25,68 +25,74 @@ impl QueryWriter {
 6704   8913   
    pub fn new(uri: &Uri) -> Self {
 6705   8914   
        let new_path_and_query = uri
 6706   8915   
            .path_and_query()
 6707   8916   
            .map(|pq| pq.to_string())
 6708   8917   
            .unwrap_or_default();
 6709   8918   
        let prefix = if uri.query().is_none() {
 6710   8919   
            Some('?')
 6711   8920   
        } else if !uri.query().unwrap_or_default().is_empty() {
 6712   8921   
            Some('&')
 6713   8922   
        } else {
 6714   8923   
            None
 6715   8924   
        };
 6716   8925   
        QueryWriter {
 6717   8926   
            base_uri: uri.clone(),
 6718   8927   
            new_path_and_query,
 6719   8928   
            prefix,
 6720   8929   
        }
 6721   8930   
    }
 6722   8931   
 6723   8932   
    /// Clears all query parameters.
 6724   8933   
    pub fn clear_params(&mut self) {
 6725   8934   
        if let Some(index) = self.new_path_and_query.find('?') {
 6726   8935   
            self.new_path_and_query.truncate(index);
 6727   8936   
            self.prefix = Some('?');
 6728   8937   
        }
 6729   8938   
    }
 6730   8939   
 6731   8940   
    /// Inserts a new query parameter. The key and value are percent encoded
 6732   8941   
    /// by `QueryWriter`. Passing in percent encoded values will result in double encoding.
 6733   8942   
    pub fn insert(&mut self, k: &str, v: &str) {
        8943  +
        self.insert_encoded(&percent_encode_query(k), &percent_encode_query(v));
        8944  +
    }
        8945  +
    
        8946  +
    /// Inserts a new already encoded query parameter. The key and value will be inserted
        8947  +
    /// as is.
        8948  +
    pub fn insert_encoded(&mut self, encoded_k: &str, encoded_v: &str) {
 6734   8949   
        if let Some(prefix) = self.prefix {
 6735   8950   
            self.new_path_and_query.push(prefix);
 6736   8951   
        }
 6737   8952   
        self.prefix = Some('&');
 6738         -
        self.new_path_and_query.push_str(&percent_encode_query(k));
        8953  +
        self.new_path_and_query.push_str(encoded_k);
 6739   8954   
        self.new_path_and_query.push('=');
        8955  +
        self.new_path_and_query.push_str(encoded_v)
 6740   8956   
        
 6741         -
        self.new_path_and_query.push_str(&percent_encode_query(v));
 6742   8957   
    }
 6743   8958   
 6744   8959   
    /// Returns just the built query string.
 6745   8960   
    pub fn build_query(self) -> String {
 6746   8961   
        self.build_uri().query().unwrap_or_default().to_string()
 6747   8962   
    }
 6748   8963   
 6749   8964   
    /// Returns a full [`Uri`] with the query string updated.
 6750   8965   
    pub fn build_uri(self) -> Uri {
 6751   8966   
        let mut parts = self.base_uri.into_parts();
 6752   8967   
        parts.path_and_query = Some(
 6753   8968   
            self.new_path_and_query
 6754   8969   
                .parse()
 6755   8970   
                .expect("adding query should not invalidate URI"),
 6756   8971   
        );
 6757   8972   
        Uri::from_parts(parts).expect("a valid URL in should always produce a valid URL out")
 6758   8973   
    }
 6759   8974   
}
 6760   8975   
 6761   8976   
#[cfg(test)]
 6762   8977   
mod test {
 6763   8978   
    use super::QueryWriter;
 6764   8979   
    use http_02x::Uri;
 6765   8980   
 6766   8981   
    #[test]
 6767   8982   
    fn empty_uri() {
 6768   8983   
        let uri = Uri::from_static("http://www.example.com");
 6769   8984   
        let mut query_writer = QueryWriter::new(&uri);
 6770   8985   
        query_writer.insert("key", "val%ue");
 6771   8986   
        query_writer.insert("another", "value");
 6772   8987   
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
 6773   8988   
index f108978..df7a9fe 100644
 6774         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
        8989  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-runtime/Cargo.toml
 6775   8990   
@@ -15,61 +15,61 @@ rustdoc-args = ["--cfg", "docsrs"]
 6776   8991   
 6777   8992   
[package.metadata.smithy-rs-release-tooling]
 6778   8993   
stable = true
 6779   8994   
[package.metadata.cargo-udeps.ignore]
 6780   8995   
normal = ["aws-smithy-http"]
 6781   8996   
 6782   8997   
[features]
 6783   8998   
client = ["aws-smithy-runtime-api/client", "aws-smithy-types/http-body-1-x"]
 6784   8999   
http-auth = ["aws-smithy-runtime-api/http-auth"]
 6785   9000   
connector-hyper-0-14-x = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/hyper-014"]
 6786   9001   
tls-rustls = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/legacy-rustls-ring", "connector-hyper-0-14-x"]
 6787   9002   
default-https-client = ["dep:aws-smithy-http-client", "aws-smithy-http-client?/rustls-aws-lc"]
 6788   9003   
rt-tokio = ["tokio/rt"]
 6789   9004   
test-util = ["aws-smithy-runtime-api/test-util", "dep:tracing-subscriber", "aws-smithy-http-client/test-util", "legacy-test-util"]
 6790   9005   
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"]
 6791   9006   
wire-mock = ["legacy-test-util", "aws-smithy-http-client/wire-mock"]
 6792   9007   
 6793   9008   
[dependencies]
 6794   9009   
bytes = "1.10.0"
 6795   9010   
fastrand = "2.3.0"
 6796   9011   
pin-project-lite = "0.2.14"
 6797   9012   
pin-utils = "0.1.0"
 6798   9013   
tracing = "0.1.40"
 6799   9014   
 6800   9015   
[dependencies.aws-smithy-async]
 6801   9016   
path = "../aws-smithy-async"
 6802   9017   
version = "1.2.5"
 6803   9018   
 6804   9019   
[dependencies.aws-smithy-http]
 6805   9020   
path = "../aws-smithy-http"
 6806         -
version = "0.62.2"
        9021  +
version = "0.62.3"
 6807   9022   
 6808   9023   
[dependencies.aws-smithy-observability]
 6809   9024   
path = "../aws-smithy-observability"
 6810   9025   
version = "0.1.3"
 6811   9026   
 6812   9027   
[dependencies.aws-smithy-runtime-api]
 6813   9028   
path = "../aws-smithy-runtime-api"
 6814   9029   
version = "1.8.5"
 6815   9030   
 6816   9031   
[dependencies.aws-smithy-types]
 6817   9032   
path = "../aws-smithy-types"
 6818   9033   
features = ["http-body-0-4-x"]
 6819   9034   
version = "1.3.2"
 6820   9035   
 6821   9036   
[dependencies.aws-smithy-http-client]
 6822   9037   
path = "../aws-smithy-http-client"
 6823   9038   
optional = true
 6824   9039   
version = "1.0.6"
 6825   9040   
 6826   9041   
[dependencies.http-02x]
 6827   9042   
package = "http"
 6828   9043   
version = "0.2.9"
 6829   9044   
 6830   9045   
[dependencies.http-1x]
 6831   9046   
package = "http"
 6832   9047   
version = "1"
 6833   9048   
 6834   9049   
[dependencies.http-body-04x]
 6835   9050   
package = "http-body"
 6836   9051   
version = "0.4.5"
 6837   9052   
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
 6838   9053   
index 4e050c6..f58eb1c 100644
 6839         -
-- a/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
        9054  +
++ b/tmp-codegen-diff/aws-sdk/sdk/aws-smithy-wasm/Cargo.toml
 6840   9055   
@@ -1,33 +1,33 @@
 6841   9056   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 6842   9057   
[package]
 6843   9058   
name = "aws-smithy-wasm"
 6844   9059   
version = "0.1.4"
 6845   9060   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Eduardo Rodrigues <16357187+eduardomourar@users.noreply.github.com>"]
 6846   9061   
description = "Smithy WebAssembly configuration for smithy-rs."
 6847   9062   
edition = "2021"
 6848   9063   
license = "Apache-2.0"
 6849   9064   
repository = "https://github.com/awslabs/smithy-rs"
 6850   9065   
[package.metadata.docs.rs]
 6851   9066   
all-features = true
 6852   9067   
targets = ["x86_64-unknown-linux-gnu"]
 6853   9068   
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
 6854   9069   
rustdoc-args = ["--cfg", "docsrs"]
 6855   9070   
 6856   9071   
[dependencies]
 6857   9072   
bytes = "1.10.0"
 6858   9073   
http = "1.0.0"
 6859   9074   
tracing = "0.1.40"
 6860   9075   
wasi = "0.12.1"
 6861   9076   
 6862   9077   
[dependencies.aws-smithy-runtime-api]
 6863   9078   
path = "../aws-smithy-runtime-api"
 6864   9079   
features = ["http-1x"]
 6865   9080   
version = "1.8.5"
 6866   9081   
 6867   9082   
[dependencies.aws-smithy-http]
 6868   9083   
path = "../aws-smithy-http"
 6869         -
version = "0.62.2"
        9084  +
version = "0.62.3"
 6870   9085   
 6871   9086   
[dependencies.aws-smithy-types]
 6872   9087   
path = "../aws-smithy-types"
 6873   9088   
version = "1.3.2"
 6874   9089   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6875   9090   
index a880648..139e808 100644
 6876         -
-- a/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
        9091  +
++ b/tmp-codegen-diff/aws-sdk/sdk/bedrockruntime/Cargo.toml
 6877   9092   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon Bedrock Runtime"
 6878   9093   
edition = "2021"
 6879   9094   
license = "Apache-2.0"
 6880   9095   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6881   9096   
rust-version = "1.86.0"
 6882   9097   
readme = "README.md"
 6883   9098   
[package.metadata.smithy]
 6884   9099   
codegen-version = "ci"
 6885   9100   
[package.metadata.docs.rs]
 6886   9101   
all-features = true
 6887   9102   
targets = ["x86_64-unknown-linux-gnu"]
 6888   9103   
[dependencies.aws-credential-types]
 6889   9104   
path = "../aws-credential-types"
 6890   9105   
version = "1.2.4"
 6891   9106   
 6892   9107   
[dependencies.aws-runtime]
 6893   9108   
path = "../aws-runtime"
 6894   9109   
features = ["event-stream"]
 6895   9110   
version = "1.5.9"
 6896   9111   
 6897   9112   
[dependencies.aws-smithy-async]
 6898   9113   
path = "../aws-smithy-async"
 6899   9114   
version = "1.2.5"
 6900   9115   
 6901   9116   
[dependencies.aws-smithy-eventstream]
 6902   9117   
path = "../aws-smithy-eventstream"
 6903   9118   
version = "0.60.10"
 6904   9119   
 6905   9120   
[dependencies.aws-smithy-http]
 6906   9121   
path = "../aws-smithy-http"
 6907   9122   
features = ["event-stream"]
 6908         -
version = "0.62.2"
        9123  +
version = "0.62.3"
 6909   9124   
 6910   9125   
[dependencies.aws-smithy-json]
 6911   9126   
path = "../aws-smithy-json"
 6912   9127   
version = "0.61.4"
 6913   9128   
 6914   9129   
[dependencies.aws-smithy-runtime]
 6915   9130   
path = "../aws-smithy-runtime"
 6916   9131   
features = ["client"]
 6917   9132   
version = "1.8.5"
 6918   9133   
 6919   9134   
[dependencies.aws-smithy-runtime-api]
 6920   9135   
path = "../aws-smithy-runtime-api"
 6921   9136   
features = ["client", "http-02x"]
 6922   9137   
version = "1.8.5"
 6923   9138   
 6924   9139   
[dependencies.aws-smithy-types]
 6925   9140   
path = "../aws-smithy-types"
 6926   9141   
version = "1.3.2"
 6927   9142   
 6928   9143   
[dependencies.aws-types]
 6929   9144   
path = "../aws-types"
 6930   9145   
version = "1.3.8"
 6931   9146   
 6932   9147   
[dependencies.bytes]
 6933   9148   
version = "1.4.0"
 6934   9149   
 6935   9150   
[dependencies.fastrand]
 6936   9151   
version = "2.0.0"
 6937   9152   
 6938   9153   
[dependencies.http]
 6939   9154   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6940   9155   
index 415ecc9..667d12b 100644
 6941         -
-- a/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
        9156  +
++ b/tmp-codegen-diff/aws-sdk/sdk/cloudwatchlogs/Cargo.toml
 6942   9157   
@@ -7,61 +7,61 @@ description = "AWS SDK for Amazon CloudWatch Logs"
 6943   9158   
edition = "2021"
 6944   9159   
license = "Apache-2.0"
 6945   9160   
repository = "https://github.com/awslabs/aws-sdk-rust"
 6946   9161   
rust-version = "1.86.0"
 6947   9162   
readme = "README.md"
 6948   9163   
[package.metadata.smithy]
 6949   9164   
codegen-version = "ci"
 6950   9165   
[package.metadata.docs.rs]
 6951   9166   
all-features = true
 6952   9167   
targets = ["x86_64-unknown-linux-gnu"]
 6953   9168   
[dependencies.aws-credential-types]
 6954   9169   
path = "../aws-credential-types"
 6955   9170   
version = "1.2.4"
 6956   9171   
 6957   9172   
[dependencies.aws-runtime]
 6958   9173   
path = "../aws-runtime"
 6959   9174   
features = ["event-stream"]
 6960   9175   
version = "1.5.9"
 6961   9176   
 6962   9177   
[dependencies.aws-smithy-async]
 6963   9178   
path = "../aws-smithy-async"
 6964   9179   
version = "1.2.5"
 6965   9180   
 6966   9181   
[dependencies.aws-smithy-eventstream]
 6967   9182   
path = "../aws-smithy-eventstream"
 6968   9183   
version = "0.60.10"
 6969   9184   
 6970   9185   
[dependencies.aws-smithy-http]
 6971   9186   
path = "../aws-smithy-http"
 6972   9187   
features = ["event-stream"]
 6973         -
version = "0.62.2"
        9188  +
version = "0.62.3"
 6974   9189   
 6975   9190   
[dependencies.aws-smithy-json]
 6976   9191   
path = "../aws-smithy-json"
 6977   9192   
version = "0.61.4"
 6978   9193   
 6979   9194   
[dependencies.aws-smithy-runtime]
 6980   9195   
path = "../aws-smithy-runtime"
 6981   9196   
features = ["client"]
 6982   9197   
version = "1.8.5"
 6983   9198   
 6984   9199   
[dependencies.aws-smithy-runtime-api]
 6985   9200   
path = "../aws-smithy-runtime-api"
 6986   9201   
features = ["client", "http-02x"]
 6987   9202   
version = "1.8.5"
 6988   9203   
 6989   9204   
[dependencies.aws-smithy-types]
 6990   9205   
path = "../aws-smithy-types"
 6991   9206   
version = "1.3.2"
 6992   9207   
 6993   9208   
[dependencies.aws-types]
 6994   9209   
path = "../aws-types"
 6995   9210   
version = "1.3.8"
 6996   9211   
 6997   9212   
[dependencies.bytes]
 6998   9213   
version = "1.4.0"
 6999   9214   
 7000   9215   
[dependencies.fastrand]
 7001   9216   
version = "2.0.0"
 7002   9217   
 7003   9218   
[dependencies.http]
 7004   9219   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 7005   9220   
index 8871cab..ed88de6 100644
 7006         -
-- a/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
        9221  +
++ b/tmp-codegen-diff/aws-sdk/sdk/codecatalyst/Cargo.toml
 7007   9222   
@@ -1,61 +1,61 @@
 7008   9223   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7009   9224   
[package]
 7010   9225   
name = "aws-sdk-codecatalyst"
 7011   9226   
version = "0.0.0-local"
 7012   9227   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7013   9228   
description = "AWS SDK for Amazon CodeCatalyst"
 7014   9229   
edition = "2021"
 7015   9230   
license = "Apache-2.0"
 7016   9231   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7017   9232   
rust-version = "1.86.0"
 7018   9233   
readme = "README.md"
 7019   9234   
[package.metadata.smithy]
 7020   9235   
codegen-version = "ci"
 7021   9236   
[package.metadata.docs.rs]
 7022   9237   
all-features = true
 7023   9238   
targets = ["x86_64-unknown-linux-gnu"]
 7024   9239   
[dependencies.aws-credential-types]
 7025   9240   
path = "../aws-credential-types"
 7026   9241   
version = "1.2.4"
 7027   9242   
 7028   9243   
[dependencies.aws-runtime]
 7029   9244   
path = "../aws-runtime"
 7030   9245   
version = "1.5.9"
 7031   9246   
 7032   9247   
[dependencies.aws-smithy-async]
 7033   9248   
path = "../aws-smithy-async"
 7034   9249   
version = "1.2.5"
 7035   9250   
 7036   9251   
[dependencies.aws-smithy-http]
 7037   9252   
path = "../aws-smithy-http"
 7038         -
version = "0.62.2"
        9253  +
version = "0.62.3"
 7039   9254   
 7040   9255   
[dependencies.aws-smithy-json]
 7041   9256   
path = "../aws-smithy-json"
 7042   9257   
version = "0.61.4"
 7043   9258   
 7044   9259   
[dependencies.aws-smithy-runtime]
 7045   9260   
path = "../aws-smithy-runtime"
 7046   9261   
features = ["client", "http-auth"]
 7047   9262   
version = "1.8.5"
 7048   9263   
 7049   9264   
[dependencies.aws-smithy-runtime-api]
 7050   9265   
path = "../aws-smithy-runtime-api"
 7051   9266   
features = ["client", "http-02x", "http-auth"]
 7052   9267   
version = "1.8.5"
 7053   9268   
 7054   9269   
[dependencies.aws-smithy-types]
 7055   9270   
path = "../aws-smithy-types"
 7056   9271   
version = "1.3.2"
 7057   9272   
 7058   9273   
[dependencies.aws-types]
 7059   9274   
path = "../aws-types"
 7060   9275   
version = "1.3.8"
 7061   9276   
 7062   9277   
[dependencies.bytes]
 7063   9278   
version = "1.4.0"
 7064   9279   
 7065   9280   
[dependencies.fastrand]
 7066   9281   
version = "2.0.0"
 7067   9282   
 7068   9283   
[dependencies.http]
 7069   9284   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 7070   9285   
index 89573ff..05238af 100644
 7071         -
-- a/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
        9286  +
++ b/tmp-codegen-diff/aws-sdk/sdk/config/Cargo.toml
 7072   9287   
@@ -1,61 +1,61 @@
 7073   9288   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7074   9289   
[package]
 7075   9290   
name = "aws-sdk-config"
 7076   9291   
version = "0.0.0-local"
 7077   9292   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7078   9293   
description = "AWS SDK for AWS Config"
 7079   9294   
edition = "2021"
 7080   9295   
license = "Apache-2.0"
 7081   9296   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7082   9297   
rust-version = "1.86.0"
 7083   9298   
readme = "README.md"
 7084   9299   
[package.metadata.smithy]
 7085   9300   
codegen-version = "ci"
 7086   9301   
[package.metadata.docs.rs]
 7087   9302   
all-features = true
 7088   9303   
targets = ["x86_64-unknown-linux-gnu"]
 7089   9304   
[dependencies.aws-credential-types]
 7090   9305   
path = "../aws-credential-types"
 7091   9306   
version = "1.2.4"
 7092   9307   
 7093   9308   
[dependencies.aws-runtime]
 7094   9309   
path = "../aws-runtime"
 7095   9310   
version = "1.5.9"
 7096   9311   
 7097   9312   
[dependencies.aws-smithy-async]
 7098   9313   
path = "../aws-smithy-async"
 7099   9314   
version = "1.2.5"
 7100   9315   
 7101   9316   
[dependencies.aws-smithy-http]
 7102   9317   
path = "../aws-smithy-http"
 7103         -
version = "0.62.2"
        9318  +
version = "0.62.3"
 7104   9319   
 7105   9320   
[dependencies.aws-smithy-json]
 7106   9321   
path = "../aws-smithy-json"
 7107   9322   
version = "0.61.4"
 7108   9323   
 7109   9324   
[dependencies.aws-smithy-runtime]
 7110   9325   
path = "../aws-smithy-runtime"
 7111   9326   
features = ["client"]
 7112   9327   
version = "1.8.5"
 7113   9328   
 7114   9329   
[dependencies.aws-smithy-runtime-api]
 7115   9330   
path = "../aws-smithy-runtime-api"
 7116   9331   
features = ["client", "http-02x"]
 7117   9332   
version = "1.8.5"
 7118   9333   
 7119   9334   
[dependencies.aws-smithy-types]
 7120   9335   
path = "../aws-smithy-types"
 7121   9336   
version = "1.3.2"
 7122   9337   
 7123   9338   
[dependencies.aws-types]
 7124   9339   
path = "../aws-types"
 7125   9340   
version = "1.3.8"
 7126   9341   
 7127   9342   
[dependencies.bytes]
 7128   9343   
version = "1.4.0"
 7129   9344   
 7130   9345   
[dependencies.fastrand]
 7131   9346   
version = "2.0.0"
 7132   9347   
 7133   9348   
[dependencies.http]
 7134   9349   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7135   9350   
index d397c58..2c1062b 100644
 7136         -
-- a/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
        9351  +
++ b/tmp-codegen-diff/aws-sdk/sdk/dynamodb/Cargo.toml
 7137   9352   
@@ -1,61 +1,61 @@
 7138   9353   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7139   9354   
[package]
 7140   9355   
name = "aws-sdk-dynamodb"
 7141   9356   
version = "0.0.0-local"
 7142   9357   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7143   9358   
description = "AWS SDK for Amazon DynamoDB"
 7144   9359   
edition = "2021"
 7145   9360   
license = "Apache-2.0"
 7146   9361   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7147   9362   
rust-version = "1.86.0"
 7148   9363   
readme = "README.md"
 7149   9364   
[package.metadata.smithy]
 7150   9365   
codegen-version = "ci"
 7151   9366   
[package.metadata.docs.rs]
 7152   9367   
all-features = true
 7153   9368   
targets = ["x86_64-unknown-linux-gnu"]
 7154   9369   
[dependencies.aws-credential-types]
 7155   9370   
path = "../aws-credential-types"
 7156   9371   
version = "1.2.4"
 7157   9372   
 7158   9373   
[dependencies.aws-runtime]
 7159   9374   
path = "../aws-runtime"
 7160   9375   
version = "1.5.9"
 7161   9376   
 7162   9377   
[dependencies.aws-smithy-async]
 7163   9378   
path = "../aws-smithy-async"
 7164   9379   
version = "1.2.5"
 7165   9380   
 7166   9381   
[dependencies.aws-smithy-http]
 7167   9382   
path = "../aws-smithy-http"
 7168         -
version = "0.62.2"
        9383  +
version = "0.62.3"
 7169   9384   
 7170   9385   
[dependencies.aws-smithy-json]
 7171   9386   
path = "../aws-smithy-json"
 7172   9387   
version = "0.61.4"
 7173   9388   
 7174   9389   
[dependencies.aws-smithy-runtime]
 7175   9390   
path = "../aws-smithy-runtime"
 7176   9391   
features = ["client"]
 7177   9392   
version = "1.8.5"
 7178   9393   
 7179   9394   
[dependencies.aws-smithy-runtime-api]
 7180   9395   
path = "../aws-smithy-runtime-api"
 7181   9396   
features = ["client", "http-02x"]
 7182   9397   
version = "1.8.5"
 7183   9398   
 7184   9399   
[dependencies.aws-smithy-types]
 7185   9400   
path = "../aws-smithy-types"
 7186   9401   
version = "1.3.2"
 7187   9402   
 7188   9403   
[dependencies.aws-types]
 7189   9404   
path = "../aws-types"
 7190   9405   
version = "1.3.8"
 7191   9406   
 7192   9407   
[dependencies.bytes]
 7193   9408   
version = "1.4.0"
 7194   9409   
 7195   9410   
[dependencies.fastrand]
 7196   9411   
version = "2.0.0"
 7197   9412   
 7198   9413   
[dependencies.http]
 7199   9414   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7200   9415   
index c0ba315..46168af 100644
 7201         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
        9416  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ec2/Cargo.toml
 7202   9417   
@@ -1,61 +1,61 @@
 7203   9418   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7204   9419   
[package]
 7205   9420   
name = "aws-sdk-ec2"
 7206   9421   
version = "0.0.0-local"
 7207   9422   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7208   9423   
description = "AWS SDK for Amazon Elastic Compute Cloud"
 7209   9424   
edition = "2021"
 7210   9425   
license = "Apache-2.0"
 7211   9426   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7212   9427   
rust-version = "1.86.0"
 7213   9428   
readme = "README.md"
 7214   9429   
[package.metadata.smithy]
 7215   9430   
codegen-version = "ci"
 7216   9431   
[package.metadata.docs.rs]
 7217   9432   
all-features = true
 7218   9433   
targets = ["x86_64-unknown-linux-gnu"]
 7219   9434   
[dependencies.aws-credential-types]
 7220   9435   
path = "../aws-credential-types"
 7221   9436   
version = "1.2.4"
 7222   9437   
 7223   9438   
[dependencies.aws-runtime]
 7224   9439   
path = "../aws-runtime"
 7225   9440   
version = "1.5.9"
 7226   9441   
 7227   9442   
[dependencies.aws-smithy-async]
 7228   9443   
path = "../aws-smithy-async"
 7229   9444   
version = "1.2.5"
 7230   9445   
 7231   9446   
[dependencies.aws-smithy-http]
 7232   9447   
path = "../aws-smithy-http"
 7233         -
version = "0.62.2"
        9448  +
version = "0.62.3"
 7234   9449   
 7235   9450   
[dependencies.aws-smithy-json]
 7236   9451   
path = "../aws-smithy-json"
 7237   9452   
version = "0.61.4"
 7238   9453   
 7239   9454   
[dependencies.aws-smithy-query]
 7240   9455   
path = "../aws-smithy-query"
 7241   9456   
version = "0.60.7"
 7242   9457   
 7243   9458   
[dependencies.aws-smithy-runtime]
 7244   9459   
path = "../aws-smithy-runtime"
 7245   9460   
features = ["client"]
 7246   9461   
version = "1.8.5"
 7247   9462   
 7248   9463   
[dependencies.aws-smithy-runtime-api]
 7249   9464   
path = "../aws-smithy-runtime-api"
 7250   9465   
features = ["client", "http-02x"]
 7251   9466   
version = "1.8.5"
 7252   9467   
 7253   9468   
[dependencies.aws-smithy-types]
 7254   9469   
path = "../aws-smithy-types"
 7255   9470   
version = "1.3.2"
 7256   9471   
 7257   9472   
[dependencies.aws-smithy-xml]
 7258   9473   
path = "../aws-smithy-xml"
 7259   9474   
version = "0.60.10"
 7260   9475   
 7261   9476   
[dependencies.aws-types]
 7262   9477   
path = "../aws-types"
 7263   9478   
version = "1.3.8"
 7264   9479   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7265   9480   
index 4474d17..095d40e 100644
 7266         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
        9481  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ecs/Cargo.toml
 7267   9482   
@@ -1,61 +1,61 @@
 7268   9483   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7269   9484   
[package]
 7270   9485   
name = "aws-sdk-ecs"
 7271   9486   
version = "0.0.0-local"
 7272   9487   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7273   9488   
description = "AWS SDK for Amazon EC2 Container Service"
 7274   9489   
edition = "2021"
 7275   9490   
license = "Apache-2.0"
 7276   9491   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7277   9492   
rust-version = "1.86.0"
 7278   9493   
readme = "README.md"
 7279   9494   
[package.metadata.smithy]
 7280   9495   
codegen-version = "ci"
 7281   9496   
[package.metadata.docs.rs]
 7282   9497   
all-features = true
 7283   9498   
targets = ["x86_64-unknown-linux-gnu"]
 7284   9499   
[dependencies.aws-credential-types]
 7285   9500   
path = "../aws-credential-types"
 7286   9501   
version = "1.2.4"
 7287   9502   
 7288   9503   
[dependencies.aws-runtime]
 7289   9504   
path = "../aws-runtime"
 7290   9505   
version = "1.5.9"
 7291   9506   
 7292   9507   
[dependencies.aws-smithy-async]
 7293   9508   
path = "../aws-smithy-async"
 7294   9509   
version = "1.2.5"
 7295   9510   
 7296   9511   
[dependencies.aws-smithy-http]
 7297   9512   
path = "../aws-smithy-http"
 7298         -
version = "0.62.2"
        9513  +
version = "0.62.3"
 7299   9514   
 7300   9515   
[dependencies.aws-smithy-json]
 7301   9516   
path = "../aws-smithy-json"
 7302   9517   
version = "0.61.4"
 7303   9518   
 7304   9519   
[dependencies.aws-smithy-runtime]
 7305   9520   
path = "../aws-smithy-runtime"
 7306   9521   
features = ["client"]
 7307   9522   
version = "1.8.5"
 7308   9523   
 7309   9524   
[dependencies.aws-smithy-runtime-api]
 7310   9525   
path = "../aws-smithy-runtime-api"
 7311   9526   
features = ["client", "http-02x"]
 7312   9527   
version = "1.8.5"
 7313   9528   
 7314   9529   
[dependencies.aws-smithy-types]
 7315   9530   
path = "../aws-smithy-types"
 7316   9531   
version = "1.3.2"
 7317   9532   
 7318   9533   
[dependencies.aws-types]
 7319   9534   
path = "../aws-types"
 7320   9535   
version = "1.3.8"
 7321   9536   
 7322   9537   
[dependencies.bytes]
 7323   9538   
version = "1.4.0"
 7324   9539   
 7325   9540   
[dependencies.fastrand]
 7326   9541   
version = "2.0.0"
 7327   9542   
 7328   9543   
[dependencies.http]
 7329   9544   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7330   9545   
index 15b1d77..16d7d89 100644
 7331         -
-- a/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
        9546  +
++ b/tmp-codegen-diff/aws-sdk/sdk/glacier/Cargo.toml
 7332   9547   
@@ -1,65 +1,65 @@
 7333   9548   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7334   9549   
[package]
 7335   9550   
name = "aws-sdk-glacier"
 7336   9551   
version = "0.0.0-local"
 7337   9552   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7338   9553   
description = "AWS SDK for Amazon Glacier"
 7339   9554   
edition = "2021"
 7340   9555   
license = "Apache-2.0"
 7341   9556   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7342   9557   
rust-version = "1.86.0"
 7343   9558   
readme = "README.md"
 7344   9559   
[package.metadata.smithy]
 7345   9560   
codegen-version = "ci"
 7346   9561   
[package.metadata.docs.rs]
 7347   9562   
all-features = true
 7348   9563   
targets = ["x86_64-unknown-linux-gnu"]
 7349   9564   
[dependencies.aws-credential-types]
 7350   9565   
path = "../aws-credential-types"
 7351   9566   
version = "1.2.4"
 7352   9567   
 7353   9568   
[dependencies.aws-runtime]
 7354   9569   
path = "../aws-runtime"
 7355   9570   
version = "1.5.9"
 7356   9571   
 7357   9572   
[dependencies.aws-sigv4]
 7358   9573   
path = "../aws-sigv4"
 7359         -
version = "1.3.3"
        9574  +
version = "1.3.4"
 7360   9575   
 7361   9576   
[dependencies.aws-smithy-async]
 7362   9577   
path = "../aws-smithy-async"
 7363   9578   
version = "1.2.5"
 7364   9579   
 7365   9580   
[dependencies.aws-smithy-http]
 7366   9581   
path = "../aws-smithy-http"
 7367         -
version = "0.62.2"
        9582  +
version = "0.62.3"
 7368   9583   
 7369   9584   
[dependencies.aws-smithy-json]
 7370   9585   
path = "../aws-smithy-json"
 7371   9586   
version = "0.61.4"
 7372   9587   
 7373   9588   
[dependencies.aws-smithy-runtime]
 7374   9589   
path = "../aws-smithy-runtime"
 7375   9590   
features = ["client"]
 7376   9591   
version = "1.8.5"
 7377   9592   
 7378   9593   
[dependencies.aws-smithy-runtime-api]
 7379   9594   
path = "../aws-smithy-runtime-api"
 7380   9595   
features = ["client", "http-02x"]
 7381   9596   
version = "1.8.5"
 7382   9597   
 7383   9598   
[dependencies.aws-smithy-types]
 7384   9599   
path = "../aws-smithy-types"
 7385   9600   
version = "1.3.2"
 7386   9601   
 7387   9602   
[dependencies.aws-types]
 7388   9603   
path = "../aws-types"
 7389   9604   
version = "1.3.8"
 7390   9605   
 7391   9606   
[dependencies.bytes]
 7392   9607   
version = "1.4.0"
 7393   9608   
 7394   9609   
[dependencies.fastrand]
 7395   9610   
version = "2.0.0"
 7396   9611   
 7397   9612   
[dependencies.hex]
 7398   9613   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7399   9614   
index d718a3a..65e6f24 100644
 7400         -
-- a/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
        9615  +
++ b/tmp-codegen-diff/aws-sdk/sdk/iam/Cargo.toml
 7401   9616   
@@ -1,61 +1,61 @@
 7402   9617   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7403   9618   
[package]
 7404   9619   
name = "aws-sdk-iam"
 7405   9620   
version = "0.0.0-local"
 7406   9621   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7407   9622   
description = "AWS SDK for AWS Identity and Access Management"
 7408   9623   
edition = "2021"
 7409   9624   
license = "Apache-2.0"
 7410   9625   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7411   9626   
rust-version = "1.86.0"
 7412   9627   
readme = "README.md"
 7413   9628   
[package.metadata.smithy]
 7414   9629   
codegen-version = "ci"
 7415   9630   
[package.metadata.docs.rs]
 7416   9631   
all-features = true
 7417   9632   
targets = ["x86_64-unknown-linux-gnu"]
 7418   9633   
[dependencies.aws-credential-types]
 7419   9634   
path = "../aws-credential-types"
 7420   9635   
version = "1.2.4"
 7421   9636   
 7422   9637   
[dependencies.aws-runtime]
 7423   9638   
path = "../aws-runtime"
 7424   9639   
version = "1.5.9"
 7425   9640   
 7426   9641   
[dependencies.aws-smithy-async]
 7427   9642   
path = "../aws-smithy-async"
 7428   9643   
version = "1.2.5"
 7429   9644   
 7430   9645   
[dependencies.aws-smithy-http]
 7431   9646   
path = "../aws-smithy-http"
 7432         -
version = "0.62.2"
        9647  +
version = "0.62.3"
 7433   9648   
 7434   9649   
[dependencies.aws-smithy-json]
 7435   9650   
path = "../aws-smithy-json"
 7436   9651   
version = "0.61.4"
 7437   9652   
 7438   9653   
[dependencies.aws-smithy-query]
 7439   9654   
path = "../aws-smithy-query"
 7440   9655   
version = "0.60.7"
 7441   9656   
 7442   9657   
[dependencies.aws-smithy-runtime]
 7443   9658   
path = "../aws-smithy-runtime"
 7444   9659   
features = ["client"]
 7445   9660   
version = "1.8.5"
 7446   9661   
 7447   9662   
[dependencies.aws-smithy-runtime-api]
 7448   9663   
path = "../aws-smithy-runtime-api"
 7449   9664   
features = ["client", "http-02x"]
 7450   9665   
version = "1.8.5"
 7451   9666   
 7452   9667   
[dependencies.aws-smithy-types]
 7453   9668   
path = "../aws-smithy-types"
 7454   9669   
version = "1.3.2"
 7455   9670   
 7456   9671   
[dependencies.aws-smithy-xml]
 7457   9672   
path = "../aws-smithy-xml"
 7458   9673   
version = "0.60.10"
 7459   9674   
 7460   9675   
[dependencies.aws-types]
 7461   9676   
path = "../aws-types"
 7462   9677   
version = "1.3.8"
 7463   9678   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7464   9679   
index 0ed4302..3d828a5 100644
 7465         -
-- a/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
        9680  +
++ b/tmp-codegen-diff/aws-sdk/sdk/kms/Cargo.toml
 7466   9681   
@@ -1,61 +1,61 @@
 7467   9682   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7468   9683   
[package]
 7469   9684   
name = "aws-sdk-kms"
 7470   9685   
version = "0.0.0-local"
 7471   9686   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7472   9687   
description = "AWS SDK for AWS Key Management Service"
 7473   9688   
edition = "2021"
 7474   9689   
license = "Apache-2.0"
 7475   9690   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7476   9691   
rust-version = "1.86.0"
 7477   9692   
readme = "README.md"
 7478   9693   
[package.metadata.smithy]
 7479   9694   
codegen-version = "ci"
 7480   9695   
[package.metadata.docs.rs]
 7481   9696   
all-features = true
 7482   9697   
targets = ["x86_64-unknown-linux-gnu"]
 7483   9698   
[dependencies.aws-credential-types]
 7484   9699   
path = "../aws-credential-types"
 7485   9700   
version = "1.2.4"
 7486   9701   
 7487   9702   
[dependencies.aws-runtime]
 7488   9703   
path = "../aws-runtime"
 7489   9704   
version = "1.5.9"
 7490   9705   
 7491   9706   
[dependencies.aws-smithy-async]
 7492   9707   
path = "../aws-smithy-async"
 7493   9708   
version = "1.2.5"
 7494   9709   
 7495   9710   
[dependencies.aws-smithy-http]
 7496   9711   
path = "../aws-smithy-http"
 7497         -
version = "0.62.2"
        9712  +
version = "0.62.3"
 7498   9713   
 7499   9714   
[dependencies.aws-smithy-json]
 7500   9715   
path = "../aws-smithy-json"
 7501   9716   
version = "0.61.4"
 7502   9717   
 7503   9718   
[dependencies.aws-smithy-runtime]
 7504   9719   
path = "../aws-smithy-runtime"
 7505   9720   
features = ["client"]
 7506   9721   
version = "1.8.5"
 7507   9722   
 7508   9723   
[dependencies.aws-smithy-runtime-api]
 7509   9724   
path = "../aws-smithy-runtime-api"
 7510   9725   
features = ["client", "http-02x"]
 7511   9726   
version = "1.8.5"
 7512   9727   
 7513   9728   
[dependencies.aws-smithy-types]
 7514   9729   
path = "../aws-smithy-types"
 7515   9730   
version = "1.3.2"
 7516   9731   
 7517   9732   
[dependencies.aws-types]
 7518   9733   
path = "../aws-types"
 7519   9734   
version = "1.3.8"
 7520   9735   
 7521   9736   
[dependencies.bytes]
 7522   9737   
version = "1.4.0"
 7523   9738   
 7524   9739   
[dependencies.fastrand]
 7525   9740   
version = "2.0.0"
 7526   9741   
 7527   9742   
[dependencies.http]
 7528   9743   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7529   9744   
index 6518dfc..6b94752 100644
 7530         -
-- a/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
        9745  +
++ b/tmp-codegen-diff/aws-sdk/sdk/lambda/Cargo.toml
 7531   9746   
@@ -7,61 +7,61 @@ description = "AWS SDK for AWS Lambda"
 7532   9747   
edition = "2021"
 7533   9748   
license = "Apache-2.0"
 7534   9749   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7535   9750   
rust-version = "1.86.0"
 7536   9751   
readme = "README.md"
 7537   9752   
[package.metadata.smithy]
 7538   9753   
codegen-version = "ci"
 7539   9754   
[package.metadata.docs.rs]
 7540   9755   
all-features = true
 7541   9756   
targets = ["x86_64-unknown-linux-gnu"]
 7542   9757   
[dependencies.aws-credential-types]
 7543   9758   
path = "../aws-credential-types"
 7544   9759   
version = "1.2.4"
 7545   9760   
 7546   9761   
[dependencies.aws-runtime]
 7547   9762   
path = "../aws-runtime"
 7548   9763   
features = ["event-stream"]
 7549   9764   
version = "1.5.9"
 7550   9765   
 7551   9766   
[dependencies.aws-smithy-async]
 7552   9767   
path = "../aws-smithy-async"
 7553   9768   
version = "1.2.5"
 7554   9769   
 7555   9770   
[dependencies.aws-smithy-eventstream]
 7556   9771   
path = "../aws-smithy-eventstream"
 7557   9772   
version = "0.60.10"
 7558   9773   
 7559   9774   
[dependencies.aws-smithy-http]
 7560   9775   
path = "../aws-smithy-http"
 7561   9776   
features = ["event-stream"]
 7562         -
version = "0.62.2"
        9777  +
version = "0.62.3"
 7563   9778   
 7564   9779   
[dependencies.aws-smithy-json]
 7565   9780   
path = "../aws-smithy-json"
 7566   9781   
version = "0.61.4"
 7567   9782   
 7568   9783   
[dependencies.aws-smithy-runtime]
 7569   9784   
path = "../aws-smithy-runtime"
 7570   9785   
features = ["client"]
 7571   9786   
version = "1.8.5"
 7572   9787   
 7573   9788   
[dependencies.aws-smithy-runtime-api]
 7574   9789   
path = "../aws-smithy-runtime-api"
 7575   9790   
features = ["client", "http-02x"]
 7576   9791   
version = "1.8.5"
 7577   9792   
 7578   9793   
[dependencies.aws-smithy-types]
 7579   9794   
path = "../aws-smithy-types"
 7580   9795   
version = "1.3.2"
 7581   9796   
 7582   9797   
[dependencies.aws-types]
 7583   9798   
path = "../aws-types"
 7584   9799   
version = "1.3.8"
 7585   9800   
 7586   9801   
[dependencies.bytes]
 7587   9802   
version = "1.4.0"
 7588   9803   
 7589   9804   
[dependencies.fastrand]
 7590   9805   
version = "2.0.0"
 7591   9806   
 7592   9807   
[dependencies.http]
 7593   9808   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7594   9809   
index dabb0e0..34cbc15 100644
 7595         -
-- a/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
        9810  +
++ b/tmp-codegen-diff/aws-sdk/sdk/polly/Cargo.toml
 7596   9811   
@@ -1,65 +1,65 @@
 7597   9812   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7598   9813   
[package]
 7599   9814   
name = "aws-sdk-polly"
 7600   9815   
version = "0.0.0-local"
 7601   9816   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7602   9817   
description = "AWS SDK for Amazon Polly"
 7603   9818   
edition = "2021"
 7604   9819   
license = "Apache-2.0"
 7605   9820   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7606   9821   
rust-version = "1.86.0"
 7607   9822   
readme = "README.md"
 7608   9823   
[package.metadata.smithy]
 7609   9824   
codegen-version = "ci"
 7610   9825   
[package.metadata.docs.rs]
 7611   9826   
all-features = true
 7612   9827   
targets = ["x86_64-unknown-linux-gnu"]
 7613   9828   
[dependencies.aws-credential-types]
 7614   9829   
path = "../aws-credential-types"
 7615   9830   
version = "1.2.4"
 7616   9831   
 7617   9832   
[dependencies.aws-runtime]
 7618   9833   
path = "../aws-runtime"
 7619   9834   
version = "1.5.9"
 7620   9835   
 7621   9836   
[dependencies.aws-sigv4]
 7622   9837   
path = "../aws-sigv4"
 7623         -
version = "1.3.3"
        9838  +
version = "1.3.4"
 7624   9839   
 7625   9840   
[dependencies.aws-smithy-async]
 7626   9841   
path = "../aws-smithy-async"
 7627   9842   
version = "1.2.5"
 7628   9843   
 7629   9844   
[dependencies.aws-smithy-http]
 7630   9845   
path = "../aws-smithy-http"
 7631         -
version = "0.62.2"
        9846  +
version = "0.62.3"
 7632   9847   
 7633   9848   
[dependencies.aws-smithy-json]
 7634   9849   
path = "../aws-smithy-json"
 7635   9850   
version = "0.61.4"
 7636   9851   
 7637   9852   
[dependencies.aws-smithy-runtime]
 7638   9853   
path = "../aws-smithy-runtime"
 7639   9854   
features = ["client"]
 7640   9855   
version = "1.8.5"
 7641   9856   
 7642   9857   
[dependencies.aws-smithy-runtime-api]
 7643   9858   
path = "../aws-smithy-runtime-api"
 7644   9859   
features = ["client", "http-02x"]
 7645   9860   
version = "1.8.5"
 7646   9861   
 7647   9862   
[dependencies.aws-smithy-types]
 7648   9863   
path = "../aws-smithy-types"
 7649   9864   
version = "1.3.2"
 7650   9865   
 7651   9866   
[dependencies.aws-types]
 7652   9867   
path = "../aws-types"
 7653   9868   
version = "1.3.8"
 7654   9869   
 7655   9870   
[dependencies.bytes]
 7656   9871   
version = "1.4.0"
 7657   9872   
 7658   9873   
[dependencies.fastrand]
 7659   9874   
version = "2.0.0"
 7660   9875   
 7661   9876   
[dependencies.http]
 7662   9877   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7663   9878   
index a884716..f3d8713 100644
 7664         -
-- a/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
        9879  +
++ b/tmp-codegen-diff/aws-sdk/sdk/qldbsession/Cargo.toml
 7665   9880   
@@ -1,61 +1,61 @@
 7666   9881   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7667   9882   
[package]
 7668   9883   
name = "aws-sdk-qldbsession"
 7669   9884   
version = "0.0.0-local"
 7670   9885   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7671   9886   
description = "AWS SDK for Amazon QLDB Session"
 7672   9887   
edition = "2021"
 7673   9888   
license = "Apache-2.0"
 7674   9889   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7675   9890   
rust-version = "1.86.0"
 7676   9891   
readme = "README.md"
 7677   9892   
[package.metadata.smithy]
 7678   9893   
codegen-version = "ci"
 7679   9894   
[package.metadata.docs.rs]
 7680   9895   
all-features = true
 7681   9896   
targets = ["x86_64-unknown-linux-gnu"]
 7682   9897   
[dependencies.aws-credential-types]
 7683   9898   
path = "../aws-credential-types"
 7684   9899   
version = "1.2.4"
 7685   9900   
 7686   9901   
[dependencies.aws-runtime]
 7687   9902   
path = "../aws-runtime"
 7688   9903   
version = "1.5.9"
 7689   9904   
 7690   9905   
[dependencies.aws-smithy-async]
 7691   9906   
path = "../aws-smithy-async"
 7692   9907   
version = "1.2.5"
 7693   9908   
 7694   9909   
[dependencies.aws-smithy-http]
 7695   9910   
path = "../aws-smithy-http"
 7696         -
version = "0.62.2"
        9911  +
version = "0.62.3"
 7697   9912   
 7698   9913   
[dependencies.aws-smithy-json]
 7699   9914   
path = "../aws-smithy-json"
 7700   9915   
version = "0.61.4"
 7701   9916   
 7702   9917   
[dependencies.aws-smithy-runtime]
 7703   9918   
path = "../aws-smithy-runtime"
 7704   9919   
features = ["client"]
 7705   9920   
version = "1.8.5"
 7706   9921   
 7707   9922   
[dependencies.aws-smithy-runtime-api]
 7708   9923   
path = "../aws-smithy-runtime-api"
 7709   9924   
features = ["client", "http-02x"]
 7710   9925   
version = "1.8.5"
 7711   9926   
 7712   9927   
[dependencies.aws-smithy-types]
 7713   9928   
path = "../aws-smithy-types"
 7714   9929   
version = "1.3.2"
 7715   9930   
 7716   9931   
[dependencies.aws-types]
 7717   9932   
path = "../aws-types"
 7718   9933   
version = "1.3.8"
 7719   9934   
 7720   9935   
[dependencies.bytes]
 7721   9936   
version = "1.4.0"
 7722   9937   
 7723   9938   
[dependencies.fastrand]
 7724   9939   
version = "2.0.0"
 7725   9940   
 7726   9941   
[dependencies.http]
 7727   9942   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7728   9943   
index 32a7dc9..a2c752d 100644
 7729         -
-- a/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
        9944  +
++ b/tmp-codegen-diff/aws-sdk/sdk/route53/Cargo.toml
 7730   9945   
@@ -1,61 +1,61 @@
 7731   9946   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7732   9947   
[package]
 7733   9948   
name = "aws-sdk-route53"
 7734   9949   
version = "0.0.0-local"
 7735   9950   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7736   9951   
description = "AWS SDK for Amazon Route 53"
 7737   9952   
edition = "2021"
 7738   9953   
license = "Apache-2.0"
 7739   9954   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7740   9955   
rust-version = "1.86.0"
 7741   9956   
readme = "README.md"
 7742   9957   
[package.metadata.smithy]
 7743   9958   
codegen-version = "ci"
 7744   9959   
[package.metadata.docs.rs]
 7745   9960   
all-features = true
 7746   9961   
targets = ["x86_64-unknown-linux-gnu"]
 7747   9962   
[dependencies.aws-credential-types]
 7748   9963   
path = "../aws-credential-types"
 7749   9964   
version = "1.2.4"
 7750   9965   
 7751   9966   
[dependencies.aws-runtime]
 7752   9967   
path = "../aws-runtime"
 7753   9968   
version = "1.5.9"
 7754   9969   
 7755   9970   
[dependencies.aws-smithy-async]
 7756   9971   
path = "../aws-smithy-async"
 7757   9972   
version = "1.2.5"
 7758   9973   
 7759   9974   
[dependencies.aws-smithy-http]
 7760   9975   
path = "../aws-smithy-http"
 7761         -
version = "0.62.2"
        9976  +
version = "0.62.3"
 7762   9977   
 7763   9978   
[dependencies.aws-smithy-json]
 7764   9979   
path = "../aws-smithy-json"
 7765   9980   
version = "0.61.4"
 7766   9981   
 7767   9982   
[dependencies.aws-smithy-runtime]
 7768   9983   
path = "../aws-smithy-runtime"
 7769   9984   
features = ["client"]
 7770   9985   
version = "1.8.5"
 7771   9986   
 7772   9987   
[dependencies.aws-smithy-runtime-api]
 7773   9988   
path = "../aws-smithy-runtime-api"
 7774   9989   
features = ["client", "http-02x"]
 7775   9990   
version = "1.8.5"
 7776   9991   
 7777   9992   
[dependencies.aws-smithy-types]
 7778   9993   
path = "../aws-smithy-types"
 7779   9994   
version = "1.3.2"
 7780   9995   
 7781   9996   
[dependencies.aws-smithy-xml]
 7782   9997   
path = "../aws-smithy-xml"
 7783   9998   
version = "0.60.10"
 7784   9999   
 7785  10000   
[dependencies.aws-types]
 7786  10001   
path = "../aws-types"
 7787  10002   
version = "1.3.8"
 7788  10003   
 7789  10004   
[dependencies.fastrand]
 7790  10005   
version = "2.0.0"
 7791  10006   
 7792  10007   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7793  10008   
index f65e261..2f6bec0 100644
 7794         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
       10009  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml
 7795  10010   
@@ -1,75 +1,75 @@
 7796  10011   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7797  10012   
[package]
 7798  10013   
name = "aws-sdk-s3"
 7799  10014   
version = "0.0.0-local"
 7800  10015   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7801  10016   
description = "AWS SDK for Amazon Simple Storage Service"
 7802  10017   
edition = "2021"
 7803  10018   
license = "Apache-2.0"
 7804  10019   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7805  10020   
rust-version = "1.86.0"
 7806  10021   
readme = "README.md"
 7807  10022   
[package.metadata.smithy]
 7808  10023   
codegen-version = "ci"
 7809  10024   
[package.metadata.docs.rs]
 7810  10025   
all-features = true
 7811  10026   
targets = ["x86_64-unknown-linux-gnu"]
 7812  10027   
[dependencies.aws-credential-types]
 7813  10028   
path = "../aws-credential-types"
 7814  10029   
version = "1.2.4"
 7815  10030   
 7816  10031   
[dependencies.aws-runtime]
 7817  10032   
path = "../aws-runtime"
 7818  10033   
features = ["event-stream", "http-02x"]
 7819  10034   
version = "1.5.9"
 7820  10035   
 7821  10036   
[dependencies.aws-sigv4]
 7822  10037   
path = "../aws-sigv4"
 7823         -
version = "1.3.3"
       10038  +
version = "1.3.4"
 7824  10039   
 7825  10040   
[dependencies.aws-smithy-async]
 7826  10041   
path = "../aws-smithy-async"
 7827  10042   
version = "1.2.5"
 7828  10043   
 7829  10044   
[dependencies.aws-smithy-checksums]
 7830  10045   
path = "../aws-smithy-checksums"
 7831  10046   
version = "0.63.5"
 7832  10047   
 7833  10048   
[dependencies.aws-smithy-eventstream]
 7834  10049   
path = "../aws-smithy-eventstream"
 7835  10050   
version = "0.60.10"
 7836  10051   
 7837  10052   
[dependencies.aws-smithy-http]
 7838  10053   
path = "../aws-smithy-http"
 7839  10054   
features = ["event-stream"]
 7840         -
version = "0.62.2"
       10055  +
version = "0.62.3"
 7841  10056   
 7842  10057   
[dependencies.aws-smithy-json]
 7843  10058   
path = "../aws-smithy-json"
 7844  10059   
version = "0.61.4"
 7845  10060   
 7846  10061   
[dependencies.aws-smithy-runtime]
 7847  10062   
path = "../aws-smithy-runtime"
 7848  10063   
features = ["client"]
 7849  10064   
version = "1.8.5"
 7850  10065   
 7851  10066   
[dependencies.aws-smithy-runtime-api]
 7852  10067   
path = "../aws-smithy-runtime-api"
 7853  10068   
features = ["client", "http-02x"]
 7854  10069   
version = "1.8.5"
 7855  10070   
 7856  10071   
[dependencies.aws-smithy-types]
 7857  10072   
path = "../aws-smithy-types"
 7858  10073   
version = "1.3.2"
 7859  10074   
 7860  10075   
[dependencies.aws-smithy-xml]
 7861  10076   
path = "../aws-smithy-xml"
 7862  10077   
version = "0.60.10"
 7863  10078   
 7864  10079   
[dependencies.aws-types]
 7865  10080   
path = "../aws-types"
 7866  10081   
version = "1.3.8"
 7867  10082   
 7868  10083   
[dependencies.bytes]
 7869  10084   
version = "1.4.0"
 7870  10085   
 7871  10086   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7872  10087   
index b4d1cdd..861c0cc 100644
 7873         -
-- a/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
       10088  +
++ b/tmp-codegen-diff/aws-sdk/sdk/s3control/Cargo.toml
 7874  10089   
@@ -1,61 +1,61 @@
 7875  10090   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7876  10091   
[package]
 7877  10092   
name = "aws-sdk-s3control"
 7878  10093   
version = "0.0.0-local"
 7879  10094   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7880  10095   
description = "AWS SDK for AWS S3 Control"
 7881  10096   
edition = "2021"
 7882  10097   
license = "Apache-2.0"
 7883  10098   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7884  10099   
rust-version = "1.86.0"
 7885  10100   
readme = "README.md"
 7886  10101   
[package.metadata.smithy]
 7887  10102   
codegen-version = "ci"
 7888  10103   
[package.metadata.docs.rs]
 7889  10104   
all-features = true
 7890  10105   
targets = ["x86_64-unknown-linux-gnu"]
 7891  10106   
[dependencies.aws-credential-types]
 7892  10107   
path = "../aws-credential-types"
 7893  10108   
version = "1.2.4"
 7894  10109   
 7895  10110   
[dependencies.aws-runtime]
 7896  10111   
path = "../aws-runtime"
 7897  10112   
version = "1.5.9"
 7898  10113   
 7899  10114   
[dependencies.aws-smithy-async]
 7900  10115   
path = "../aws-smithy-async"
 7901  10116   
version = "1.2.5"
 7902  10117   
 7903  10118   
[dependencies.aws-smithy-http]
 7904  10119   
path = "../aws-smithy-http"
 7905         -
version = "0.62.2"
       10120  +
version = "0.62.3"
 7906  10121   
 7907  10122   
[dependencies.aws-smithy-json]
 7908  10123   
path = "../aws-smithy-json"
 7909  10124   
version = "0.61.4"
 7910  10125   
 7911  10126   
[dependencies.aws-smithy-runtime]
 7912  10127   
path = "../aws-smithy-runtime"
 7913  10128   
features = ["client"]
 7914  10129   
version = "1.8.5"
 7915  10130   
 7916  10131   
[dependencies.aws-smithy-runtime-api]
 7917  10132   
path = "../aws-smithy-runtime-api"
 7918  10133   
features = ["client", "http-02x"]
 7919  10134   
version = "1.8.5"
 7920  10135   
 7921  10136   
[dependencies.aws-smithy-types]
 7922  10137   
path = "../aws-smithy-types"
 7923  10138   
version = "1.3.2"
 7924  10139   
 7925  10140   
[dependencies.aws-smithy-xml]
 7926  10141   
path = "../aws-smithy-xml"
 7927  10142   
version = "0.60.10"
 7928  10143   
 7929  10144   
[dependencies.aws-types]
 7930  10145   
path = "../aws-types"
 7931  10146   
version = "1.3.8"
 7932  10147   
 7933  10148   
[dependencies.fastrand]
 7934  10149   
version = "2.0.0"
 7935  10150   
 7936  10151   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7937  10152   
index 2cde182..fc367f4 100644
 7938         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
       10153  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sso/Cargo.toml
 7939  10154   
@@ -1,61 +1,61 @@
 7940  10155   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 7941  10156   
[package]
 7942  10157   
name = "aws-sdk-sso"
 7943  10158   
version = "0.0.0-local"
 7944  10159   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 7945  10160   
description = "AWS SDK for AWS Single Sign-On"
 7946  10161   
edition = "2021"
 7947  10162   
license = "Apache-2.0"
 7948  10163   
repository = "https://github.com/awslabs/aws-sdk-rust"
 7949  10164   
rust-version = "1.86.0"
 7950  10165   
readme = "README.md"
 7951  10166   
[package.metadata.smithy]
 7952  10167   
codegen-version = "ci"
 7953  10168   
[package.metadata.docs.rs]
 7954  10169   
all-features = true
 7955  10170   
targets = ["x86_64-unknown-linux-gnu"]
 7956  10171   
[dependencies.aws-credential-types]
 7957  10172   
path = "../aws-credential-types"
 7958  10173   
version = "1.2.4"
 7959  10174   
 7960  10175   
[dependencies.aws-runtime]
 7961  10176   
path = "../aws-runtime"
 7962  10177   
version = "1.5.9"
 7963  10178   
 7964  10179   
[dependencies.aws-smithy-async]
 7965  10180   
path = "../aws-smithy-async"
 7966  10181   
version = "1.2.5"
 7967  10182   
 7968  10183   
[dependencies.aws-smithy-http]
 7969  10184   
path = "../aws-smithy-http"
 7970         -
version = "0.62.2"
       10185  +
version = "0.62.3"
 7971  10186   
 7972  10187   
[dependencies.aws-smithy-json]
 7973  10188   
path = "../aws-smithy-json"
 7974  10189   
version = "0.61.4"
 7975  10190   
 7976  10191   
[dependencies.aws-smithy-runtime]
 7977  10192   
path = "../aws-smithy-runtime"
 7978  10193   
features = ["client"]
 7979  10194   
version = "1.8.5"
 7980  10195   
 7981  10196   
[dependencies.aws-smithy-runtime-api]
 7982  10197   
path = "../aws-smithy-runtime-api"
 7983  10198   
features = ["client", "http-02x"]
 7984  10199   
version = "1.8.5"
 7985  10200   
 7986  10201   
[dependencies.aws-smithy-types]
 7987  10202   
path = "../aws-smithy-types"
 7988  10203   
version = "1.3.2"
 7989  10204   
 7990  10205   
[dependencies.aws-types]
 7991  10206   
path = "../aws-types"
 7992  10207   
version = "1.3.8"
 7993  10208   
 7994  10209   
[dependencies.bytes]
 7995  10210   
version = "1.4.0"
 7996  10211   
 7997  10212   
[dependencies.fastrand]
 7998  10213   
version = "2.0.0"
 7999  10214   
 8000  10215   
[dependencies.http]
 8001  10216   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 8002  10217   
index 7a34c16..588d0bd 100644
 8003         -
-- a/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
       10218  +
++ b/tmp-codegen-diff/aws-sdk/sdk/ssooidc/Cargo.toml
 8004  10219   
@@ -1,61 +1,61 @@
 8005  10220   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8006  10221   
[package]
 8007  10222   
name = "aws-sdk-ssooidc"
 8008  10223   
version = "0.0.0-local"
 8009  10224   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8010  10225   
description = "AWS SDK for AWS SSO OIDC"
 8011  10226   
edition = "2021"
 8012  10227   
license = "Apache-2.0"
 8013  10228   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8014  10229   
rust-version = "1.86.0"
 8015  10230   
readme = "README.md"
 8016  10231   
[package.metadata.smithy]
 8017  10232   
codegen-version = "ci"
 8018  10233   
[package.metadata.docs.rs]
 8019  10234   
all-features = true
 8020  10235   
targets = ["x86_64-unknown-linux-gnu"]
 8021  10236   
[dependencies.aws-credential-types]
 8022  10237   
path = "../aws-credential-types"
 8023  10238   
version = "1.2.4"
 8024  10239   
 8025  10240   
[dependencies.aws-runtime]
 8026  10241   
path = "../aws-runtime"
 8027  10242   
version = "1.5.9"
 8028  10243   
 8029  10244   
[dependencies.aws-smithy-async]
 8030  10245   
path = "../aws-smithy-async"
 8031  10246   
version = "1.2.5"
 8032  10247   
 8033  10248   
[dependencies.aws-smithy-http]
 8034  10249   
path = "../aws-smithy-http"
 8035         -
version = "0.62.2"
       10250  +
version = "0.62.3"
 8036  10251   
 8037  10252   
[dependencies.aws-smithy-json]
 8038  10253   
path = "../aws-smithy-json"
 8039  10254   
version = "0.61.4"
 8040  10255   
 8041  10256   
[dependencies.aws-smithy-runtime]
 8042  10257   
path = "../aws-smithy-runtime"
 8043  10258   
features = ["client"]
 8044  10259   
version = "1.8.5"
 8045  10260   
 8046  10261   
[dependencies.aws-smithy-runtime-api]
 8047  10262   
path = "../aws-smithy-runtime-api"
 8048  10263   
features = ["client", "http-02x"]
 8049  10264   
version = "1.8.5"
 8050  10265   
 8051  10266   
[dependencies.aws-smithy-types]
 8052  10267   
path = "../aws-smithy-types"
 8053  10268   
version = "1.3.2"
 8054  10269   
 8055  10270   
[dependencies.aws-types]
 8056  10271   
path = "../aws-types"
 8057  10272   
version = "1.3.8"
 8058  10273   
 8059  10274   
[dependencies.bytes]
 8060  10275   
version = "1.4.0"
 8061  10276   
 8062  10277   
[dependencies.fastrand]
 8063  10278   
version = "2.0.0"
 8064  10279   
 8065  10280   
[dependencies.http]
 8066  10281   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 8067  10282   
index 895dfb3..f2ce34e 100644
 8068         -
-- a/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
       10283  +
++ b/tmp-codegen-diff/aws-sdk/sdk/sts/Cargo.toml
 8069  10284   
@@ -1,61 +1,61 @@
 8070  10285   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8071  10286   
[package]
 8072  10287   
name = "aws-sdk-sts"
 8073  10288   
version = "0.0.0-local"
 8074  10289   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8075  10290   
description = "AWS SDK for AWS Security Token Service"
 8076  10291   
edition = "2021"
 8077  10292   
license = "Apache-2.0"
 8078  10293   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8079  10294   
rust-version = "1.86.0"
 8080  10295   
readme = "README.md"
 8081  10296   
[package.metadata.smithy]
 8082  10297   
codegen-version = "ci"
 8083  10298   
[package.metadata.docs.rs]
 8084  10299   
all-features = true
 8085  10300   
targets = ["x86_64-unknown-linux-gnu"]
 8086  10301   
[dependencies.aws-credential-types]
 8087  10302   
path = "../aws-credential-types"
 8088  10303   
version = "1.2.4"
 8089  10304   
 8090  10305   
[dependencies.aws-runtime]
 8091  10306   
path = "../aws-runtime"
 8092  10307   
version = "1.5.9"
 8093  10308   
 8094  10309   
[dependencies.aws-smithy-async]
 8095  10310   
path = "../aws-smithy-async"
 8096  10311   
version = "1.2.5"
 8097  10312   
 8098  10313   
[dependencies.aws-smithy-http]
 8099  10314   
path = "../aws-smithy-http"
 8100         -
version = "0.62.2"
       10315  +
version = "0.62.3"
 8101  10316   
 8102  10317   
[dependencies.aws-smithy-json]
 8103  10318   
path = "../aws-smithy-json"
 8104  10319   
version = "0.61.4"
 8105  10320   
 8106  10321   
[dependencies.aws-smithy-query]
 8107  10322   
path = "../aws-smithy-query"
 8108  10323   
version = "0.60.7"
 8109  10324   
 8110  10325   
[dependencies.aws-smithy-runtime]
 8111  10326   
path = "../aws-smithy-runtime"
 8112  10327   
features = ["client"]
 8113  10328   
version = "1.8.5"
 8114  10329   
 8115  10330   
[dependencies.aws-smithy-runtime-api]
 8116  10331   
path = "../aws-smithy-runtime-api"
 8117  10332   
features = ["client", "http-02x"]
 8118  10333   
version = "1.8.5"
 8119  10334   
 8120  10335   
[dependencies.aws-smithy-types]
 8121  10336   
path = "../aws-smithy-types"
 8122  10337   
version = "1.3.2"
 8123  10338   
 8124  10339   
[dependencies.aws-smithy-xml]
 8125  10340   
path = "../aws-smithy-xml"
 8126  10341   
version = "0.60.10"
 8127  10342   
 8128  10343   
[dependencies.aws-types]
 8129  10344   
path = "../aws-types"
 8130  10345   
version = "1.3.8"
 8131  10346   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8132  10347   
index d556561..91178b6 100644
 8133         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
       10348  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamquery/Cargo.toml
 8134  10349   
@@ -1,61 +1,61 @@
 8135  10350   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8136  10351   
[package]
 8137  10352   
name = "aws-sdk-timestreamquery"
 8138  10353   
version = "0.0.0-local"
 8139  10354   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8140  10355   
description = "AWS SDK for Amazon Timestream Query"
 8141  10356   
edition = "2021"
 8142  10357   
license = "Apache-2.0"
 8143  10358   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8144  10359   
rust-version = "1.86.0"
 8145  10360   
readme = "README.md"
 8146  10361   
[package.metadata.smithy]
 8147  10362   
codegen-version = "ci"
 8148  10363   
[package.metadata.docs.rs]
 8149  10364   
all-features = true
 8150  10365   
targets = ["x86_64-unknown-linux-gnu"]
 8151  10366   
[dependencies.aws-credential-types]
 8152  10367   
path = "../aws-credential-types"
 8153  10368   
version = "1.2.4"
 8154  10369   
 8155  10370   
[dependencies.aws-runtime]
 8156  10371   
path = "../aws-runtime"
 8157  10372   
version = "1.5.9"
 8158  10373   
 8159  10374   
[dependencies.aws-smithy-async]
 8160  10375   
path = "../aws-smithy-async"
 8161  10376   
version = "1.2.5"
 8162  10377   
 8163  10378   
[dependencies.aws-smithy-http]
 8164  10379   
path = "../aws-smithy-http"
 8165         -
version = "0.62.2"
       10380  +
version = "0.62.3"
 8166  10381   
 8167  10382   
[dependencies.aws-smithy-json]
 8168  10383   
path = "../aws-smithy-json"
 8169  10384   
version = "0.61.4"
 8170  10385   
 8171  10386   
[dependencies.aws-smithy-runtime]
 8172  10387   
path = "../aws-smithy-runtime"
 8173  10388   
features = ["client"]
 8174  10389   
version = "1.8.5"
 8175  10390   
 8176  10391   
[dependencies.aws-smithy-runtime-api]
 8177  10392   
path = "../aws-smithy-runtime-api"
 8178  10393   
features = ["client", "http-02x"]
 8179  10394   
version = "1.8.5"
 8180  10395   
 8181  10396   
[dependencies.aws-smithy-types]
 8182  10397   
path = "../aws-smithy-types"
 8183  10398   
version = "1.3.2"
 8184  10399   
 8185  10400   
[dependencies.aws-types]
 8186  10401   
path = "../aws-types"
 8187  10402   
version = "1.3.8"
 8188  10403   
 8189  10404   
[dependencies.bytes]
 8190  10405   
version = "1.4.0"
 8191  10406   
 8192  10407   
[dependencies.fastrand]
 8193  10408   
version = "2.0.0"
 8194  10409   
 8195  10410   
[dependencies.http]
 8196  10411   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8197  10412   
index 0c56e4c..95731e3 100644
 8198         -
-- a/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
       10413  +
++ b/tmp-codegen-diff/aws-sdk/sdk/timestreamwrite/Cargo.toml
 8199  10414   
@@ -1,61 +1,61 @@
 8200  10415   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8201  10416   
[package]
 8202  10417   
name = "aws-sdk-timestreamwrite"
 8203  10418   
version = "0.0.0-local"
 8204  10419   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8205  10420   
description = "AWS SDK for Amazon Timestream Write"
 8206  10421   
edition = "2021"
 8207  10422   
license = "Apache-2.0"
 8208  10423   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8209  10424   
rust-version = "1.86.0"
 8210  10425   
readme = "README.md"
 8211  10426   
[package.metadata.smithy]
 8212  10427   
codegen-version = "ci"
 8213  10428   
[package.metadata.docs.rs]
 8214  10429   
all-features = true
 8215  10430   
targets = ["x86_64-unknown-linux-gnu"]
 8216  10431   
[dependencies.aws-credential-types]
 8217  10432   
path = "../aws-credential-types"
 8218  10433   
version = "1.2.4"
 8219  10434   
 8220  10435   
[dependencies.aws-runtime]
 8221  10436   
path = "../aws-runtime"
 8222  10437   
version = "1.5.9"
 8223  10438   
 8224  10439   
[dependencies.aws-smithy-async]
 8225  10440   
path = "../aws-smithy-async"
 8226  10441   
version = "1.2.5"
 8227  10442   
 8228  10443   
[dependencies.aws-smithy-http]
 8229  10444   
path = "../aws-smithy-http"
 8230         -
version = "0.62.2"
       10445  +
version = "0.62.3"
 8231  10446   
 8232  10447   
[dependencies.aws-smithy-json]
 8233  10448   
path = "../aws-smithy-json"
 8234  10449   
version = "0.61.4"
 8235  10450   
 8236  10451   
[dependencies.aws-smithy-runtime]
 8237  10452   
path = "../aws-smithy-runtime"
 8238  10453   
features = ["client"]
 8239  10454   
version = "1.8.5"
 8240  10455   
 8241  10456   
[dependencies.aws-smithy-runtime-api]
 8242  10457   
path = "../aws-smithy-runtime-api"
 8243  10458   
features = ["client", "http-02x"]
 8244  10459   
version = "1.8.5"
 8245  10460   
 8246  10461   
[dependencies.aws-smithy-types]
 8247  10462   
path = "../aws-smithy-types"
 8248  10463   
version = "1.3.2"
 8249  10464   
 8250  10465   
[dependencies.aws-types]
 8251  10466   
path = "../aws-types"
 8252  10467   
version = "1.3.8"
 8253  10468   
 8254  10469   
[dependencies.bytes]
 8255  10470   
version = "1.4.0"
 8256  10471   
 8257  10472   
[dependencies.fastrand]
 8258  10473   
version = "2.0.0"
 8259  10474   
 8260  10475   
[dependencies.http]
 8261  10476   
diff --git a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8262  10477   
index 5b35037..9fb220a 100644
 8263         -
-- a/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
       10478  +
++ b/tmp-codegen-diff/aws-sdk/sdk/transcribestreaming/Cargo.toml
 8264  10479   
@@ -1,71 +1,71 @@
 8265  10480   
# Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
 8266  10481   
[package]
 8267  10482   
name = "aws-sdk-transcribestreaming"
 8268  10483   
version = "0.0.0-local"
 8269  10484   
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>", "Russell Cohen <rcoh@amazon.com>"]
 8270  10485   
description = "AWS SDK for Amazon Transcribe Streaming Service"
 8271  10486   
edition = "2021"
 8272  10487   
license = "Apache-2.0"
 8273  10488   
repository = "https://github.com/awslabs/aws-sdk-rust"
 8274  10489   
rust-version = "1.86.0"
 8275  10490   
readme = "README.md"
 8276  10491   
[package.metadata.smithy]
 8277  10492   
codegen-version = "ci"
 8278  10493   
[package.metadata.docs.rs]
 8279  10494   
all-features = true
 8280  10495   
targets = ["x86_64-unknown-linux-gnu"]
 8281  10496   
[dependencies.aws-credential-types]
 8282  10497   
path = "../aws-credential-types"
 8283  10498   
version = "1.2.4"
 8284  10499   
 8285  10500   
[dependencies.aws-runtime]
 8286  10501   
path = "../aws-runtime"
 8287  10502   
features = ["event-stream"]
 8288  10503   
version = "1.5.9"
 8289  10504   
 8290  10505   
[dependencies.aws-sigv4]
 8291  10506   
path = "../aws-sigv4"
 8292         -
version = "1.3.3"
       10507  +
version = "1.3.4"
 8293  10508   
 8294  10509   
[dependencies.aws-smithy-async]
 8295  10510   
path = "../aws-smithy-async"
 8296  10511   
version = "1.2.5"
 8297  10512   
 8298  10513   
[dependencies.aws-smithy-eventstream]
 8299  10514   
path = "../aws-smithy-eventstream"
 8300  10515   
version = "0.60.10"
 8301  10516   
 8302  10517   
[dependencies.aws-smithy-http]
 8303  10518   
path = "../aws-smithy-http"
 8304  10519   
features = ["event-stream"]
 8305         -
version = "0.62.2"
       10520  +
version = "0.62.3"
 8306  10521   
 8307  10522   
[dependencies.aws-smithy-json]
 8308  10523   
path = "../aws-smithy-json"
 8309  10524   
version = "0.61.4"
 8310  10525   
 8311  10526   
[dependencies.aws-smithy-runtime]
 8312  10527   
path = "../aws-smithy-runtime"
 8313  10528   
features = ["client"]
 8314  10529   
version = "1.8.5"
 8315  10530